aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--board-qemu/slof/rtas.fs9
-rw-r--r--lib/libhvcall/hvcall.S9
2 files changed, 8 insertions, 10 deletions
diff --git a/board-qemu/slof/rtas.fs b/board-qemu/slof/rtas.fs
index 90efe60..6d8090f 100644
--- a/board-qemu/slof/rtas.fs
+++ b/board-qemu/slof/rtas.fs
@@ -153,7 +153,14 @@ rtas-node set-node
;
hv-rtas-get
-dup encode-int s" rtas-size" s" /rtas" find-node set-property
+s" rtas-size" rtas-node get-property
+IF
+ dup encode-int s" rtas-size" rtas-node set-property
+ELSE
+ decode-int nip nip
+ over 2dup < IF ." No enough space for RTAS: " . . cr abort THEN
+ 2drop
+THEN
to rtas-size
to rtas-base
diff --git a/lib/libhvcall/hvcall.S b/lib/libhvcall/hvcall.S
index 9f23624..b19f6db 100644
--- a/lib/libhvcall/hvcall.S
+++ b/lib/libhvcall/hvcall.S
@@ -134,13 +134,6 @@ ENTRY(hv_rtas)
ori r3,r3,KVMPPC_H_RTAS@l
HVCALL
blr
- /*
- * A space reserved for a RTAS log from Firmware Assisted
- * Non-Maskable Interrupts Option (FWNMI) feature.
- *
- * The QEMU implementation uses 0x30..0x800 for the log.
- */
- .space 2048 - (. - hv_rtas)
.globl hv_rtas_size
hv_rtas_size:
.long . - hv_rtas;
@@ -151,8 +144,6 @@ ENTRY(hv_rtas_broken_sc1)
ori r3,r3,KVMPPC_H_RTAS@l
.long 0x7c000268
blr
- /* See the FWNMI note above */
- .space 2048 - (. - hv_rtas_broken_sc1)
.globl hv_rtas_broken_sc1_size
hv_rtas_broken_sc1_size:
.long . - hv_rtas_broken_sc1;