Re: [PATCH 1/2] powerpc: Define the hcall opcodes & return values we need

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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 <mpe@xxxxxxxxxxxxxx>
> ---
>  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 <inttypes.h>
>  
> -/* We need some of the H_ hcall defs, but they're __KERNEL__ only. */
> -#define __KERNEL__
> -#include <asm/hvcall.h>
> -#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.
> 
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux