Re: [PATCH 09/15] ARM: KVM: vgic: make CPU and DIST sizes available to userspace

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

 



On 29/11/12 18:16, Peter Maydell wrote:
> On 29 November 2012 18:12, Marc Zyngier <marc.zyngier@xxxxxxx> wrote:
>> On 29/11/12 17:36, Peter Maydell wrote:
>>> On 29 November 2012 17:16, Marc Zyngier <marc.zyngier@xxxxxxx> wrote:
>>>> Userspace needs to know how big the CPU and distrbutor interfaces
>>>> are in order to map them at non overlapping addresses.
>>>
>>> As it happens, QEMU doesn't -- we assume that if we asked for
>>> an A15 with a GIC then you give us a GIC compliant with the A15 TRM
>>> and the GIC v2 spec, which lays down how big the CPU and distributor
>>> memory regions must be. I'm not convinced the kernel needs to
>>> include in its userspace-facing headers definitions which are
>>> purely properties of the hardware.
>>
>> It may not be strictly required, but it definitely helps. Also, if I
>> follow your logic, we shouldn't have two different ranges for the
>> distributor and the CPU interface: the A15 TRM already specifies their
>> relative positions.
> 
> Arguably so, yes -- this is how the hardware does it (there is one
> set of config signals setting PERIPHBASE, not separate config for
> cpu and dist i/f addresses.
> 
> However it turns out to be convenient for userspace to do it this way
> round, so I'm not in favour of reworking that at this point :-)

Me neither. We actually need this freedom on arm64, where the model has
an A15-like GICv2. When running a host with 64kB pages, we need to be
able to map the dist and cpu i/f at least 64kB apart.

	M.
-- 
Jazz is not dead. It just smells funny...


_______________________________________________
kvmarm mailing list
kvmarm@xxxxxxxxxxxxxxxxxxxxx
https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm


[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux