<html><head></head><body><div class="ydp3b64b5e7yahoo-style-wrap" style="font-family: Helvetica Neue, Helvetica, Arial, sans-serif; font-size: 13px;"><div></div>
<div dir="ltr" data-setdir="false">Hi, <br></div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">the problem is in <span>update_memory_map_and_exit_boot_services(). <span>The UEFI specification advises "<span>If MapKey value is incorrect, ExitBootServices() returns EFI_INVALID_PARAMETER and GetMemoryMap() with ExitBootServices() must be called again."</span></span></span></div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false"><span>Attached is a patch in case anyone wants to use Hagfish on a similar system like the HPE Apollo 70 with <span><span>American Megatrends </span></span><span>Aptio V UEFI</span> in the future.</span><br></div><div dir="ltr" data-setdir="false"><br><span><span><span></span></span></span><span></span></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://uefi.org/sites/default/files/resources/UEFI_Spec_2_9_2021_03_18.pdf" rel="nofollow" target="_blank">https://uefi.org/sites/default/files/resources/UEFI_Spec_2_9_2021_03_18.pdf</a> (page 300)<br></div><div dir="ltr" data-setdir="false">[1] <a href="https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=202455" rel="nofollow" target="_blank">https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=202455</a> <br></div><div dir="ltr" data-setdir="false"><br></div>
</div><div id="yahoo_quoted_9032934762" class="yahoo_quoted">
<div style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;color:#26282a;">
<div>
Am Donnerstag, 15. April 2021, 19:28:15 MESZ hat David Cock <david.cock@inf.ethz.ch> Folgendes geschrieben:
</div>
<div><br></div>
<div><br></div>
<div><div id="yiv9539956646">
<div>
<p>I don't see anything that should cause a problem if you increase
the value. Did you do a clean build after changing it? I don't
quite trust the UEFI build system. What size did you set it to?</p>
<p>David<br>
</p>
<div class="yiv9539956646moz-cite-prefix">On 15/4/21 7:20 pm, David Cock wrote:<br>
</div>
<blockquote type="cite">
<p>That's a bit odd. It ought to be as simple as increasing the
size of the table - I don't think there's anything fundamental
about it. I'm pretty sure I just wanted to avoid dynamic
allocation at that point in the code. Let me have a look at it.</p>
<p>David<br>
</p>
<div class="yiv9539956646moz-cite-prefix">On 15/4/21 6:08 pm, <a rel="nofollow noopener noreferrer" class="yiv9539956646moz-txt-link-abbreviated" ymailto="mailto:sebastian.scherbel@fau.de" target="_blank" href="mailto:sebastian.scherbel@fau.de">sebastian.scherbel@fau.de</a>
wrote:<br>
</div>
<blockquote type="cite">
<div class="yiv9539956646ydpf69b7d93yahoo-style-wrap" style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:13px;">
<div dir="ltr">Hi, <br>
</div>
<div><br>
</div>
<div dir="ltr">><span>The memory map is
<span>17952B</span>, but MEM_MAP_SIZE is 8192.</span></div>
<div dir="ltr">> <span>This is
compile-time limit in Hagfish - please report <span>this
overflow, it's a bug.</span></span></div>
<div dir="ltr"><br>
</div>
<div dir="ltr">
<div dir="ltr"><span>I have stumbled
across a limitation in Hagfish. 8192B is not enough on a
HPE Apollo 70 with 256 cores and 256 GB RAM and 374
entries of 48B each. <span><span>I tried to just
increase the value, but now I crash somewhere
between exiting the UEFI boot services and jumping
to my ELFs entrypoint. <span>Without any output.</span><br>
</span></span></span></div>
<div dir="ltr"><br>
</div>
<div dir="ltr">
<div dir="ltr"><span>Do you happen to
have an educated guess what the problem could possibly
be? <span>I don't have a hardware debugger,
unfortunately, which makes it somewhat challenging.
And limits me to printk debugging.<br>
</span></span></div>
<div dir="ltr"><br>
<span><span></span></span><span><span><span></span></span></span><span><span></span></span></div>
</div>
</div>
<div dir="ltr">
<div>>We'd be happy to integrate a patch if you wanted to
modify it.</div>
<div dir="ltr"> <span>I'll do that
after i have finished my project.</span><br>
</div>
<div><br>
</div>
<div dir="ltr">Regards Sebastian<br>
</div>
</div>
<div dir="ltr"><br>
</div>
<div><br>
</div>
</div>
<div id="yiv9539956646yahoo_quoted_8716136585" class="yiv9539956646yahoo_quoted">
<div style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;color:#26282a;">
<div> Am Freitag, 12. März 2021, 12:08:39 MEZ hat David Cock
<a rel="nofollow noopener noreferrer" class="yiv9539956646moz-txt-link-rfc2396E" ymailto="mailto:david.cock@inf.ethz.ch" target="_blank" href="mailto:david.cock@inf.ethz.ch"><david.cock@inf.ethz.ch></a>
Folgendes geschrieben: </div>
<div><br>
</div>
<div><br>
</div>
<div>
<div id="yiv9539956646">
<div>
<p>Sebastian</p>
<p>It looks like what's going on is as Daniel
described. Hagfish seems to use an API call
(get_file_size) that's supported by EDK2, but not by
many commercial offerings. I think it'd almost
certainly be possible to update Hagfish such that it
doesn't depend on it - something like preallocating
a "reasonably-sized" buffer, and if it turns out it
wasn't big enough trying again with a larger one.
It's been a few years since I wrote this stuff, but
I think you'll get back an EFI_BUFFER_TOO_SMALL if
it was too small, and *BufferSize will be filled
with the actual size so that you can reallocate the
buffer. We'd be happy to integrate a patch if you
wanted to modify it.</p>
<p>David<br clear="none">
</p>
<div class="yiv9539956646yqt7245431320" id="yiv9539956646yqt49098">
<div class="yiv9539956646moz-cite-prefix">On 11/3/21
2:19 pm, Schwyn Daniel wrote:<br clear="none">
</div>
<blockquote type="cite"> </blockquote>
</div>
</div>
<div class="yiv9539956646yqt7245431320" id="yiv9539956646yqt68157">
<style>#yiv9539956646 filtered {}#yiv9539956646 filtered {}#yiv9539956646 filtered {}#yiv9539956646 filtered {}#yiv9539956646 p.yiv9539956646MsoNormal, #yiv9539956646 li.yiv9539956646MsoNormal, #yiv9539956646 div.yiv9539956646MsoNormal
{margin:0cm;font-size:11.0pt;font-family:sans-serif;}#yiv9539956646 a:link, #yiv9539956646 span.yiv9539956646MsoHyperlink
{color:blue;text-decoration:underline;}#yiv9539956646 p.yiv9539956646msonormal, #yiv9539956646 li.yiv9539956646msonormal, #yiv9539956646 div.yiv9539956646msonormal
{margin-right:0cm;margin-left:0cm;font-size:11.0pt;font-family:sans-serif;}#yiv9539956646 p.yiv9539956646msonormal1, #yiv9539956646 li.yiv9539956646msonormal1, #yiv9539956646 div.yiv9539956646msonormal1
{margin:0cm;font-size:11.0pt;font-family:sans-serif;}#yiv9539956646 span.yiv9539956646E-MailFormatvorlage33
{font-family:sans-serif;color:windowtext;}#yiv9539956646 .yiv9539956646MsoChpDefault
{font-size:10.0pt;}#yiv9539956646 div.yiv9539956646WordSection1
{}</style>
<div>
<div class="yiv9539956646WordSection1">
<p class="yiv9539956646MsoNormal"><span style="">Hi
Sebastian,</span></p>
<p class="yiv9539956646MsoNormal"><span style="">
</span></p>
<p class="yiv9539956646MsoNormal"><span style="" lang="EN-US">David and I are both part of the
Barrelfish core team at ETH so our setup is
the same</span><span style="font-family:UI sans-serif;" lang="EN-US">😉</span><span style="" lang="EN-US"> We do load Hagfish over
PXE but as far as I know always directly with
the PXE implementation in EDK2. Hagfish is
theoretically designed to be flexible and
cover as many EFI based boot environments as
possible. In practice it’s only tested on the
machines we have. Those are EDK2 based and the
PXE implementation in there supports the two
MTFTP opcodes we use. It should be possible to
either implement support in iPXE or make
Hagfish not use the get_file_size e.g. by
allocating a large enough buffer and make sure
the read_file doesn’t overflow it.</span></p>
<p class="yiv9539956646MsoNormal"><span style="" lang="EN-US"> </span></p>
<p class="yiv9539956646MsoNormal"><span style="" lang="EN-US">Regards,</span></p>
<p class="yiv9539956646MsoNormal"><span style="" lang="EN-US">Daniel</span></p>
<p class="yiv9539956646MsoNormal"><span style="" lang="EN-US"> </span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm;">
<p class="yiv9539956646MsoNormal"><b><span lang="DE">Von:</span></b><span lang="DE">
<a rel="nofollow noopener noreferrer" shape="rect" class="yiv9539956646moz-txt-link-abbreviated" ymailto="mailto:sebastian.scherbel@fau.de" target="_blank" href="mailto:sebastian.scherbel@fau.de">sebastian.scherbel@fau.de</a>
<a rel="nofollow noopener noreferrer" shape="rect" class="yiv9539956646moz-txt-link-rfc2396E" ymailto="mailto:sebastian.scherbel@fau.de" target="_blank" href="mailto:sebastian.scherbel@fau.de"><sebastian.scherbel@fau.de></a>
<br clear="none">
<b>Gesendet:</b> Mittwoch, 10. März 2021
16:38<br clear="none">
<b>An:</b> Schwyn Daniel <a rel="nofollow noopener noreferrer" shape="rect" class="yiv9539956646moz-txt-link-rfc2396E" ymailto="mailto:daniel.schwyn@inf.ethz.ch" target="_blank" href="mailto:daniel.schwyn@inf.ethz.ch"><daniel.schwyn@inf.ethz.ch></a><br clear="none">
<b>Cc:</b> <a rel="nofollow noopener noreferrer" shape="rect" class="yiv9539956646moz-txt-link-abbreviated" ymailto="mailto:barrelfish-users@lists.inf.ethz.ch" target="_blank" href="mailto:barrelfish-users@lists.inf.ethz.ch">barrelfish-users@lists.inf.ethz.ch</a><br clear="none">
<b>Betreff:</b> Re: AW: [Barrelfish-users]
[Barrelfish] Hagfish kernel image
structure and latest version</span></p>
</div>
</div>
<p class="yiv9539956646MsoNormal"> </p>
<div>
<div id="yiv9539956646ydp299dcbf2yiv8742540900">
<div>
<div>
<div>
<p class="yiv9539956646MsoNormal"><span style="font-size:10.0pt;font-family:sans-serif;">Hi Daniel,</span></p>
<div>
<p class="yiv9539956646MsoNormal"><span style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div>
<p class="yiv9539956646MsoNormal"><span style="font-size:10.0pt;font-family:sans-serif;">thank you for your
reply. That's what I already
suspected.</span></p>
</div>
<div>
<p class="yiv9539956646MsoNormal"><span style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div>
<p class="yiv9539956646MsoNormal"><span style="font-size:10.0pt;font-family:sans-serif;">I'm waiting to hear
back from David about his setup.
He seemed quite sure that
chainloading works, so I was a bit
surprised that neither iPXE nor
Grub did work for me on EDK2. </span></p>
</div>
<div>
<p class="yiv9539956646MsoNormal"><span style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div>
<p class="yiv9539956646MsoNormal"><span style="font-size:10.0pt;font-family:sans-serif;">Otherwise, I'll fix
iPXE myself. </span></p>
</div>
<div>
<p class="yiv9539956646MsoNormal"><span style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div>
<p class="yiv9539956646MsoNormal"><span style="font-size:10.0pt;font-family:sans-serif;">Regards Sebastian</span></p>
</div>
</div>
<div>
<p class="yiv9539956646MsoNormal"><span style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div id="yiv9539956646ydp299dcbf2yiv8742540900yahoo_quoted_5616699740">
<div>
<div>
<p class="yiv9539956646MsoNormal"><span style="font-size:10.0pt;font-family:sans-serif;color:#26282A;">Am
Mittwoch, 10. März 2021,
10:59:48 MEZ hat Schwyn Daniel
<<a rel="nofollow noopener noreferrer" shape="rect" ymailto="mailto:daniel.schwyn@inf.ethz.ch" target="_blank" href="mailto:daniel.schwyn@inf.ethz.ch">daniel.schwyn@inf.ethz.ch</a>>
Folgendes geschrieben: </span></p>
</div>
<div>
<p class="yiv9539956646MsoNormal"><span style="font-size:10.0pt;font-family:sans-serif;color:#26282A;"> </span></p>
</div>
<div>
<p class="yiv9539956646MsoNormal"><span style="font-size:10.0pt;font-family:sans-serif;color:#26282A;"> </span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="yiv9539956646yqt62089">
<div>
<div id="yiv9539956646">
<div>
<div>
<p class="yiv9539956646msonormal">Hi
Sebastian,</p>
<p class="yiv9539956646msonormal"> </p>
<p class="yiv9539956646msonormal"><span lang="EN-US">I have seen this error
before with iPXE when I tried
chainloading Hagfish with iPXE on
top of U-Boot with EFI support.
U-Boot’s EFI support is rather
minimalistic so I’m not sure the
cause was the same in my case.
Looking at the iPXE source code
though it looks to me as if it only
supports the
EFI_PXE_BASE_CODE_MTFTP_READ_FILE
opcode while Hagfish also needs the
EFI_PXE_BASE_CODE_MTFTP_GET_FILE_SIZE operation to allocate
appropriately sized buffers for the
files it wants to load.</span></p>
<p class="yiv9539956646msonormal"><span lang="EN-US"> </span></p>
<p class="yiv9539956646msonormal"><span lang="EN-US">Regards,</span></p>
<p class="yiv9539956646msonormal"><span lang="EN-US">Daniel</span></p>
<p class="yiv9539956646msonormal"><span lang="EN-US"> </span></p>
<div id="yiv9539956646yqt96683">
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm;">
<p class="yiv9539956646msonormal"><b><span lang="DE">Von:</span></b><span lang="DE"> Barrelfish-users
<<a rel="nofollow noopener noreferrer" shape="rect" ymailto="mailto:barrelfish-users-bounces@lists.inf.ethz.ch" target="_blank" href="mailto:barrelfish-users-bounces@lists.inf.ethz.ch">barrelfish-users-bounces@lists.inf.ethz.ch</a>>
<b>Im Auftrag von </b><a rel="nofollow noopener noreferrer" shape="rect" ymailto="mailto:sebastian.scherbel@fau.de" target="_blank" href="mailto:sebastian.scherbel@fau.de">sebastian.scherbel@fau.de</a><br clear="none">
<b>Gesendet:</b> Dienstag, 2.
März 2021 22:56<br clear="none">
<b>An:</b> Cock David <<a rel="nofollow noopener noreferrer" shape="rect" ymailto="mailto:david.cock@inf.ethz.ch" target="_blank" href="mailto:david.cock@inf.ethz.ch">david.cock@inf.ethz.ch</a>><br clear="none">
<b>Cc:</b> <a rel="nofollow noopener noreferrer" shape="rect" ymailto="mailto:barrelfish-users@lists.inf.ethz.ch" target="_blank" href="mailto:barrelfish-users@lists.inf.ethz.ch">barrelfish-users@lists.inf.ethz.ch</a><br clear="none">
<b>Betreff:</b> Re:
[Barrelfish-users]
[Barrelfish] Hagfish kernel
image structure and latest
version</span></p>
</div>
</div>
<p class="yiv9539956646msonormal"> </p>
<div>
<div>
<div>
<div>
<p class="yiv9539956646msonormal"><span style="font-size:10.0pt;font-family:sans-serif;">Hello,</span></p>
</div>
<div>
<p class="yiv9539956646msonormal"><span style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div>
<p class="yiv9539956646msonormal"><span style="font-size:10.0pt;font-family:sans-serif;">>Hagfish definitely
supports chainloading over
PXE - that's exactly what
it was designed for.</span></p>
</div>
<div>
<p class="yiv9539956646msonormal"><span style="font-size:10.0pt;font-family:sans-serif;">Which bootloaders have
you tested? What does your
setup look like?</span></p>
</div>
<div>
<p class="yiv9539956646msonormal"><span style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div>
<p class="yiv9539956646msonormal"><span style="font-size:10.0pt;font-family:sans-serif;">I have tried:</span></p>
</div>
<div>
<p class="yiv9539956646msonormal"><span style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div>
<p class="yiv9539956646msonormal"><span style="font-size:10.0pt;font-family:sans-serif;">EDK2 -> iPXE ->
Hagfish</span></p>
</div>
<div>
<p class="yiv9539956646msonormal"><span style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div>
<p class="yiv9539956646msonormal"><i><span style="font-size:10.0pt;font-family:sans-serif;">iPXE> chain
tftp://x.x.x.x/Hagfish_ETHZ.efi</span></i></p>
</div>
<div>
<p class="yiv9539956646msonormal"><i><span style="font-size:10.0pt;font-family:sans-serif;">...<br clear="none">
Hagfish UEFI loader
starting<br clear="none">
UEFI vendor: EDK II<br clear="none">
Hagfish loaded at
402D9000, size 147456B,
by handle 41839B98<br clear="none">
Could not connect to
shell or not enough
parameters, assuming PXE
boot.<br clear="none">
Connecting to the PXE
service that loaded me.<br clear="none">
PXE loader at 403ED660,
revision 10000, running<br clear="none">
Loading
"hagfish.cfg.10.0.0.10"<br clear="none">
<b>Mtftp: Unsupported, <br clear="none">
file size: Unsupported</b></span></i></p>
</div>
<div>
<p class="yiv9539956646msonormal"><span style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div>
<p class="yiv9539956646msonormal"><span style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div>
<p class="yiv9539956646msonormal"><span style="font-size:10.0pt;font-family:sans-serif;">EDK2 -> Grub2 ->
Hagfish</span></p>
</div>
<div>
<p class="yiv9539956646msonormal"><span style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div>
<p class="yiv9539956646msonormal"><i><span style="font-size:10.0pt;font-family:sans-serif;">grub> boot<br clear="none">
Status: 0x0000000E<br clear="none">
Failed to initialize
ShellLib, aborting.<br clear="none">
Hagfish UEFI loader
starting<br clear="none">
UEFI vendor: EDK II<br clear="none">
Hagfish loaded at
402DA000, size 147456B,
by handle 41862A18<br clear="none">
Could not connect to
shell or not enough
parameters, assuming PXE
boot.<br clear="none">
Connecting to the PXE
service that loaded me.<br clear="none">
<b>OpenProtocol:
Unsupported<br clear="none">
Failed to initialize
loader: Load Error</b></span></i></p>
</div>
<div>
<p class="yiv9539956646msonormal"><span style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div>
<p class="yiv9539956646msonormal"><span style="font-size:10.0pt;font-family:sans-serif;">> The error there
seems to be the UEFI
implementation not
supporting TFTP - did you
compile it in?</span></p>
</div>
<p class="yiv9539956646msonormal"><span style="font-size:10.0pt;font-family:sans-serif;">When I load Hagfish
directly, everything works
fine. On American
Megatrends Aptio V and EDK2.</span></p>
</div>
<div>
<p class="yiv9539956646msonormal"><span style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
</div>
<div>
<p class="yiv9539956646msonormal"><span style="font-size:10.0pt;font-family:sans-serif;">Regards Sebastian</span></p>
</div>
</div>
<div>
<p class="yiv9539956646msonormal"><span style="font-size:10.0pt;font-family:sans-serif;color:#26282A;">Am
Donnerstag, 28. Januar 2021,
16:36:02 MEZ hat David Cock <<a rel="nofollow noopener noreferrer" shape="rect" ymailto="mailto:david.cock@inf.ethz.ch" target="_blank" href="mailto:david.cock@inf.ethz.ch">david.cock@inf.ethz.ch</a>>
Folgendes geschrieben: </span></p>
</div>
<div>
<p class="yiv9539956646msonormal"><span style="font-size:10.0pt;font-family:sans-serif;color:#26282A;"> </span></p>
</div>
<div>
<p class="yiv9539956646msonormal"><span style="font-size:10.0pt;font-family:sans-serif;color:#26282A;"> </span></p>
</div>
<div id="yiv9539956646">
<div>
<p><span style="font-size:10.0pt;font-family:sans-serif;color:#26282A;">What
you're seeing there is Hagfish
trying to load its
configuration file over TFTP
as it's figured out that it
was itself loaded over PXE.
The README might be
inconsistent wrt filenames -
if in doubt, trust the code.
Hagfish definitely supports
chainloading over PXE - that's
exactly what it was designed
for.</span></p>
<p><span style="font-size:10.0pt;font-family:sans-serif;color:#26282A;">The
error there seems to be the
UEFI implementation not
supporting TFTP - did you
compile it in?</span></p>
<p><span style="font-size:10.0pt;font-family:sans-serif;color:#26282A;">David</span></p>
<div id="yiv9539956646yqtfd48517">
<div>
<p class="yiv9539956646msonormal1"><span style="font-size:10.0pt;color:#26282A;">On 28/1/21 3:53 pm, <a rel="nofollow noopener noreferrer" shape="rect" ymailto="mailto:sebastian.scherbel@fau.de" target="_blank" href="mailto:sebastian.scherbel@fau.de">sebastian.scherbel@fau.de</a>
wrote:</span></p>
</div>
</div>
</div>
<div id="yiv9539956646yqtfd10124">
<div>
<div>
<div>
<div>
<div>
<p class="yiv9539956646msonormal1"><span style="font-size:10.0pt;color:#26282A;">Hello,</span></p>
</div>
<div>
<p class="yiv9539956646msonormal1"><span style="font-size:10.0pt;color:#26282A;"> </span></p>
</div>
<div>
<p class="yiv9539956646msonormal1"><span style="font-size:10.0pt;color:#26282A;">sounds good. I have tried to
chainload Hagfish
after iPXE. However,
loading of the cfg
fails on QEMU and on
the real hardware
with the same error.</span></p>
</div>
<div>
<p class="yiv9539956646msonormal1"><span style="font-size:10.0pt;color:#26282A;"> </span></p>
</div>
<div>
<div>
<p class="yiv9539956646msonormal1"><i><span style="font-size:10.0pt;color:#26282A;">Hagfish UEFI loader starting<br clear="none">
UEFI vendor:
American
Megatrends<br clear="none">
Hagfish loaded
at F951D000,
size 143360B, by
handle F6EA1D18<br clear="none">
Could not
connect to shell
or not enough
parameters,
assuming PXE
boot.<br clear="none">
Connecting to
the PXE service
that loaded me.<br clear="none">
PXE loader at
F5EE1840,
revision 10000,
running<br clear="none">
Loading
"hagfish.cfg.A.B.C.D"<b>
(shouldn't the
cfg name be
hafish.A.B.C.D.cfg
according to
the readme?)</b><br clear="none">
<b>Mtftp:
Unsupported, </b></span></i></p>
<div>
<p class="yiv9539956646msonormal1"><b><i><span style="font-size:10.0pt;color:#26282A;">file size: Unsupported</span></i></b></p>
</div>
<div>
<p class="yiv9539956646msonormal1"><span style="font-size:10.0pt;color:#26282A;"> </span></p>
</div>
<div>
<div>
<p class="yiv9539956646msonormal1"><span style="font-size:10.0pt;color:#26282A;">Is this a known bug? Is
chainloading
unsupported?
Your setup is
directly
booting into
Hagfish?</span></p>
</div>
</div>
</div>
</div>
<div>
<p class="yiv9539956646msonormal1"><span style="font-size:10.0pt;color:#26282A;"> </span></p>
</div>
<p class="yiv9539956646msonormal1"><span style="font-size:10.0pt;color:#26282A;">Regards Sebastian </span></p>
</div>
<div>
<p class="yiv9539956646msonormal1"><span style="font-size:10.0pt;color:#26282A;"> </span></p>
</div>
</div>
</div>
<div id="yiv9539956646yahoo_quoted_2497327118">
<div>
<div>
<p class="yiv9539956646msonormal1"><span style="font-size:10.0pt;color:#26282A;">Am Donnerstag, 28. Januar 2021,
14:03:36 MEZ hat David
Cock <a rel="nofollow noopener noreferrer" shape="rect" ymailto="mailto:david.cock@inf.ethz.ch" target="_blank" href="mailto:david.cock@inf.ethz.ch"><david.cock@inf.ethz.ch></a> Folgendes
geschrieben: </span></p>
</div>
<div>
<p class="yiv9539956646msonormal1"><span style="font-size:10.0pt;color:#26282A;"> </span></p>
</div>
<div>
<p class="yiv9539956646msonormal1"><span style="font-size:10.0pt;color:#26282A;"> </span></p>
</div>
<div>
<div id="yiv9539956646">
<div>
<p><span style="font-size:10.0pt;font-family:sans-serif;color:#26282A;">Sebastian,</span></p>
<p><span style="font-size:10.0pt;font-family:sans-serif;color:#26282A;">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.</span></p>
<p><span style="font-size:10.0pt;font-family:sans-serif;color:#26282A;">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.</span></p>
<p><span style="font-size:10.0pt;font-family:sans-serif;color:#26282A;">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.</span></p>
<p><span style="font-size:10.0pt;font-family:sans-serif;color:#26282A;">David</span></p>
<div id="yiv9539956646yqt90781">
<div>
<p class="yiv9539956646msonormal1"><span style="font-size:10.0pt;color:#26282A;">On 27/1/21 5:41 pm, <a rel="nofollow noopener noreferrer" shape="rect" ymailto="mailto:sebastian.scherbel@fau.de" target="_blank" href="mailto:sebastian.scherbel@fau.de">sebastian.scherbel@fau.de</a>
wrote:</span></p>
</div>
</div>
</div>
<div id="yiv9539956646yqt19324">
<div>
<div>
<div>
<p class="yiv9539956646msonormal1"><span style="font-size:10.0pt;color:#26282A;">Hello,</span></p>
</div>
<div>
<p class="yiv9539956646msonormal1"><span style="font-size:10.0pt;color:#26282A;"> </span></p>
</div>
<div>
<p class="yiv9539956646msonormal1"><span style="font-size:10.0pt;color:#26282A;">I'm a CS student trying to port
an research
operating
system from
x86_64 to
ARMv8 and
stumbled
across
Hagfish.</span></p>
</div>
<div>
<p class="yiv9539956646msonormal1"><span style="font-size:10.0pt;color:#26282A;"> </span></p>
</div>
<div>
<p class="yiv9539956646msonormal1"><span style="font-size:10.0pt;color:#26282A;">Hagfish should basically be able
to load any
ELF with its
sections into
memory with
minor
modifications?
Or is there
certain
requirement
for the kernel
image
structure that
I didn't
notice while
reading your
publication
[1] and
skimming the
source code?</span></p>
</div>
<div>
<p class="yiv9539956646msonormal1"><span style="font-size:10.0pt;color:#26282A;"> </span></p>
</div>
<div>
<p class="yiv9539956646msonormal1"><span style="font-size:10.0pt;color:#26282A;">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></p>
</div>
<div>
<p class="yiv9539956646msonormal1"><span style="font-size:10.0pt;color:#26282A;"> </span></p>
</div>
<div>
<p class="yiv9539956646msonormal1"><span style="font-size:10.0pt;color:#26282A;">Regards Sebastian</span></p>
</div>
<div>
<p class="yiv9539956646msonormal1"><span style="font-size:10.0pt;color:#26282A;"> </span></p>
</div>
<div>
<p class="yiv9539956646msonormal1"><span style="font-size:10.0pt;color:#26282A;">[0] <a rel="nofollow noopener noreferrer" shape="rect" target="_blank" href="https://lists.inf.ethz.ch/pipermail/barrelfish-users/2020-March/001597.html">
https://lists.inf.ethz.ch/pipermail/barrelfish-users/2020-March/001597.html</a></span></p>
</div>
<div>
<p class="yiv9539956646msonormal1"><span style="font-size:10.0pt;color:#26282A;">[1] <a rel="nofollow noopener noreferrer" shape="rect" target="_blank" href="http://www.barrelfish.org/publications/TN-022-ARMv8.pdf">
http://www.barrelfish.org/publications/TN-022-ARMv8.pdf</a></span></p>
</div>
</div>
<p class="yiv9539956646msonormal1" style="margin-bottom:12.0pt;"> </p>
<p class="yiv9539956646MsoNormal"><span style="font-size:10.0pt;color:#26282A;">_______________________________________________</span><span style="font-size:10.0pt;"></span></p>
<p class="yiv9539956646MsoNormal"><span style="font-size:10.0pt;color:#26282A;">Barrelfish-users mailing list</span><span style="font-size:10.0pt;"></span></p>
<p class="yiv9539956646MsoNormal"><span style="font-size:10.0pt;color:#26282A;"><a rel="nofollow noopener noreferrer" shape="rect" ymailto="mailto:Barrelfish-users@lists.inf.ethz.ch" target="_blank" href="mailto:Barrelfish-users@lists.inf.ethz.ch">Barrelfish-users@lists.inf.ethz.ch</a></span><span style="font-size:10.0pt;"></span></p>
<p class="yiv9539956646MsoNormal"><span style="font-size:10.0pt;color:#26282A;"><a rel="nofollow noopener noreferrer" shape="rect" target="_blank" href="https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a></span><span style="font-size:10.0pt;"></span></p>
</div>
</div>
</div>
<div id="yiv9539956646yqt99156">
<p class="yiv9539956646msonormal1"><span style="font-size:10.0pt;color:#26282A;">_______________________________________________<br clear="none">
Barrelfish-users
mailing list<br clear="none">
<a rel="nofollow noopener noreferrer" shape="rect" ymailto="mailto:Barrelfish-users@lists.inf.ethz.ch" target="_blank" href="mailto:Barrelfish-users@lists.inf.ethz.ch">Barrelfish-users@lists.inf.ethz.ch</a><br clear="none">
<a rel="nofollow noopener noreferrer" shape="rect" target="_blank" href="https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a></span></p>
</div>
</div>
</div>
</div>
<p class="yiv9539956646msonormal1" style="margin-bottom:12.0pt;">
</p>
<p class="yiv9539956646MsoNormal"><span style="font-size:10.0pt;color:#26282A;">_______________________________________________</span><span style="font-size:10.0pt;"></span></p>
<p class="yiv9539956646MsoNormal"><span style="font-size:10.0pt;color:#26282A;">Barrelfish-users mailing list</span><span style="font-size:10.0pt;"></span></p>
<p class="yiv9539956646MsoNormal"><span style="font-size:10.0pt;color:#26282A;"><a rel="nofollow noopener noreferrer" shape="rect" ymailto="mailto:Barrelfish-users@lists.inf.ethz.ch" target="_blank" href="mailto:Barrelfish-users@lists.inf.ethz.ch">Barrelfish-users@lists.inf.ethz.ch</a></span><span style="font-size:10.0pt;"></span></p>
<p class="yiv9539956646MsoNormal"><span style="font-size:10.0pt;color:#26282A;"><a rel="nofollow noopener noreferrer" shape="rect" target="_blank" href="https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a></span><span style="font-size:10.0pt;"></span></p>
</div>
</div>
</div>
<p class="yiv9539956646msonormal"><span style="font-size:10.0pt;font-family:sans-serif;color:#26282A;">_______________________________________________<br clear="none">
Barrelfish-users mailing list<br clear="none">
<a rel="nofollow noopener noreferrer" shape="rect" ymailto="mailto:Barrelfish-users@lists.inf.ethz.ch" target="_blank" href="mailto:Barrelfish-users@lists.inf.ethz.ch">Barrelfish-users@lists.inf.ethz.ch</a><br clear="none">
<a rel="nofollow noopener noreferrer" shape="rect" target="_blank" href="https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<br clear="none">
<fieldset class="yiv9539956646mimeAttachmentHeader"></fieldset>
<pre class="yiv9539956646moz-quote-pre">_______________________________________________
Barrelfish-users mailing list
<a rel="nofollow noopener noreferrer" shape="rect" class="yiv9539956646moz-txt-link-abbreviated" ymailto="mailto:Barrelfish-users@lists.inf.ethz.ch" target="_blank" href="mailto:Barrelfish-users@lists.inf.ethz.ch">Barrelfish-users@lists.inf.ethz.ch</a>
<a rel="nofollow noopener noreferrer" shape="rect" class="yiv9539956646moz-txt-link-freetext" target="_blank" href="https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a>
</pre>
</div>
</div>
</div>
</div>
</div>
</div>
<br>
<fieldset class="yiv9539956646mimeAttachmentHeader"></fieldset>
<pre class="yiv9539956646moz-quote-pre">_______________________________________________
Barrelfish-users mailing list
<a rel="nofollow noopener noreferrer" class="yiv9539956646moz-txt-link-abbreviated" ymailto="mailto:Barrelfish-users@lists.inf.ethz.ch" target="_blank" href="mailto:Barrelfish-users@lists.inf.ethz.ch">Barrelfish-users@lists.inf.ethz.ch</a>
<a rel="nofollow noopener noreferrer" class="yiv9539956646moz-txt-link-freetext" target="_blank" href="https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a>
</pre>
</blockquote>
<br>
<fieldset class="yiv9539956646mimeAttachmentHeader"></fieldset>
<pre class="yiv9539956646moz-quote-pre">_______________________________________________
Barrelfish-users mailing list
<a rel="nofollow noopener noreferrer" class="yiv9539956646moz-txt-link-abbreviated" ymailto="mailto:Barrelfish-users@lists.inf.ethz.ch" target="_blank" href="mailto:Barrelfish-users@lists.inf.ethz.ch">Barrelfish-users@lists.inf.ethz.ch</a>
<a rel="nofollow noopener noreferrer" class="yiv9539956646moz-txt-link-freetext" target="_blank" href="https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a>
</pre>
</blockquote>
</div>
</div></div>
</div>
</div></body></html>