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

From: Anshuman Khandual <[email-masked]>
Date: Thu, 04 Feb 2016 16:41:10 +0530

On 02/02/2016 06:28 AM, David Gibson wrote:
> On Mon, Feb 01, 2016 at 12:41:31PM +0530, Anshuman Khandual wrote:
>> 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.
> 
> Oops, thanks.
> 
>>
>>>
>>> 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 ?
> 
> I'm not quite sure what you're suggesting here.
> 
>> #define H_HPT_RESIZE_PREPARE	0xf003
>> #define H_HPT_RESIZE_COMMIT	0xf004

Just little bit of change of name of the macro like this

H_RESIZE_HPT_PREPARE -->  H_HPT_RESIZE_PREPARE
H_RESIZE_HPT_COMMIT -->  H_HPT_RESIZE_COMMIT