From patchwork Wed Oct 4 05:39:59 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Kardashevskiy X-Patchwork-Id: 821162 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [103.22.144.68]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3y6Pr14jcRz9s82 for ; Wed, 4 Oct 2017 16:40:17 +1100 (AEDT) Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 3y6Pr11PsLzDqm0 for ; Wed, 4 Oct 2017 16:40:17 +1100 (AEDT) X-Original-To: slof@lists.ozlabs.org Delivered-To: slof@lists.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=ozlabs.ru (client-ip=107.173.13.209; helo=ozlabs.ru; envelope-from=aik@ozlabs.ru; receiver=) Received: from ozlabs.ru (ozlabs.ru [107.173.13.209]) by lists.ozlabs.org (Postfix) with ESMTP id 3y6Pqx229YzDqlt for ; Wed, 4 Oct 2017 16:40:12 +1100 (AEDT) Received: from vpl1.ozlabs.ibm.com (localhost [IPv6:::1]) by ozlabs.ru (Postfix) with ESMTP id B2DD73A60032; Wed, 4 Oct 2017 01:38:49 -0400 (EDT) From: Alexey Kardashevskiy To: slof@lists.ozlabs.org Date: Wed, 4 Oct 2017 16:39:59 +1100 Message-Id: <20171004054001.42031-2-aik@ozlabs.ru> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20171004054001.42031-1-aik@ozlabs.ru> References: <20171004054001.42031-1-aik@ozlabs.ru> Subject: [SLOF] [PATCH slof v4 1/3] Revert various SLOF-to-QEMU private hypercalls X-BeenThere: slof@lists.ozlabs.org X-Mailman-Version: 2.1.24 Precedence: list List-Id: "Patches for https://github.com/aik/SLOF" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Greg Kurz , Aravinda Prasad MIME-Version: 1.0 Errors-To: slof-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "SLOF" 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 --- 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)