[Barrelfish-users] armv7,armv8 on QEMU?

Simon Gerber simon.gerber at inf.ethz.ch
Mon Jul 24 16:16:24 CEST 2017

Hi Mark,

I've had a look at our GEM5 ARMv7 setup and found the following:

1. The nightly builds and tests run on ARMv7 gem5, but only in a single-core configuration. For this we're just booting Barrelfish and running memtest. This seems to work fine with the current gem5 tip (git sha1 8e8ad9daa3d7b35e0b570361dfce6f2ac1a8d8fe), and with the gem5 version we're using for the nightly tests (hg revision 629fe6e6c781).

The harness command that is executed through jenkins for the nightly builds is

<bf src dir>/tools/harness/scalebench.py --debug -m armv7_gem5 -t memtest <bf src dir> <results dir>

2. 'make armv7_gem5_vexpressemm' needs the following change to avoid the crash in kaluga:

diff --git a/hake/menu.lst.armv7_a15ve_gem5 b/hake/menu.lst.armv7_a15ve_gem5
index f499e98..3a516ef 100644
--- a/hake/menu.lst.armv7_a15ve_gem5
+++ b/hake/menu.lst.armv7_a15ve_gem5
@@ -22,7 +22,7 @@ module /armv7/sbin/ramfsd boot
 module /armv7/sbin/skb boot
 modulenounzip /eclipseclp_ramfs.cpio.gz nospawn
 modulenounzip /skb_ramfs.cpio.gz nospawn
-module /armv7/sbin/kaluga boot
+module /armv7/sbin/kaluga boot add_device_db=plat_VE_A15x1
 module /armv7/sbin/spawnd boot
 module /armv7/sbin/startd boot
This will supply kaluga with some information about the VExpress platform with a single A15 core, after which Barrelfish comes up cleanly.

3. As far as I can tell, we do not have all the bits in place to support booting multiple cores on ARMv7 gem5 because gem5 has its own protocol for booting cores.

-- Simon

On 22.07.2017 01:04, Timothy Roscoe wrote:
> Hi Mark,
> [ I'm forwarding this to barrelfish-users at lists.inf.ethz.ch; note that
>   email to barrelfish-users-owner at lists.inf.ethz.ch only goes to the
>   administrator of the mailing list. ]
> As you know, we tend to focus on the ARM FVPs, since they are the best
> simulators out there that we've found.  However, there *are* GEM5
> targets for both ARMv7-A and ARMv8-A - 'make help-boot' should list
> them.
> That said, I'm not sure we test GEM5 as part of the current CI tests -
> someone else (Simon?) might be able to confirm or deny this.
> If gem5_armv7 is failing in Kaluga, it's probably because Kaluga has
> incorrect or missing information about where the devices are on the
> VersatileExpress board.  We're in the process of improving how device
> drivers are started, and as part of that it probably makes sense for
> us to add GEM5 regressions to the test harness.
> As for Qemu, I'm much less sure about bootloaders.  Qemu does at least
> emulate the same platform as GEM5, but both a fairly patchy in their
> emulation.
> David wrote the more recent standardized bootloader we use for ARM
> platforms, and may be able to shed light on what's needed for ARMv7
> and/or ARMv8 to boot in Qemu.
> David, Simon?
>  -- Mothy
> At Thu, 20 Jul 2017 22:37:42 -0400, "Goldstein, Mark" <markgoldstein at g.harvard.edu> wrote:
>> Hi Barrelfish Users,
>> Writing from Harvard University.
>> Does anyone have information to share about booting armv7 and armv8
>> Barrelfish on virtualized platforms? We have had some success with ARM
>> Fixed Virtual Platforms, but are hoping that someone might have information
>> about QEMU or Gem5. We have been running armv7 successfully on Pandaboard
>> (this works really well) but would like to move to just
>> virtualized/emulated environments if possible.
>> In particular,
>> - We don't have a few of things necessary for arm QEMU (documented here
>> <https://github.com/Harvard-PRINCESS/Guppy/wiki/Emulated-ARM-boot-sequences,-v7-and-v8>).
>> Are there any bootloaders hanging around somewhere other than the
>> Barrelfish tree that people have used?
>> - gem5 Armv7 gets part way through a slow startup but crashes on SKB/Kaluga
>> modules.
>> Best,
>> Mark Goldstein
> _______________________________________________
> Barrelfish-users mailing list
> Barrelfish-users at lists.inf.ethz.ch
> https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users

More information about the Barrelfish-users mailing list