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

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

 



On Wed, Oct 3, 2012 at 6:02 AM, Will Deacon <will.deacon@xxxxxxx> wrote:
> On Tue, Oct 02, 2012 at 08:45:54PM +0100, Peter Maydell wrote:
>> On 2 October 2012 20:28, Will Deacon <will.deacon@xxxxxxx> 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.
>
Userspace provides an identifier (0 for Cortex-A15). This changed in
the last patch series, so as to only have one (public and internal)
identifier used to index into the array of core-specific coprocessor
handlings.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux