<html><head></head><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue-Light, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px"><div id="yiv2737923038"><div id="yui_3_16_0_1_1444820767368_33229"><div id="yui_3_16_0_1_1444820767368_33228" style="color:#000;background-color:#fff;font-family:HelveticaNeue-Light, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;"><div id="yiv2737923038"><div id="yiv2737923038yui_3_16_0_1_1444933935528_3831"><div id="yiv2737923038yui_3_16_0_1_1444933935528_3830" style="color:#000;background-color:#fff;font-family:HelveticaNeue-Light, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;"><div id="yiv2737923038yui_3_16_0_1_1444820767368_15133"><span id="yiv2737923038yui_3_16_0_1_1444820767368_15157">Dear list,</span></div><div id="yiv2737923038yui_3_16_0_1_1444820767368_15142"><br><span></span></div><div id="yiv2737923038yui_3_16_0_1_1444820767368_15296" dir="ltr"><span id="yiv2737923038yui_3_16_0_1_1444820767368_15156">I was able to boot Barrelfish in Xen 4.5 hypervisor as a HVM. I specify that machine has a Intel Xeon processor. </span><span id="yiv2737923038yui_3_16_0_1_1444820767368_15156">First of all I created a disk image with one partition where I installed Ubuntu 14.04-amd64. Into this image I removed the grub2 installed by default and I installed grub 0.97 and put it into MBR with:</span></div><div id="yiv2737923038yui_3_16_0_1_1444820767368_15473" dir="ltr"><span id="yiv2737923038yui_3_16_0_1_1444820767368_15156"></span><br><font id="yui_3_16_0_1_1444820767368_33377" size="2"><span class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_15156">a</span><span class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_15156">pt-get --remove purge grub2<br></span></font></div><div id="yiv2737923038yui_3_16_0_1_1444820767368_15484" dir="ltr"><font id="yiv2737923038yui_3_16_0_1_1444820767368_17450" size="2"><span id="yiv2737923038yui_3_16_0_1_1444820767368_15156">a</span><span id="yiv2737923038yui_3_16_0_1_1444820767368_15156">pt-get install grub</span></font></div><div id="yiv2737923038yui_3_16_0_1_1444820767368_15678" dir="ltr"><span id="yiv2737923038yui_3_16_0_1_1444820767368_15156"><font id="yiv2737923038yui_3_16_0_1_1444820767368_17451" size="2">grub-install /dev/xvda</font><br></span></div><div id="yiv2737923038yui_3_16_0_1_1444820767368_15791" dir="ltr"><br></div><div id="yiv2737923038yui_3_16_0_1_1444820767368_15792" dir="ltr">I cloned Barrelfish from git (my version is a699702feb2eaf75db63154057a3ad09ac7e017e). In the menu.lst under /boot/grub/menu.lst I added another entry for Barrelfish. My menu.lst file looks like this: <br></div><div id="yiv2737923038yui_3_16_0_1_1444820767368_15870" dir="ltr"><br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_15896"><font id="yiv2737923038yui_3_16_0_1_1444820767368_16645" size="2">default        3<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_15906">timeout        3<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_15908"><br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_15910">serial --unit=0 --speed=9600<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_15912">terminal --timeout=5 serial console<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16134"><br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16136">## ## End Default Options ##<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16138">title        Ubuntu 14.04.3 LTS, kernel 3.19.0-25-generic<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16140">root        (hd0,0)<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16142">kernel        /boot/vmlinuz-3.19.0-25-generic root=UUID=430f885c-d308-4a91-812d-8dc4dfa44477 ro quiet splash <br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16144">initrd        /boot/initrd.img-3.19.0-25-generic<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16146">quiet<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16148"><br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16150">title        Ubuntu 14.04.3 LTS, kernel 3.19.0-25-generic (recovery mode)<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16152">root        (hd0,0)<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16154">kernel        /boot/vmlinuz-3.19.0-25-generic root=UUID=430f885c-d308-4a91-812d-8dc4dfa44477 ro  single<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16156">initrd        /boot/initrd.img-3.19.0-25-generic<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16158"><br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16160">title        Ubuntu 14.04.3 LTS, memtest86+<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16162">root        (hd0,0)<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16164">kernel        /boot/memtest86+.bin<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16166">quiet<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16168"><br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16170">title Barrelfish<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16172">root (hd0,0)<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16200"><br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16202">kernel /home/x86_64/sbin/elver loglevel=4 console=ttyS0<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16204">module /home/x86_64/sbin/cpu loglevel=4<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16206">module /home/x86_64/sbin/init<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16208"><br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16210"># Domains spawned by init<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16212">module /home/x86_64/sbin/mem_serv<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16214">module /home/x86_64/sbin/monitor<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16216"><br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16218"># Special boot time domains spawned by monitor<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16220">module  /home/x86_64/sbin/ramfsd boot<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16222">module  /home/x86_64/sbin/skb boot<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16224">modulenounzip /home/skb_ramfs.cpio.gz nospawn<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16226">module  /home/x86_64/sbin/kaluga boot<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16228">module  /home/x86_64/sbin/acpi boot<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16230">#module  /home/x86_64/sbin/pci boot<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16232">module  /home/x86_64/sbin/spawnd boot<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16234">#bootapic-x86_64=1-15<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16236">module  /home/x86_64/sbin/startd boot<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16238">module /home/x86_64/sbin/routing_setup boot<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16240"><br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16242"># Drivers<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16244">module /home/x86_64/sbin/pci auto<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16246">module /home/x86_64/sbin/corectrl auto<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16248">module /home/x86_64/sbin/ahcid auto<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16250"><br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16252">## For networking<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16254">## For qemu, enable rtl8029<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16256">module /home/x86_64/sbin/rtl8029 auto<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16258"><br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16260">## For real hardware, enable e1000n<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16262">module /home/x86_64/sbin/e1000n auto<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16264"><br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16266">## Other services needed for networking<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16268">module /home/x86_64/sbin/NGD_mng auto<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16270">module /home/x86_64/sbin/netd auto<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16272"><br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16274"># General user domains<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16276">module /home/x86_64/sbin/serial<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16278">module /home/x86_64/sbin/fish nospawn<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16280">module /home/x86_64/sbin/angler serial0.terminal xterm<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16282"><br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16284">### END DEBIAN AUTOMAGIC KERNELS LIST</font><br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_16286"><br><span id="yiv2737923038yui_3_16_0_1_1444820767368_15156"></span></div><div id="yiv2737923038yui_3_16_0_1_1444820767368_15714" dir="ltr">Now, When I tried to boot Barrelfish, just after printing the console the kernel panics:</div><div id="yiv2737923038yui_3_16_0_1_1444820767368_16805" dir="ltr"><br></div><div id="yiv2737923038yui_3_16_0_1_1444820767368_16806" dir="ltr">kernel 0 PANIC! hlt should not return</div><div id="yiv2737923038yui_3_16_0_1_1444820767368_16820" dir="ltr"><br></div><div id="yiv2737923038yui_3_16_0_1_1444820767368_16821" dir="ltr">so I looked into the code of Barrelfish. The problem is the last instruction (hlt) from wait_for_interrupt(void) in kernel/arch/x86_64/exec.c. This instruction should not return so I replace "hlt" with a loop:</div><div id="yiv2737923038yui_3_16_0_1_1444820767368_17786" dir="ltr"><br></div><div id="yiv2737923038yui_3_16_0_1_1444820767368_17836" dir="ltr"><font id="yui_3_16_0_1_1444820767368_33358" size="2">hltloop: hlt<br class="yiv2737923038" id="yiv2737923038yui_3_16_0_1_1444820767368_17834"></font><div id="yiv2737923038yui_3_16_0_1_1444933935528_4025"><font size="2">jmp hltloop</font></div><div id="yiv2737923038yui_3_16_0_1_1444933935528_4026"><br></div><div id="yiv2737923038yui_3_16_0_1_1444933935528_4029" dir="ltr">By doing this replacement Barrelfish boots ok under XEN. <br></div><span id="yiv2737923038yui_3_16_0_1_1444820767368_15156"></span></div><div id="yiv2737923038yui_3_16_0_1_1444820767368_15470" dir="ltr"><span id="yiv2737923038yui_3_16_0_1_1444820767368_15156"></span></div><div id="yiv2737923038yui_3_16_0_1_1444820767368_15131"><div id="yui_3_16_0_1_1444820767368_33252"> </div><div id="yui_3_16_0_1_1444820767368_33426"><br></div></div><div id="yiv2737923038yui_3_16_0_1_1444820767368_15132" class="yiv2737923038signature">Nitu Vlad-Tiberiu</div></div></div></div></div></div></div></div></body></html>