summaryrefslogtreecommitdiffstats
path: root/target/arm/cpu64.c
diff options
context:
space:
mode:
authorPeter Maydell2017-01-20 12:15:09 +0100
committerPeter Maydell2017-01-20 12:15:09 +0100
commite45868a3f30a1fdf22bdee8b503b71d8f642f0f4 (patch)
treeecaf3001b491870c01895324954417f27ecc0274 /target/arm/cpu64.c
parenthw/arm/virt: Wire VIRQ, VFIQ, maintenance irq lines from GIC to CPU (diff)
downloadqemu-e45868a3f30a1fdf22bdee8b503b71d8f642f0f4.tar.gz
qemu-e45868a3f30a1fdf22bdee8b503b71d8f642f0f4.tar.xz
qemu-e45868a3f30a1fdf22bdee8b503b71d8f642f0f4.zip
target-arm: Add ARMCPU fields for GIC CPU i/f config
Add fields to the ARMCPU structure to allow CPU classes to specify the configurable aspects of their GIC CPU interface. In particular, the virtualization support allows different values for number of list registers, priority bits and preemption bits. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Acked-by: Alistair Francis <alistair.francis@xilinx.com> Message-id: 1483977924-14522-6-git-send-email-peter.maydell@linaro.org
Diffstat (limited to 'target/arm/cpu64.c')
-rw-r--r--target/arm/cpu64.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c
index 549cb1ee93..73c7f318ec 100644
--- a/target/arm/cpu64.c
+++ b/target/arm/cpu64.c
@@ -147,6 +147,9 @@ static void aarch64_a57_initfn(Object *obj)
cpu->ccsidr[1] = 0x201fe012; /* 48KB L1 icache */
cpu->ccsidr[2] = 0x70ffe07a; /* 2048KB L2 cache */
cpu->dcz_blocksize = 4; /* 64 bytes */
+ cpu->gic_num_lrs = 4;
+ cpu->gic_vpribits = 5;
+ cpu->gic_vprebits = 5;
define_arm_cp_regs(cpu, cortex_a57_a53_cp_reginfo);
}
@@ -201,6 +204,9 @@ static void aarch64_a53_initfn(Object *obj)
cpu->ccsidr[1] = 0x201fe00a; /* 32KB L1 icache */
cpu->ccsidr[2] = 0x707fe07a; /* 1024KB L2 cache */
cpu->dcz_blocksize = 4; /* 64 bytes */
+ cpu->gic_num_lrs = 4;
+ cpu->gic_vpribits = 5;
+ cpu->gic_vprebits = 5;
define_arm_cp_regs(cpu, cortex_a57_a53_cp_reginfo);
}