From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Bonzini Subject: Re: [PATCH 1/2] powerpc: Define the hcall opcodes & return values we need Date: Tue, 23 Jun 2015 11:33:41 +0200 Message-ID: <558927F5.1040401@redhat.com> References: <1434698461-15539-1-git-send-email-mpe@ellerman.id.au> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Cc: andre.przywara@arm.com, kvm@vger.kernel.org, kvm-ppc@vger.kernel.org, svaidy@linux.vnet.ibm.com, matt@ozlabs.org To: Michael Ellerman , will.deacon@arm.com Return-path: Received: from mail-wi0-f179.google.com ([209.85.212.179]:35562 "EHLO mail-wi0-f179.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752229AbbFWJdp (ORCPT ); Tue, 23 Jun 2015 05:33:45 -0400 In-Reply-To: <1434698461-15539-1-git-send-email-mpe@ellerman.id.au> Sender: kvm-owner@vger.kernel.org List-ID: On 19/06/2015 09:21, Michael Ellerman wrote: > Now that we don't have the kernel header on hand, just define the > minimum set of hcall opcodes and return values we need in order to > build. > > Signed-off-by: Michael Ellerman > --- > powerpc/spapr.h | 25 ++++++++++++++++++++----- > 1 file changed, 20 insertions(+), 5 deletions(-) > > diff --git a/powerpc/spapr.h b/powerpc/spapr.h > index 0537f881c0e4..7a377d093ef4 100644 > --- a/powerpc/spapr.h > +++ b/powerpc/spapr.h > @@ -16,17 +16,32 @@ > > #include > > -/* We need some of the H_ hcall defs, but they're __KERNEL__ only. */ > -#define __KERNEL__ > -#include > -#undef __KERNEL__ > - This thing is exactly why I think kvmtool's life in the kernel tree was harmful. Why wasn't instead H_* just moved to a uapi/ header?!?!? Can you do that now? Thanks, Paolo > #include "kvm/kvm.h" > #include "kvm/kvm-cpu.h" > > typedef unsigned long target_ulong; > typedef uintptr_t target_phys_addr_t; > > +#define H_SUCCESS 0 > +#define H_HARDWARE -1 /* Hardware error */ > +#define H_FUNCTION -2 /* Function not supported */ > +#define H_PARAMETER -4 /* Parameter invalid, out-of-range or conflicting */ > + > +#define H_SET_DABR 0x28 > +#define H_LOGICAL_CI_LOAD 0x3c > +#define H_LOGICAL_CI_STORE 0x40 > +#define H_LOGICAL_CACHE_LOAD 0x44 > +#define H_LOGICAL_CACHE_STORE 0x48 > +#define H_LOGICAL_ICBI 0x4c > +#define H_LOGICAL_DCBF 0x50 > +#define H_GET_TERM_CHAR 0x54 > +#define H_PUT_TERM_CHAR 0x58 > +#define H_CPPR 0x68 > +#define H_EOI 0x64 > +#define H_IPI 0x6c > +#define H_XIRR 0x74 > +#define MAX_HCALL_OPCODE H_XIRR > + > /* > * The hcalls above are standardized in PAPR and implemented by pHyp > * as well. >