Re: [PATCH 02/10] ARM: KVM: vgic: sanitize GICH_VMCR value

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

 



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


[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