summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoffer Dall <cdall@cs.columbia.edu>2011-05-05 08:54:10 +0200
committerChristoffer Dall <cdall@cs.columbia.edu>2011-05-05 08:54:10 +0200
commit0d619da1d390944350535acee9d0c1a49b887a29 (patch)
tree6c81206587aff763064bfbccc45ed38f4d26d012
parent224f381d00cc19e7f999a0f9018856a8d2bae988 (diff)
Change the Hyp API to prepare for simpler version
Move the writing of the HVBAR to the top, so we can simply strip off the rest afterwards.
-rw-r--r--monitor.S23
1 files changed, 11 insertions, 12 deletions
diff --git a/monitor.S b/monitor.S
index fd2742e..0c17017 100644
--- a/monitor.S
+++ b/monitor.S
@@ -52,6 +52,7 @@
@ Jump table for the SMC hypervisor API calls
@
_hyp_funcs:
+ .long _write_hvbar
.long _read_httbr
.long _write_httbr
.long _read_htcr
@@ -64,8 +65,6 @@ _hyp_funcs:
.long _write_hsctlr
.long _read_hypsp
.long _write_hypsp
- .long _read_hvbar
- .long _write_hvbar
@
@ Switch to non-secure mode
@@ -79,6 +78,16 @@ _non_sec:
movs pc, lr
@
+ @ Read/Write HVBAR
+ @
+_read_hvbar:
+ mrc p15, 4, r0, c12, c0, 0
+ movs pc, lr
+_write_hvbar:
+ mcr p15, 4, r0, c12, c0, 0
+ movs pc, lr
+
+ @
@ Read/Write HTTBR
@
_read_httbr:
@@ -133,13 +142,3 @@ _read_hypsp:
_write_hypsp:
mov sp, r0
movs pc, lr
-
- @
- @ Read/Write HVBAR
- @
-_read_hvbar:
- mrc p15, 4, r0, c12, c0, 0
- movs pc, lr
-_write_hvbar:
- mcr p15, 4, r0, c12, c0, 0
- movs pc, lr