Subject: Re: [RFCv2 6/9] pseries: Add hypercall wrappers for hash page table resizing

From: Anshuman Khandual <[email-masked]>
Date: Mon, 01 Feb 2016 12:41:31 +0530

On 01/29/2016 10:54 AM, David Gibson wrote:
> This adds the hypercall numbers and wrapper functions for the hash page
> table resizing hypercalls.
> 
> These are experimental "platform specific" values for now, until we have a
> formal PAPR update.
> 
> It also adds a new firmware feature flat to track the presence of the
> HPT resizing calls.

Its a flag   ....................... ^^^^^^^ here.

> 
> Signed-off-by: David Gibson <[email-masked]>
> ---
>  arch/powerpc/include/asm/firmware.h       |  5 +++--
>  arch/powerpc/include/asm/hvcall.h         |  2 ++
>  arch/powerpc/include/asm/plpar_wrappers.h | 12 ++++++++++++
>  arch/powerpc/platforms/pseries/firmware.c |  1 +
>  4 files changed, 18 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/powerpc/include/asm/firmware.h b/arch/powerpc/include/asm/firmware.h
> index b062924..32435d2 100644
> --- a/arch/powerpc/include/asm/firmware.h
> +++ b/arch/powerpc/include/asm/firmware.h
> @@ -42,7 +42,7 @@
>  #define FW_FEATURE_SPLPAR	ASM_CONST(0x0000000000100000)
>  #define FW_FEATURE_LPAR		ASM_CONST(0x0000000000400000)
>  #define FW_FEATURE_PS3_LV1	ASM_CONST(0x0000000000800000)
> -/* Free				ASM_CONST(0x0000000001000000) */
> +#define FW_FEATURE_HPT_RESIZE	ASM_CONST(0x0000000001000000)
>  #define FW_FEATURE_CMO		ASM_CONST(0x0000000002000000)
>  #define FW_FEATURE_VPHN		ASM_CONST(0x0000000004000000)
>  #define FW_FEATURE_XCMO		ASM_CONST(0x0000000008000000)
> @@ -66,7 +66,8 @@ enum {
>  		FW_FEATURE_MULTITCE | FW_FEATURE_SPLPAR | FW_FEATURE_LPAR |
>  		FW_FEATURE_CMO | FW_FEATURE_VPHN | FW_FEATURE_XCMO |
>  		FW_FEATURE_SET_MODE | FW_FEATURE_BEST_ENERGY |
> -		FW_FEATURE_TYPE1_AFFINITY | FW_FEATURE_PRRN,
> +		FW_FEATURE_TYPE1_AFFINITY | FW_FEATURE_PRRN |
> +		FW_FEATURE_HPT_RESIZE,
>  	FW_FEATURE_PSERIES_ALWAYS = 0,
>  	FW_FEATURE_POWERNV_POSSIBLE = FW_FEATURE_OPAL,
>  	FW_FEATURE_POWERNV_ALWAYS = 0,
> diff --git a/arch/powerpc/include/asm/hvcall.h b/arch/powerpc/include/asm/hvcall.h
> index e3b54dd..195e080 100644
> --- a/arch/powerpc/include/asm/hvcall.h
> +++ b/arch/powerpc/include/asm/hvcall.h
> @@ -293,6 +293,8 @@
>  
>  /* Platform specific hcalls, used by KVM */
>  #define H_RTAS			0xf000
> +#define H_RESIZE_HPT_PREPARE	0xf003
> +#define H_RESIZE_HPT_COMMIT	0xf004

This sound better and matches FW_FEATURE_HPT_RESIZE ?

#define H_HPT_RESIZE_PREPARE	0xf003
#define H_HPT_RESIZE_COMMIT	0xf004