All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paul Brook <paul@codesourcery.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: Meador Inge <meadori@codesourcery.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v1 3/4] hw: Deduce the default machine from the specified CPU model
Date: Tue, 28 Aug 2012 13:58:22 +0100	[thread overview]
Message-ID: <201208281358.23742.paul@codesourcery.com> (raw)
In-Reply-To: <CAFEAcA9=4G3=6SnH-Ott91cYDSZqOVUC0YGXjHof4piKiXAQcw@mail.gmail.com>

> > This changes the driver behavior to choose the default machine
> > model based on the CPU being used.  Defaulting the machine this
> > way makes it easier to use QEMU as an ISS by just specifying
> > the -cpu option since a default machine that is suitable for
> > emulating the full ISA can be chosen.
> > 
> > For example, currently on ARM the ARM Integrator/CP board is
> > chosen as the default machine when specifying just a CPU.
> > However, this doesn't work well when passing -cpu cortex-m3
> > since on ARMv7-M processors the NVIC is a part of the architecture
> > and is needed to support instructions like SVC.
> 
> Personally I'd rather we didn't support a "default machine" at
> all, at least for ARM. It does matter what board you run on,
> so you need to specify.

A possible compromise is to only accept -cpu if -M is also specified.
 
> Just to pick an obvious example, you can't stick a core
> which supports VFPv4 (the A15 is the only one we have) into
> the integratorcp

Yes you can.

Your OS probably doesn't support it, and you might have trouble persuading the 
OS vendor to support something that doesn't physically exist, but those are a 
competely separate problems.

> We could reasonably add patches which made boards error
> out if you tried to use them with unsupported CPUs, I guess.

That suffers from a large fuzzy region containing interesting combinations 
that could/do work, but will probably never be created in silicon.

If done properly this the QOM conversion should give you this for free.

Paul

  reply	other threads:[~2012-08-28 12:58 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-27 20:37 [Qemu-devel] [PATCH v1 0/4] Improve ARMv7-M architecture emulation Meador Inge
2012-08-27 20:37 ` [Qemu-devel] [PATCH v1 1/4] hw: Add support for loading ARMv7-M applications via -kernel Meador Inge
2012-08-28 12:43   ` Peter Maydell
2012-08-27 20:37 ` [Qemu-devel] [PATCH v1 2/4] target-arm: Make SYS_HEAPINFO work for ARMv7-M Meador Inge
2012-08-28 12:47   ` Peter Maydell
2012-08-27 20:37 ` [Qemu-devel] [PATCH v1 3/4] hw: Deduce the default machine from the specified CPU model Meador Inge
2012-08-27 20:47   ` Peter Maydell
2012-08-28 12:58     ` Paul Brook [this message]
2012-08-28 13:10       ` Peter Maydell
2012-08-28 13:32         ` Paul Brook
2012-08-28 13:54           ` Peter Maydell
2012-08-27 20:37 ` [Qemu-devel] [PATCH v1 4/4] hw: Add support for a dummy ARMv7-M board Meador Inge
2012-08-28 12:48   ` Peter Maydell
2012-08-28 16:11     ` Meador Inge

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201208281358.23742.paul@codesourcery.com \
    --to=paul@codesourcery.com \
    --cc=meadori@codesourcery.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.