summaryrefslogtreecommitdiff
path: root/monitor.S
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 /monitor.S
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.
Diffstat (limited to 'monitor.S')
-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