summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Zyngier2013-02-07 11:50:18 +0100
committerMarc Zyngier2013-06-12 17:42:16 +0200
commit06c7654d2fb8bac7b1af4340ad59434a5d89b86a (patch)
treed25e9139c864ac22d96e84feae9b759f6083856d
parentarm64: KVM: 32bit handling of coprocessor traps (diff)
downloadkernel-qcow2-linux-06c7654d2fb8bac7b1af4340ad59434a5d89b86a.tar.gz
kernel-qcow2-linux-06c7654d2fb8bac7b1af4340ad59434a5d89b86a.tar.xz
kernel-qcow2-linux-06c7654d2fb8bac7b1af4340ad59434a5d89b86a.zip
arm64: KVM: CPU specific 32bit coprocessor access
Enable handling of CPU specific 32bit coprocessor access. Not much here either. Reviewed-by: Christopher Covington <cov@codeaurora.org> Reviewed-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
-rw-r--r--arch/arm64/kvm/sys_regs_generic_v8.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/arm64/kvm/sys_regs_generic_v8.c b/arch/arm64/kvm/sys_regs_generic_v8.c
index d4e803907312..4268ab9356b1 100644
--- a/arch/arm64/kvm/sys_regs_generic_v8.c
+++ b/arch/arm64/kvm/sys_regs_generic_v8.c
@@ -59,11 +59,21 @@ static const struct sys_reg_desc genericv8_sys_regs[] = {
access_actlr, reset_actlr, ACTLR_EL1 },
};
+static const struct sys_reg_desc genericv8_cp15_regs[] = {
+ /* ACTLR */
+ { Op1(0b000), CRn(0b0001), CRm(0b0000), Op2(0b001),
+ access_actlr },
+};
+
static struct kvm_sys_reg_target_table genericv8_target_table = {
.table64 = {
.table = genericv8_sys_regs,
.num = ARRAY_SIZE(genericv8_sys_regs),
},
+ .table32 = {
+ .table = genericv8_cp15_regs,
+ .num = ARRAY_SIZE(genericv8_cp15_regs),
+ },
};
static int __init sys_reg_genericv8_init(void)