[SLOF] [PATCH slof v5 1/6] Revert various SLOF-to-QEMU private hypercalls
Greg Kurz
groug at kaod.org
Tue Oct 17 00:02:49 AEDT 2017
On Mon, 16 Oct 2017 16:16:48 +1100
Alexey Kardashevskiy <aik at ozlabs.ru> wrote:
> 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.
>
> Signed-off-by: Alexey Kardashevskiy <aik at ozlabs.ru>
> ---
Reviewed-by: Greg Kurz <groug at kaod.org>
> 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)
More information about the SLOF
mailing list