aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/arm/setup.c
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2013-03-06 08:54:29 +0000
committerIan Campbell <ian.campbell@citrix.com>2013-04-11 09:27:40 +0100
commitb806c2736f6e6b03aadb8671f66f3ddc280f63cb (patch)
treee798b73b54886141273c43315b29c63c125f0df2 /xen/arch/arm/setup.c
parentc0b352d1980f2dc9c8ab05851d1f4517c8d5a258 (diff)
downloadxen-b806c2736f6e6b03aadb8671f66f3ddc280f63cb.tar.gz
xen-b806c2736f6e6b03aadb8671f66f3ddc280f63cb.tar.bz2
xen-b806c2736f6e6b03aadb8671f66f3ddc280f63cb.zip
arm: consolidate setup of hypervisor traps and second stage paging
In particular be sure to initisalise HCR_EL2 on secondary processors. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> [ ijc -- adjusted due to unapplied "trap guest WFI" by s/HCR_TWI// ]
Diffstat (limited to 'xen/arch/arm/setup.c')
-rw-r--r--xen/arch/arm/setup.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 566f36ce0c..cfe3d9416f 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -446,16 +446,9 @@ void __init start_xen(unsigned long boot_phys_offset,
set_current((struct vcpu *)0xfffff000); /* debug sanity */
idle_vcpu[0] = current;
- /* Setup Hyp vector base */
- WRITE_SYSREG((vaddr_t)hyp_traps_vector, VBAR_EL2);
- isb();
-
- /* Setup Stage 2 address translation */
- /* SH0=00, ORGN0=IRGN0=01
- * SL0=01 (Level-1)
- * T0SZ=(1)1000 = -8 (40 bit physical addresses)
- */
- WRITE_SYSREG32(0x80002558, VTCR_EL2); isb();
+ init_traps();
+
+ setup_virt_paging();
enable_vfp();