<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Sebastian,</p>
<p>Hagfish is a custom loader for the Barrelfish CPU driver, which
operates under a few unusual assumptions: Mainly, the CPU driver
(kernel) itself is not self-relocating, but relies on the
bootloader (Hagfish) to do the relocation for it.</p>
<p>It would definitely be possible to modify Hagfish to load an
arbitrary ELF, however. You'd have to make a few changes in the
relocation code to not look for Barrelfish-specific segments and
so on, but there's nothing particularly weird or non-standard
about it.</p>
<p>Hagfish is pretty static, and doesn't change much from version to
version. We'll update the repository shortly (which we should
have done together with the release). Feel free to ask more
specific questions if you decide to use it - we're happy to help.</p>
<p>David<br>
</p>
<div class="moz-cite-prefix">On 27/1/21 5:41 pm,
<a class="moz-txt-link-abbreviated" href="mailto:sebastian.scherbel@fau.de">sebastian.scherbel@fau.de</a> wrote:<br>
</div>
<blockquote type="cite"
cite="mid:434427554.858856.1611765678982@mail.yahoo.com">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<div class="yahoo-style-wrap" style="font-family:Helvetica Neue,
Helvetica, Arial, sans-serif;font-size:13px;">
<div dir="ltr" data-setdir="false">Hello,</div>
<div dir="ltr" data-setdir="false"><br>
</div>
<div dir="ltr" data-setdir="false">I'm a CS student trying to
port an research operating system from x86_64 to ARMv8 and
stumbled across Hagfish.</div>
<div dir="ltr" data-setdir="false"><br>
</div>
<div dir="ltr" data-setdir="false"><span><span>Hagfish should
basically be able to load any ELF with its sections into
memory with minor modifications? <span>Or is there
certain requirement for the kernel image structure that
I didn't notice while</span><span> reading your
publication [1] and skimming the source code?</span></span></span><br>
</div>
<div dir="ltr" data-setdir="false"><br>
</div>
<div dir="ltr" data-setdir="false"><span>The last commit in the
public repository is from March 2017. But in the changelog
of your last Barrelfish release from 2020 states "Update
Hagfish to latest version". Have there been any bigger
changes or improvements in the meantime?</span></div>
<div dir="ltr" data-setdir="false"><br>
</div>
<div dir="ltr" data-setdir="false">Regards Sebastian</div>
<div dir="ltr" data-setdir="false"><br>
</div>
<div dir="ltr" data-setdir="false">[0] <a
href="https://lists.inf.ethz.ch/pipermail/barrelfish-users/2020-March/001597.html"
rel="nofollow" target="_blank" moz-do-not-send="true">https://lists.inf.ethz.ch/pipermail/barrelfish-users/2020-March/001597.html</a></div>
<div dir="ltr" data-setdir="false">[1] <a
href="http://www.barrelfish.org/publications/TN-022-ARMv8.pdf"
rel="nofollow" target="_blank" moz-do-not-send="true">http://www.barrelfish.org/publications/TN-022-ARMv8.pdf</a></div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
Barrelfish-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Barrelfish-users@lists.inf.ethz.ch">Barrelfish-users@lists.inf.ethz.ch</a>
<a class="moz-txt-link-freetext" href="https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a>
</pre>
</blockquote>
</body>
</html>