diff options
-rw-r--r-- | board-qemu/slof/fdt.fs | 14 | ||||
-rw-r--r-- | board-qemu/slof/rtas.fs | 9 | ||||
-rw-r--r-- | lib/libhvcall/hvcall.code | 13 | ||||
-rw-r--r-- | lib/libhvcall/hvcall.in | 2 | ||||
-rw-r--r-- | lib/libhvcall/libhvcall.h | 3 |
5 files changed, 4 insertions, 37 deletions
diff --git a/board-qemu/slof/fdt.fs b/board-qemu/slof/fdt.fs index a24e344..851645e 100644 --- a/board-qemu/slof/fdt.fs +++ b/board-qemu/slof/fdt.fs @@ -308,28 +308,18 @@ fdt-claim-reserve 3drop ; -\ Tell QEMU about the updated phandle: -: fdt-hv-update-phandle ( old new -- ) - hv-update-phandle ?dup IF - \ Ignore hcall not implemented error, print error otherwise - dup -2 <> IF ." HV-UPDATE-PHANDLE error: " . cr ELSE drop THEN - THEN -; - \ Replace one FDT phandle "val" with a OF1275 phandle "node" in the \ whole tree: : fdt-update-phandle ( val node -- ) >r FALSE TO (fdt-phandle-replaced) - r@ 2dup s" /" find-node ( val node val node root ) - fdt-replace-all-phandles ( val node ) + r@ s" /" find-node ( val node root ) + fdt-replace-all-phandles (fdt-phandle-replaced) IF - fdt-hv-update-phandle r@ set-node s" phandle" delete-property s" linux,phandle" delete-property ELSE - 2drop diagnostic-mode? IF cr ." Warning: Did not replace phandle in " r@ node>path type cr THEN diff --git a/board-qemu/slof/rtas.fs b/board-qemu/slof/rtas.fs index 54d3929..b17157e 100644 --- a/board-qemu/slof/rtas.fs +++ b/board-qemu/slof/rtas.fs @@ -172,14 +172,7 @@ rtas-node set-node : instantiate-rtas ( adr -- entry ) dup rtas-base swap rtas-size move - dup rtas-entry rtas-base - + - 2dup hv-rtas-update dup 0 <> IF - \ Ignore hcall not implemented error, print error otherwise - dup -2 <> IF ." HV-RTAS-UPDATE error: " . cr ELSE drop THEN - ELSE - drop - THEN - nip + rtas-entry rtas-base - + ; device-end diff --git a/lib/libhvcall/hvcall.code b/lib/libhvcall/hvcall.code index 8349748..744469f 100644 --- a/lib/libhvcall/hvcall.code +++ b/lib/libhvcall/hvcall.code @@ -111,12 +111,6 @@ PRIM(hv_X2d_cas) TOS.u = hv_cas(vec, buf, size); MIRP -PRIM(hv_X2d_rtas_X2d_update) - unsigned long rtas_entry = TOS.u; POP; - unsigned long rtas_base = TOS.u; - TOS.u = hv_generic(KVMPPC_H_RTAS_UPDATE, rtas_base, rtas_entry); -MIRP - PRIM(get_X2d_print_X2d_version) unsigned long addr = TOS.u; POP; get_print_banner(addr); @@ -129,10 +123,3 @@ PRIM(check_X2d_and_X2d_patch_X2d_sc1) patch_broken_sc1((void*)start, (void*)end, (void*)patch_ins); MIRP - -// : hv-update-phandle ( old_phandle new_phandle -- res ) -PRIM(hv_X2d_update_X2d_phandle) - uint32_t new_phandle = TOS.u; POP; - uint32_t old_phandle = TOS.u; - TOS.u = hv_generic(KVMPPC_H_UPDATE_PHANDLE, old_phandle, new_phandle); -MIRP diff --git a/lib/libhvcall/hvcall.in b/lib/libhvcall/hvcall.in index ab7513a..e99d6d1 100644 --- a/lib/libhvcall/hvcall.in +++ b/lib/libhvcall/hvcall.in @@ -30,6 +30,4 @@ cod(RX!) cod(hv-logical-memop) cod(hv-cas) -cod(hv-rtas-update) -cod(hv-update-phandle) cod(get-print-version) diff --git a/lib/libhvcall/libhvcall.h b/lib/libhvcall/libhvcall.h index 5776a2b..6356a62 100644 --- a/lib/libhvcall/libhvcall.h +++ b/lib/libhvcall/libhvcall.h @@ -24,8 +24,7 @@ #define KVMPPC_H_LOGICAL_MEMOP (KVMPPC_HCALL_BASE + 0x1) /* Client Architecture support */ #define KVMPPC_H_CAS (KVMPPC_HCALL_BASE + 0x2) -#define KVMPPC_H_RTAS_UPDATE (KVMPPC_HCALL_BASE + 0x3) -#define KVMPPC_H_UPDATE_PHANDLE (KVMPPC_HCALL_BASE + 0x4) +#define KVMPPC_HCALL_MAX KVMPPC_H_CAS #ifndef __ASSEMBLY__ |