qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] What should a virtual board emulate? (was: [PATCH] mips


From: Philippe Mathieu-Daudé
Subject: Re: [Qemu-devel] What should a virtual board emulate? (was: [PATCH] mips-fulong2e: obey -vga none)
Date: Wed, 20 Mar 2019 11:03:54 +0100

Le mer. 20 mars 2019 07:13, Markus Armbruster <address@hidden> a écrit :

> BALATON Zoltan <address@hidden> writes:
>
> > On Tue, 19 Mar 2019, Paolo Bonzini wrote:
> >> Do not create an ATI VGA if "-vga none" was passed on the command line.
> >>
> >> Cc: BALATON Zoltan <address@hidden>
> >
> > Thanks, I did not know about this variable. Although the real hardware
> > has the GPU soldered on the mainboard it makes sense to allow it to be
> > disabled in QEMU especially at this stage when Linux kernel has some
> > problem with it so this is a good idea.
>
> I'm not sure.
>
> For better or worse, we have a whole bunch of global variables
> (manipulated with command line options) our board code may elect to
> honor.
>
> When a command line option ends up in a global variable the board
> doesn't honor, we sometimes warn the user his option is being ignored,
> and we sometimes ignore it silently.  But that's not what I'd like to
> discuss today.
>
> My question today is what a virtual board should emulate, and what
> -nodefaults should mean.
>
> The most straightforward case is emulating a single physical board, so
> that we emulate exactly what's on the board, no more, no less.  Anything
> that can be plugged into the board we model as pluggable device you add
> with -device.
>

Yes.


> We can still have convenience options for adding such pluggable devices
> in a simpler way.
>
> We can even plug some by default.  -nodefaults suppresses that, i.e. it
> gives you exactly the physical board with nothing plugged in.


Ideally.


> Things get a bit more interesting when we're emulating a family of
> physical boards.  Say there's a bare-bones version, and another with
> more goodies soldered on.  While we can model the two as distinct
> machine types, modelling as a single machine type with options (machine
> properties or the global variables) may be more convenient.  That's
> okay.
>
> Note that -nodefault still gives you a faithful emulation of a physical
> board: the bare-bones one.
>
> Things get more interesting still when we're emulating a somewhat fuzzy
> idea of a zoo of physical boards, like x86 PC.  I think the difference
> to the previous case is mostly ambiguity that comes out of the
> fuzziness.
>
> Here, -nodefault gives you an emulation of a physical board that could
> plausibly exist.
>
> Now let's circle back to this patch.  mips-fulong2e emulates a physical
> board that has ATI VGA soldered on.  After this patch, -nodefaults gives
> you an emulation of something that doesn't exist.  Right now, that
> virtual frankenboard happens to work better than the more faithful
> emulation that has the VGA, but that's just bugs.  Working around bugs
> is certainly relevant, just not for guiding us on basic design issues.
>

-display/-vga options suffers same clarity problems than -net. Is it a card
device or a cable linking to a network? Here is it a card device or a cable
connecting a monitor display?
When cards plugged on bus via extractible slots, they are optional. If no
slot (soldered) or no bus (mmio) they aren't optional. Display monitors are
optional.


> Mind, I'm not demanding mips-fulong2e should continue to ignore -vga;
> that's for its maintainer to decide.  I don't demand, I ask: what should
> a virtual board emulate?  What should -nodefaults do?
>

IMHO -nodefaults contains soldered/mmio chipsets.
Whether you plug a display or not is a different story.


> [...]
>
>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]