]> git.proxmox.com Git - qemu.git/commit
hw/arm_boot, exynos4210, highbank: Fix secondary boot GIC init
authorPeter Maydell <peter.maydell@linaro.org>
Tue, 11 Dec 2012 11:30:37 +0000 (11:30 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 11 Dec 2012 11:30:37 +0000 (11:30 +0000)
commitbf471f7950e9dc9416747b2774eb712f63afe5a7
tree5196a231d3135148033e6287a5c59a58cb98574f
parent1c97e303d4ea80a2691334b0febe87a50660f99d
hw/arm_boot, exynos4210, highbank: Fix secondary boot GIC init

Fix the code in the secondary CPU boot stubs so that it correctly
initialises the GIC rather than relying on bugs or implementation
dependent aspects of the QEMU GIC implementation:
 * set the GIC_PMR.Priority field to all-ones, so that all
   interrupts are passed through. The default of all-zeroes
   means all interrupts are masked, and QEMU only booted because
   of a bug in the priority masking in our GIC implementation.
 * add a barrier after GIC setup and before WFI to ensure that
   GIC config is complete before we go into a possible low power
   state. This isn't needed with the software GIC model but could
   be required when using KVM and executing this code on the
   real hardware CPU.

Note that of the three secondary stub implementations, only
the common generic one needs to support both v6 and v7 DSB
encodings; highbank and exynos4210 will always be v7 CPUs.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Igor Mitsyanko <i.mitsyanko@samsung.com>
hw/arm_boot.c
hw/exynos4210.c
hw/highbank.c