<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<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="moz-cite-prefix">On 15/4/21 6:08 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:522273670.3962408.1618502913574@mail.yahoo.com">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<div class="ydpf69b7d93yahoo-style-wrap"
style="font-family:Helvetica Neue, Helvetica, Arial,
sans-serif;font-size:13px;">
<div dir="ltr" data-setdir="false">Hi, <br>
</div>
<div><br>
</div>
<div dir="ltr" data-setdir="false">><span>The memory map is <span>17952B</span>,
but MEM_MAP_SIZE is 8192.</span></div>
<div dir="ltr" data-setdir="false">> <span>This is
compile-time limit in Hagfish - please report <span>this
overflow, it's a bug.</span></span></div>
<div dir="ltr" data-setdir="false"><br>
</div>
<div dir="ltr" data-setdir="false">
<div dir="ltr" data-setdir="false"><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" data-setdir="false"><br>
</div>
<div dir="ltr" data-setdir="false">
<div dir="ltr" data-setdir="false"><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" data-setdir="false"><br>
<span><span></span></span><span><span><span></span></span></span><span><span></span></span></div>
</div>
</div>
<div dir="ltr" data-setdir="false">
<div>>We'd be happy to integrate a patch if you wanted to
modify it.</div>
<div dir="ltr" data-setdir="false"> <span>I'll do that after
i have finished my project.</span><br>
</div>
<div><br>
</div>
<div dir="ltr" data-setdir="false">Regards Sebastian<br>
</div>
</div>
<div dir="ltr" data-setdir="false"><br>
</div>
<div><br>
</div>
</div>
<div id="yahoo_quoted_8716136585" class="yahoo_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 class="moz-txt-link-rfc2396E" 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="yiv6161093200">
<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="yiv6161093200yqt7245431320"
id="yiv6161093200yqt49098">
<div class="yiv6161093200moz-cite-prefix">On 11/3/21
2:19 pm, Schwyn Daniel wrote:<br clear="none">
</div>
<blockquote type="cite"> </blockquote>
</div>
</div>
<div class="yiv6161093200yqt7245431320"
id="yiv6161093200yqt68157">
<style>_filtered {}_filtered {}_filtered {}_filtered {}#yiv6161093200 p.yiv6161093200MsoNormal, #yiv6161093200 li.yiv6161093200MsoNormal, #yiv6161093200 div.yiv6161093200MsoNormal
{margin:0cm;font-size:11.0pt;font-family:sans-serif;}#yiv6161093200 a:link, #yiv6161093200 span.yiv6161093200MsoHyperlink
{color:blue;text-decoration:underline;}#yiv6161093200 p.yiv6161093200msonormal, #yiv6161093200 li.yiv6161093200msonormal, #yiv6161093200 div.yiv6161093200msonormal
{margin-right:0cm;margin-left:0cm;font-size:11.0pt;font-family:sans-serif;}#yiv6161093200 p.yiv6161093200msonormal1, #yiv6161093200 li.yiv6161093200msonormal1, #yiv6161093200 div.yiv6161093200msonormal1
{margin:0cm;font-size:11.0pt;font-family:sans-serif;}#yiv6161093200 span.yiv6161093200E-MailFormatvorlage33
{font-family:sans-serif;color:windowtext;}#yiv6161093200 .yiv6161093200MsoChpDefault
{font-size:10.0pt;}#yiv6161093200 div.yiv6161093200WordSection1
{}</style>
<div>
<div class="yiv6161093200WordSection1">
<p class="yiv6161093200MsoNormal"><span style="">Hi
Sebastian,</span></p>
<p class="yiv6161093200MsoNormal"><span style=""> </span></p>
<p class="yiv6161093200MsoNormal"><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="yiv6161093200MsoNormal"><span style=""
lang="EN-US"> </span></p>
<p class="yiv6161093200MsoNormal"><span style=""
lang="EN-US">Regards,</span></p>
<p class="yiv6161093200MsoNormal"><span style=""
lang="EN-US">Daniel</span></p>
<p class="yiv6161093200MsoNormal"><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="yiv6161093200MsoNormal"><b><span
lang="DE">Von:</span></b><span lang="DE">
<a rel="nofollow noopener noreferrer"
shape="rect"
class="yiv6161093200moz-txt-link-abbreviated"
ymailto="mailto:sebastian.scherbel@fau.de"
target="_blank"
href="mailto:sebastian.scherbel@fau.de"
moz-do-not-send="true">sebastian.scherbel@fau.de</a>
<a rel="nofollow noopener noreferrer"
shape="rect"
class="yiv6161093200moz-txt-link-rfc2396E"
ymailto="mailto:sebastian.scherbel@fau.de"
target="_blank"
href="mailto:sebastian.scherbel@fau.de"
moz-do-not-send="true"><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="yiv6161093200moz-txt-link-rfc2396E"
ymailto="mailto:daniel.schwyn@inf.ethz.ch"
target="_blank"
href="mailto:daniel.schwyn@inf.ethz.ch"
moz-do-not-send="true"><daniel.schwyn@inf.ethz.ch></a><br
clear="none">
<b>Cc:</b> <a rel="nofollow noopener
noreferrer" shape="rect"
class="yiv6161093200moz-txt-link-abbreviated"
ymailto="mailto:barrelfish-users@lists.inf.ethz.ch" target="_blank"
href="mailto:barrelfish-users@lists.inf.ethz.ch"
moz-do-not-send="true">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="yiv6161093200MsoNormal"> </p>
<div>
<div id="yiv6161093200ydp299dcbf2yiv8742540900">
<div>
<div>
<div>
<p class="yiv6161093200MsoNormal"><span
style="font-size:10.0pt;font-family:sans-serif;">Hi
Daniel,</span></p>
<div>
<p class="yiv6161093200MsoNormal"><span
style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div>
<p class="yiv6161093200MsoNormal"><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="yiv6161093200MsoNormal"><span
style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div>
<p class="yiv6161093200MsoNormal"><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="yiv6161093200MsoNormal"><span
style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div>
<p class="yiv6161093200MsoNormal"><span
style="font-size:10.0pt;font-family:sans-serif;">Otherwise, I'll fix
iPXE myself. </span></p>
</div>
<div>
<p class="yiv6161093200MsoNormal"><span
style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div>
<p class="yiv6161093200MsoNormal"><span
style="font-size:10.0pt;font-family:sans-serif;">Regards Sebastian</span></p>
</div>
</div>
<div>
<p class="yiv6161093200MsoNormal"><span
style="font-size:10.0pt;font-family:sans-serif;">
</span></p>
</div>
<div
id="yiv6161093200ydp299dcbf2yiv8742540900yahoo_quoted_5616699740">
<div>
<div>
<p class="yiv6161093200MsoNormal"><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"
moz-do-not-send="true">daniel.schwyn@inf.ethz.ch</a>>
Folgendes geschrieben: </span></p>
</div>
<div>
<p class="yiv6161093200MsoNormal"><span
style="font-size:10.0pt;font-family:sans-serif;color:#26282A;"> </span></p>
</div>
<div>
<p class="yiv6161093200MsoNormal"><span
style="font-size:10.0pt;font-family:sans-serif;color:#26282A;"> </span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="yiv6161093200yqt62089">
<div>
<div id="yiv6161093200">
<div>
<div>
<p class="yiv6161093200msonormal">Hi
Sebastian,</p>
<p class="yiv6161093200msonormal"> </p>
<p class="yiv6161093200msonormal"><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="yiv6161093200msonormal"><span
lang="EN-US"> </span></p>
<p class="yiv6161093200msonormal"><span
lang="EN-US">Regards,</span></p>
<p class="yiv6161093200msonormal"><span
lang="EN-US">Daniel</span></p>
<p class="yiv6161093200msonormal"><span
lang="EN-US"> </span></p>
<div id="yiv6161093200yqt96683">
<div>
<div
style="border:none;border-top:solid
#E1E1E1 1.0pt;padding:3.0pt 0cm 0cm
0cm;">
<p class="yiv6161093200msonormal"><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"
moz-do-not-send="true">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"
moz-do-not-send="true">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"
moz-do-not-send="true">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"
moz-do-not-send="true">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="yiv6161093200msonormal"> </p>
<div>
<div>
<div>
<div>
<p
class="yiv6161093200msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;">Hello,</span></p>
</div>
<div>
<p
class="yiv6161093200msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div>
<p
class="yiv6161093200msonormal"><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="yiv6161093200msonormal"><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="yiv6161093200msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div>
<p
class="yiv6161093200msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;">I have tried:</span></p>
</div>
<div>
<p
class="yiv6161093200msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div>
<p
class="yiv6161093200msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;">EDK2 -> iPXE ->
Hagfish</span></p>
</div>
<div>
<p
class="yiv6161093200msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div>
<p
class="yiv6161093200msonormal"><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="yiv6161093200msonormal"><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="yiv6161093200msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div>
<p
class="yiv6161093200msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div>
<p
class="yiv6161093200msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;">EDK2 -> Grub2 ->
Hagfish</span></p>
</div>
<div>
<p
class="yiv6161093200msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div>
<p
class="yiv6161093200msonormal"><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="yiv6161093200msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
<div>
<p
class="yiv6161093200msonormal"><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="yiv6161093200msonormal"><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="yiv6161093200msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;"> </span></p>
</div>
</div>
<div>
<p class="yiv6161093200msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;">Regards Sebastian</span></p>
</div>
</div>
<div>
<p class="yiv6161093200msonormal"><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"
moz-do-not-send="true">david.cock@inf.ethz.ch</a>>
Folgendes geschrieben: </span></p>
</div>
<div>
<p class="yiv6161093200msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;color:#26282A;"> </span></p>
</div>
<div>
<p class="yiv6161093200msonormal"><span
style="font-size:10.0pt;font-family:sans-serif;color:#26282A;"> </span></p>
</div>
<div id="yiv6161093200">
<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="yiv6161093200yqtfd48517">
<div>
<p
class="yiv6161093200msonormal1"><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"
moz-do-not-send="true">sebastian.scherbel@fau.de</a>
wrote:</span></p>
</div>
</div>
</div>
<div id="yiv6161093200yqtfd10124">
<div>
<div>
<div>
<div>
<div>
<p
class="yiv6161093200msonormal1"><span
style="font-size:10.0pt;color:#26282A;">Hello,</span></p>
</div>
<div>
<p
class="yiv6161093200msonormal1"><span
style="font-size:10.0pt;color:#26282A;"> </span></p>
</div>
<div>
<p
class="yiv6161093200msonormal1"><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="yiv6161093200msonormal1"><span
style="font-size:10.0pt;color:#26282A;"> </span></p>
</div>
<div>
<div>
<p
class="yiv6161093200msonormal1"><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="yiv6161093200msonormal1"><b><i><span
style="font-size:10.0pt;color:#26282A;">file size: Unsupported</span></i></b></p>
</div>
<div>
<p
class="yiv6161093200msonormal1"><span
style="font-size:10.0pt;color:#26282A;"> </span></p>
</div>
<div>
<div>
<p
class="yiv6161093200msonormal1"><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="yiv6161093200msonormal1"><span
style="font-size:10.0pt;color:#26282A;"> </span></p>
</div>
<p
class="yiv6161093200msonormal1"><span
style="font-size:10.0pt;color:#26282A;">Regards Sebastian </span></p>
</div>
<div>
<p
class="yiv6161093200msonormal1"><span
style="font-size:10.0pt;color:#26282A;"> </span></p>
</div>
</div>
</div>
<div
id="yiv6161093200yahoo_quoted_2497327118">
<div>
<div>
<p
class="yiv6161093200msonormal1"><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"
moz-do-not-send="true"><david.cock@inf.ethz.ch></a>
Folgendes geschrieben: </span></p>
</div>
<div>
<p
class="yiv6161093200msonormal1"><span
style="font-size:10.0pt;color:#26282A;"> </span></p>
</div>
<div>
<p
class="yiv6161093200msonormal1"><span
style="font-size:10.0pt;color:#26282A;"> </span></p>
</div>
<div>
<div id="yiv6161093200">
<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="yiv6161093200yqt90781">
<div>
<p
class="yiv6161093200msonormal1"><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"
moz-do-not-send="true">sebastian.scherbel@fau.de</a>
wrote:</span></p>
</div>
</div>
</div>
<div
id="yiv6161093200yqt19324">
<div>
<div>
<div>
<p
class="yiv6161093200msonormal1"><span
style="font-size:10.0pt;color:#26282A;">Hello,</span></p>
</div>
<div>
<p
class="yiv6161093200msonormal1"><span
style="font-size:10.0pt;color:#26282A;"> </span></p>
</div>
<div>
<p
class="yiv6161093200msonormal1"><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="yiv6161093200msonormal1"><span
style="font-size:10.0pt;color:#26282A;"> </span></p>
</div>
<div>
<p
class="yiv6161093200msonormal1"><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="yiv6161093200msonormal1"><span
style="font-size:10.0pt;color:#26282A;"> </span></p>
</div>
<div>
<p
class="yiv6161093200msonormal1"><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="yiv6161093200msonormal1"><span
style="font-size:10.0pt;color:#26282A;"> </span></p>
</div>
<div>
<p
class="yiv6161093200msonormal1"><span
style="font-size:10.0pt;color:#26282A;">Regards Sebastian</span></p>
</div>
<div>
<p
class="yiv6161093200msonormal1"><span
style="font-size:10.0pt;color:#26282A;"> </span></p>
</div>
<div>
<p
class="yiv6161093200msonormal1"><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"
moz-do-not-send="true">
https://lists.inf.ethz.ch/pipermail/barrelfish-users/2020-March/001597.html</a></span></p>
</div>
<div>
<p
class="yiv6161093200msonormal1"><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"
moz-do-not-send="true">
http://www.barrelfish.org/publications/TN-022-ARMv8.pdf</a></span></p>
</div>
</div>
<p
class="yiv6161093200msonormal1"
style="margin-bottom:12.0pt;"> </p>
<p
class="yiv6161093200MsoNormal"><span
style="font-size:10.0pt;color:#26282A;">_______________________________________________</span><span
style="font-size:10.0pt;"></span></p>
<p
class="yiv6161093200MsoNormal"><span
style="font-size:10.0pt;color:#26282A;">Barrelfish-users mailing list</span><span
style="font-size:10.0pt;"></span></p>
<p
class="yiv6161093200MsoNormal"><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" moz-do-not-send="true">Barrelfish-users@lists.inf.ethz.ch</a></span><span
style="font-size:10.0pt;"></span></p>
<p
class="yiv6161093200MsoNormal"><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"
moz-do-not-send="true">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a></span><span
style="font-size:10.0pt;"></span></p>
</div>
</div>
</div>
<div
id="yiv6161093200yqt99156">
<p
class="yiv6161093200msonormal1"><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"
moz-do-not-send="true">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"
moz-do-not-send="true">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a></span></p>
</div>
</div>
</div>
</div>
<p class="yiv6161093200msonormal1"
style="margin-bottom:12.0pt;"> </p>
<p class="yiv6161093200MsoNormal"><span
style="font-size:10.0pt;color:#26282A;">_______________________________________________</span><span
style="font-size:10.0pt;"></span></p>
<p class="yiv6161093200MsoNormal"><span
style="font-size:10.0pt;color:#26282A;">Barrelfish-users mailing list</span><span
style="font-size:10.0pt;"></span></p>
<p class="yiv6161093200MsoNormal"><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"
moz-do-not-send="true">Barrelfish-users@lists.inf.ethz.ch</a></span><span
style="font-size:10.0pt;"></span></p>
<p class="yiv6161093200MsoNormal"><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"
moz-do-not-send="true">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a></span><span
style="font-size:10.0pt;"></span></p>
</div>
</div>
</div>
<p class="yiv6161093200msonormal"><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"
moz-do-not-send="true">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"
moz-do-not-send="true">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<br clear="none">
<fieldset class="yiv6161093200mimeAttachmentHeader"></fieldset>
<pre class="yiv6161093200moz-quote-pre">_______________________________________________
Barrelfish-users mailing list
<a rel="nofollow noopener noreferrer" shape="rect" class="yiv6161093200moz-txt-link-abbreviated" ymailto="mailto:Barrelfish-users@lists.inf.ethz.ch" target="_blank" href="mailto:Barrelfish-users@lists.inf.ethz.ch" moz-do-not-send="true">Barrelfish-users@lists.inf.ethz.ch</a>
<a rel="nofollow noopener noreferrer" shape="rect" class="yiv6161093200moz-txt-link-freetext" target="_blank" href="https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users" moz-do-not-send="true">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a>
</pre>
</div>
</div>
</div>
</div>
</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>