On 21 November 2012 18:15, Marc Zyngier <marc.zyngier@xxxxxxx> wrote: > + default_vmcr = readl_relaxed(vgic_vctrl_base + GICH_VMCR); > + default_vmcr |= (0x1f << 27); /* Priority */ > + default_vmcr &= ~0x21f; /* Clear VEM, VMCPBR, VMFIQEn, VMAckCtl, VMGrp1En, VMGrp0En */ Why are we setting the VMPriMask (bits [31:27]) to all 1s? This field sets GICV_PMR.Priority, which is what the guest sees as its GICC_PMR, and the GICC_PMR reset value is zero (as per Table 4.2 in the GIC v2 spec). I think you could also choose to write zeros to the VMBP and VMABP fields since I think the spec defines that writing a value less than the minimum supported value results in setting the field to the minimum (and the minimum is the defined reset value). However I had to chase through several sections of the GIC spec to arrive at this interpretation, so possibly trusting that the bootloader hasn't decided to mess with the GIC post-reset is safer :-) -- PMM _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm