aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaojian Zhuang <haojian.zhuang@linaro.org>2014-07-01 16:06:17 +0800
committerHaojian Zhuang <haojian.zhuang@linaro.org>2014-07-01 16:06:17 +0800
commitd760dc5f6fe1f24f1dc7e2837c107b4e8465af55 (patch)
tree0aded894cf74576462bf9721ded79d6c154c5fc8
parentd6593c7a7531b940138c1ec44ce85c22d0a8a89c (diff)
kvm: arm64: remove parsing apr offset from hw_cfg
Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
-rw-r--r--arch/arm64/kvm/hyp.S24
1 files changed, 4 insertions, 20 deletions
diff --git a/arch/arm64/kvm/hyp.S b/arch/arm64/kvm/hyp.S
index 34b6c202ee64..2dbe337d74eb 100644
--- a/arch/arm64/kvm/hyp.S
+++ b/arch/arm64/kvm/hyp.S
@@ -402,9 +402,7 @@ __kvm_hyp_code_start:
ldr w8, [x2, #GICH_EISR1]
ldr w9, [x2, #GICH_ELRSR0]
ldr w10, [x2, #GICH_ELRSR1]
- ldr w11, [x3, #VGIC_CPU_HW_CFG]
- mov w11, w11, lsr #HWCFG_APR_SHIFT
- ldr w11, [x2, w10]
+ ldr w11, [x2, #GICH_APR]
CPU_BE( rev w4, w4 )
CPU_BE( rev w5, w5 )
CPU_BE( rev w6, w6 )
@@ -427,13 +425,8 @@ CPU_BE( rev w11, w11 )
str wzr, [x2, #GICH_HCR]
/* Save list registers */
+ add x2, x2, #GICH_LR0
ldr w4, [x3, #VGIC_CPU_HW_CFG]
- mov w6, w4, lsr #HWCFG_APR_SHIFT
- ldr w7, =HWCFG_NR_LR_MASK
- and w4, w4, w7
- /* the offset between GICH_APR and GICH_LR0 is 0x10 */
- add w6, w6, 0x10
- add x2, x2, w6
add x3, x3, #VGIC_CPU_LR
1: ldr w5, [x2], #4
CPU_BE( rev w5, w5 )
@@ -468,20 +461,11 @@ CPU_BE( rev w6, w6 )
str w4, [x2, #GICH_HCR]
str w5, [x2, #GICH_VMCR]
- ldr w4, [x3, #VGIC_CPU_HW_CFG]
- mov w4, w4, #HWCFG_APR_SHIFT
- str w6, [x2, w4]
+ str w6, [x2, #GICH_APR]
/* Restore list registers */
+ add x2, x2, #GICH_LR0
ldr w4, [x3, #VGIC_CPU_HW_CFG]
- mov w6, w4, #HWCFG_APR_SHIFT
- /* the offset between GICH_APR and GICH_LR0 is 0x10 */
- add w6, w6, #0x10
- /* get offset of GICH_LR0 */
- add x2, x2, w6
- /* get NR_LR from VGIC_CPU_HW_CFG */
- ldr w6, =HWCFG_NR_LR_MASK
- and w4, w4, w6
add x3, x3, #VGIC_CPU_LR
1: ldr w5, [x3], #4
CPU_BE( rev w5, w5 )