Re: [Qemu-devel] KVM call minutes for Feb 8

Gleb Natapov
2011-02-10T11:24:24Z

On Thu, Feb 10, 2011 at 10:38:53AM +0000, Peter Maydell wrote:
> This is the system diagram for the Versatile Express:
> http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0447d/I1007683.html
> I don't know what you'd want to claim is a "northbridge" there.
> Basically there's an FPGA with a pile of devices in it,
> and there's a test chip with the core and some other devices in
> it. But from a modelling perspective this is all completely
> irrelevant because regardless of where the hardware designer
> put the devices, they're just devices at a particular point in the
> memory map and with a particular set of interrupt wiring and so
> on. I don't see the point in modelling a concept that has no
> user-visible effects and doesn't actually make the model any
> clearer or simpler.
>
Exactly. This is really the same with x86. The fact that some company
put several devices on the same chip and gave it commercial name
shouldn't govern our design.

>
> > A machine today is basically the northbridge, southbridge, plus a bunch of
> > default components to make the virtual hardware useful.
>
> This doesn't really correspond to ARM boards I've looked at,
> by and large (for instance there's no mention of the word "northbridge"
> in the whole 3700 page OMAP3 TRM). PCs may be best modelled
> that way, sure, but I don't think you can cram everything into that mould.
>
Even on x86 this model is falling apart. Memory controller moves to cpu.
PCI controller will follow.

> >> If you mean that you want machines to be implemented under the
> >> hood as a single huge "device" you can only have one of that spans
> >> the entire memory map, well I guess that's an implementation
> >> detail. But conceptually machines really do exist, and we definitely
> >> still want users to be able to say "I want a beagle machine; I want
> >> a versatile; I want an n900".
>
> > An n900 is a very specific hardware configuration that is best represented
> > by some sort of configuration file vs. something hard coded in QEMU.
>
> Yes, that's the whole point -- "machine" == "specific hardware
> configuration".
>
> That's not getting rid of "machine", it's just saying "we should have
> some custom scripting language to define them rather than doing
> them in C". You still want, fundamentally, to be able to say
> qemu-system-arm -M machinename
>
+1

--
Gleb.