[kvmarm] [PATCH v2 08/10] ARM: KVM: VGIC initialisation code

Will Deacon will.deacon at arm.com
Wed Oct 3 06:02:05 EDT 2012


On Tue, Oct 02, 2012 at 08:45:54PM +0100, Peter Maydell wrote:
> On 2 October 2012 20:28, Will Deacon <will.deacon at arm.com> wrote:
> > On Tue, Oct 02, 2012 at 07:31:43PM +0100, Peter Maydell wrote:
> >> We probably want to be passing in the "base of the cpu-internal
> >> peripherals", rather than "base of the GIC" specifically. For the
> >> A15 these are the same thing, but that's not inherent [compare the
> >> A9 which has more devices at fixed offsets from a configurable
> >> base address].
> >
> > If you do that, userspace will need a way to probe the emulated CPU so
> > that is knows exactly which set of peripherals there are and which ones it
> > needs to emulate. This feels pretty nasty, given that the vgic is handled
> > more or less completely by the kernel-side of things.
> 
> Userspace knows what the emulated CPU is because it tells the
> kernel which CPU to provide -- the kernel can say "yes" or "no" but
> it can't provide a different CPU to the one we ask for, or
> one with bits mising...

Aha, ok, I didn't realise that's how it works. Does userspace just pass the
CPUID or is there an identifier provided by kvm?

/me jumps back into the code.

Thanks,

Will



More information about the linux-arm-kernel mailing list