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