<html><head></head><body bgcolor="#FFFFFF"><div><br>Hi Rafael</div><div><br></div><div>Sorry I actually wanted to forward the mail only to the barrelfish mailing list and not the gem5... </div><div><br></div><div>One thing you could do is copy the Realview.py in the tools/arm_gem5 which still includes the VExpres_VLT board to the gem5 src directory. You would have to make some minor adjustments to the file and also to the gem5script.py since they recently changed their bussystem. The thing with gem5 is that they change a lot of code in every release so that you have to constantly adapt and possibly fix new bugs, that&#39;s why we decided on a fixed release.</div>
<div><br></div><div>If you don&#39;t want to do that then you&#39;d have to change all the hardcoded addresses which you already did (some atleast), but maybe you&#39;d have to do more. The VExpress_EMM board has a special memory and device layout and I have never tested it for that board. The RealViewPBX however should work out of the box with the relevant modifications to the device addresses.</div>
<div><br></div><div>This warnings about accessing the spsr in invalid mode you can ignore for now. I have to look into that sometime, but it doesn&#39;t affect the execution of barrelfish.</div><div><br></div><div>As for debugging you can use the remote debug functionality of gem5 (see the wiki). I included a gdb script in tools/arm_gem5 which tries to connect to gem5 on the default port and sets some configuration stuff needed in order to get it working. If you need to start debugging right from the beginning you have to set &#39;rgdb_wait&#39; in gem5/src/sim/system.cc to 0 and recompile the binary. That way gem5 waits with the execution of the simulated code until a debugger is attached.</div>
<div><br></div><div>I hope this helps.</div><div><br></div><div>Cheers,</div><div><br></div><div>Samuel<br><br></div><div><br>On 20.06.2012, at 20:58, Rafael Garibotti &lt;<a href="mailto:rafaelgaribotti@gmail.com">rafaelgaribotti@gmail.com</a>&gt; wrote:<br>
<br></div><div></div><blockquote type="cite"><div>Hi Samuel,<br><br>     Yes, you were right. I run hake.sh with the arm_gem5 parameter and then run make without the arm parameter.<br><br>     So, running Barrelfish on the old GEM5 revision (d45a02bd5391) with the VExpress_ELT platform, it works. But as I said before, the new GEM5 revision (64db8473f3ab) do not have this platform. So I started to port it to another platform by changing the parameters found in the &quot;barrelfish/kernel/arch/arm_gem5&quot; directory, as the INITRD_BASE on the init.c file according to ramdisk address, or the PIT_BASE on the integrator.c file according to timer (Sp804) address, and so on...<br>


<br>     But even with these changes, the Barrelfish did not pass the boot, at least, it shows not message after &quot;info: Entering event queue @ 0.  Starting simulation...&quot; in a terminal and &quot;==== m5 slave terminal: Terminal 0 ====&quot; on another. So how do you debug Barrelfish on GEM5??<br>


<br>     By the way, I always get the warning &quot;warning: Trying to access an SPSR in invalid mode: 31&quot;. Was it not related to the ISA? Such an instruction not supported on ARMv7 that was suported on ARMv5... So, do you have a guess about it?<br>


<br>Ps.: You included only on the GEM5 mailing list, so I put also in the Barrelfish mailing list.<br><br>Best Regards,<br>Rafael Garibotti<br><br><br><div class="gmail_quote">2012/6/19 Samuel Hitz <span dir="ltr">&lt;<a href="mailto:samuel.hitz@gmail.com" target="_blank">samuel.hitz@gmail.com</a>&gt;</span><br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Rafael,<div><div><br></div><div>Did you build Barrelfish with &#39;make arm&#39;? If not please try this and see if it works. It seems like romfs_cpio_archive_size in</div>


<div><div>        phys_mmap_remove(&amp;phys_mmap,</div>
<div>        <span style="white-space:pre-wrap">                                </span> INITRD_BASE,</div><div>        <span style="white-space:pre-wrap">                                </span> INITRD_BASE + romfs_cpio_archive_size);</div><div>
<br></div><div>in init.c:arch_init is 0 which happens if you don&#39;t build Barrelfish with &#39;make arm&#39;. </div><div><br></div>Cheers,</div><div><br></div><div>Samuel</div><div><br></div><div>(adding barrelfish-mailing list. You should ask questions there so that everyone can possibly answer you or gain something from the solutions posted)</div>


<div><div>
<div><br><div class="gmail_quote">On Tue, Jun 19, 2012 at 4:47 PM, Rafael Garibotti <span dir="ltr">&lt;<a href="mailto:rafaelgaribotti@gmail.com" target="_blank">rafaelgaribotti@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



Hi Samuel,<br><br>     I tried using the GEM5 simulator with the Barrelfish, but I always got the same error:<br><br>-------------------------------------------------------------------<br>Barrelfish CPU driver starting on ARMv7 Board id 0x000008e0<br>




The address of paging_map_kernel_section is 0xc0022e00<br>kernel PANIC! kernel assertion &quot;limit &gt; start&quot; failed at ../kernel/arch/arm/phys_mmap.c:130<br>-------------------------------------------------------------------<br>




<br>     Do you know how I can fix this problem?<br><br>     I tried using the latest GEM5 revision (64db8473f3ab), but I saw that the platform used (VExpress_ELT) is no longer available, so before starting to migrate to another platform (i.e. RealView_PBX), I took the version indicated in the README file (d45a02bd5391) and even making the changes indicated, the error shown above remains.<br>




<br>     So, I tested the RealView_PBX platform and I needed to change the memory size to not have two devices with the same address. After that, the Barrelfish starting the simulation as shown below, but unfortunately it doesn&#39;t boot... :( ... That means I need to change the bootloader... So do you have any tips on how to proceed before I start looking for it?<br>




<br>-------------------------------------------------------------------<br>..... STARTING SIMULATION<br>info: Entering event queue @ 0.  Starting simulation...<br>-------------------------------------------------------------------<br>




<br>     Thank you!!<br><br>Best Regards,<br>Rafael Garibotti<br>
</blockquote></div><br></div></div></div></div>
</blockquote></div><br>
</div></blockquote></body></html>