Le mer. 20 mars 2019 07:13, Markus Armbruster <arm...@redhat.com> a écrit :
> BALATON Zoltan <bala...@eik.bme.hu> 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 <bala...@eik.bme.hu> > > > > 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. > [...] > >