[Aboriginal] [Qemu-devel] [PATCH] Fixing sh4 serial abort

Peter Maydell peter.maydell at linaro.org
Wed Aug 1 05:01:36 PDT 2012

On 1 August 2012 12:50, Rob Landley <rob at landley.net> wrote:
> I can switch to a newer board, but I want to plug armv4tl, armv5l,
> armv6l, and armv7l processors into it. (And eventually armv8 but nothing
> supports that yet.) If it's always running armv7 then I can't _prove_
> that this userspace would actually run on armv5 and didn't leak armv7
> instructions in there.
> Last time I looked at newer boards the idea of plugging older processors
> into them confused both qemu and the kernel's config stuff.

Yes, this is because it fundamentally doesn't work and won't work.
ARM board models work with a limited set of CPUs (often just one
CPU), if you try to -cpu something into a board model that doesn't
support it you get to keep both pieces when it breaks.

You can't just plug an A9 CPU into a versatile PB board in hardware,
and it doesn't work in QEMU for about the same reason (the set of
connections between the CPU and the board is completely different).

> Looking at current qemu-git, there's no "-M vexpress", there is instead
> vexpress-a9          ARM Versatile Express for Cortex-A9
> vexpress-a15         ARM Versatile Express for Cortex-A15
> I.E. the assumption about what processor you're plugging into this board
> is baked into the board _name_, and both of those are armv7 only.

This is because the A9 and A15 versatile express systems are
genuinely different hardware (the memory maps are all different,
for example).

> Hmmm, then again it looks like
>   http://www.mail-archive.com/qemu-devel@nongnu.org/msg19370.html
> Never got merged so the -cpu restrictions for armv4t and armv5l are
> currently commented out anyway.

I think we subsequently merged a different patch for the equivalent
feature. Certainly translate.c does attempt to check for ARCH(5)
or ARCH(4T) and so on. If we get specific cases wrong I can fix them.

-- PMM


More information about the Aboriginal mailing list