[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 0/2] target-arm: "any" CPUs for system-mode
From: |
Meador Inge |
Subject: |
Re: [Qemu-devel] [PATCH 0/2] target-arm: "any" CPUs for system-mode |
Date: |
Mon, 13 Jul 2015 13:34:46 -0700 |
User-agent: |
Mutt/1.5.20 (2009-06-14) |
On Mon, Jul 06, 2015 at 04:05:46PM -0700, Peter Crosthwaite wrote:
> On Mon, Jul 6, 2015 at 3:49 PM, Peter Maydell <address@hidden> wrote:
> > On 6 July 2015 at 23:42, Peter Crosthwaite <address@hidden> wrote:
> >> On Mon, Jul 6, 2015 at 3:29 PM, Peter Maydell <address@hidden> wrote:
> >>> On 6 July 2015 at 19:53, <address@hidden> wrote:
> >>>> From: Meador Inge <address@hidden>
> >>>>
> >>>> This patch series opens up the "any" CPU for system-mode and
> >>>> adds a new "any" variant named "anyvfp" that initializes the
> >>>> FP coprocessors as well.
> >>>
> >>> We deliberately removed cpu "any" for system mode in
> >>> commit f5f6d38b7458b8a back in 2013; I think the rationale
> >>> for its removal still holds. If you're emulating a system
> >>> you're emulating a specific system and you get a real
> >>> CPU. A CPU with no impdef sysregs or initialized feature
> >>> and ID registers is broken...
> >>
> >> You can still have a CPU+RAM only machine model, load elfs and get
> >> meaningful result on a debugger.
> >
> > Yeah, but what does "any" get you over just going ahead
> > and specifying your CPU type? What interrupt controller
> > should the "any" CPU type have? Generic timers? Etc.
> >
>
> None and none. You are only interested in CPU internal state with no IO at
> all.
Exactly. We have a use-case where QEMU acts as basically an ISS and we
only care about architecture level support. So, someone compiles their
application with various options (-march=armv7-a, -march=arv5te, etc...)
and runs those through GDB that connects to the QEMU GDB stub. From
the QEMU side we can launch an instance with '-cpu any' and expect most
applications to run on it regardless of how it was built with GCC.
This is a reasonable use-case and it is a very small change to QEMU,
which introduces hardly any complexity or maintenance burden.
> > There isn't zero utility there, but I don't really think
> > there's enough to justify cluttering up QEMU with when
> > "-cpu cortex-a15" is not very much more to type, and
> > has the advantage of being something that actually
> > exists in reality.
As mentioned above, there is utility and saying that it is "clutter" is a
bit of an exaggeration (it is 5 deletions(-) that introduces *one* new
option).
>
> There is a clean definition of an ARM CPU without any IO however which
> has utility in compiler testing.
I agree.
-- Meador
- Re: [Qemu-devel] [PATCH 1/2] target-arm: Allow CPU "any" for system-mode emulation, (continued)