[SLOF] [PATCH slof v4 1/3] Revert various SLOF-to-QEMU private hypercalls

Alexey Kardashevskiy aik at ozlabs.ru
Wed Oct 4 16:39:59 AEDT 2017


This reverts commits:

604d28cc3 "board-qemu: add private hcall to inform host on "phandle" update"
089fc18a9 "libhvcall: drop unused KVMPPC_H_REPORT_MC_ERR and KVMPPC_H_NMI_MCE defines"
1c17c13a5 "rtas: Improve error handling in instantiate-rtas"
f9a60de30 "Add private HCALL to inform updated RTAS base and entry"

A bigger hammer is coming soon which will pass the entire device
tree to QEMU, not just some random bits.

This is a single patch (not 4) for better bisectability.

Signed-off-by: Alexey Kardashevskiy <aik at ozlabs.ru>
---
 lib/libhvcall/libhvcall.h |  3 +--
 board-qemu/slof/fdt.fs    | 14 ++------------
 board-qemu/slof/rtas.fs   |  9 +--------
 lib/libhvcall/hvcall.code | 13 -------------
 lib/libhvcall/hvcall.in   |  2 --
 5 files changed, 4 insertions(+), 37 deletions(-)

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__
 
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)
-- 
2.11.0



More information about the SLOF mailing list