[PATCH v2] powerpc: export data from new hcall H_EM_GET_PARMS

Vaidyanathan Srinivasan svaidy at linux.vnet.ibm.com
Tue Mar 23 06:52:23 EST 2010


* Vaidyanathan Srinivasan <svaidy at linux.vnet.ibm.com> [2010-03-10 17:49:25]:

> Hi Ben,
> 
> I have cleaned up the code from the previous post:
> http://lists.ozlabs.org/pipermail/linuxppc-dev/2010-February/080630.html
> 
> Changes from v1:
> * Removed redundant return statements and rearranged code
> 
> Description:
> 
> A new hcall H_EM_GET_PARMS as been added to obtain power mode data
> from the platform.  This data can be used by user space administrative
> tools for better power management.
> 
> The following patch add data from this new hcall into the lparcfg
> driver and exports to user space along with other existing lpar data
> in /proc/powerpc/lparcfg
> 
> Please review and include in powerpc -next tree.

Hi Ben,

Looks like you have not opened the -next tree after the merge window
yet.  The current git tree status is same as -merge.  Please review
and include in powerpc next tree.  

Thanks,
Vaidy

> ---
> 	powerpc: export data from new hcall H_EM_GET_PARMS
> 
> 	Add support for H_EM_GET_PARMS hcall that will return data
> 	related to power modes from the platform.  Export the data
> 	directly to user space for administrative tools to interpret
> 	and use.
> 
> 	cat /proc/powerpc/lparcfg will export power mode data
> 
> Signed-off-by: Vaidyanathan Srinivasan <svaidy at linux.vnet.ibm.com>
> ---
>  arch/powerpc/include/asm/hvcall.h |    1 +
>  arch/powerpc/kernel/lparcfg.c     |   12 +++++++++++-
>  2 files changed, 12 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/powerpc/include/asm/hvcall.h b/arch/powerpc/include/asm/hvcall.h
> index f027581..ebe7493 100644
> --- a/arch/powerpc/include/asm/hvcall.h
> +++ b/arch/powerpc/include/asm/hvcall.h
> @@ -228,6 +228,7 @@
>  #define H_JOIN			0x298
>  #define H_VASI_STATE            0x2A4
>  #define H_ENABLE_CRQ		0x2B0
> +#define H_GET_EM_PARMS		0x2B8
>  #define H_SET_MPP		0x2D0
>  #define H_GET_MPP		0x2D4
>  #define MAX_HCALL_OPCODE	H_GET_MPP
> diff --git a/arch/powerpc/kernel/lparcfg.c b/arch/powerpc/kernel/lparcfg.c
> index d09d1c6..ff698fb 100644
> --- a/arch/powerpc/kernel/lparcfg.c
> +++ b/arch/powerpc/kernel/lparcfg.c
> @@ -37,7 +37,7 @@
>  #include <asm/vio.h>
>  #include <asm/mmu.h>
> 
> -#define MODULE_VERS "1.8"
> +#define MODULE_VERS "1.9"
>  #define MODULE_NAME "lparcfg"
> 
>  /* #define LPARCFG_DEBUG */
> @@ -486,6 +486,14 @@ static void splpar_dispatch_data(struct seq_file *m)
>  	seq_printf(m, "dispatch_dispersions=%lu\n", dispatch_dispersions);
>  }
> 
> +static void parse_em_data(struct seq_file *m)
> +{
> +	unsigned long retbuf[PLPAR_HCALL_BUFSIZE];
> +
> +	if (plpar_hcall(H_GET_EM_PARMS, retbuf) == H_SUCCESS)
> +		seq_printf(m, "power_mode_data=%016lx\n", retbuf[0]);
> +}
> +
>  static int pseries_lparcfg_data(struct seq_file *m, void *v)
>  {
>  	int partition_potential_processors;
> @@ -540,6 +548,8 @@ static int pseries_lparcfg_data(struct seq_file *m, void *v)
> 
>  	seq_printf(m, "slb_size=%d\n", mmu_slb_size);
> 
> +	parse_em_data(m);
> +
>  	return 0;
>  }
> 
> 
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/linuxppc-dev


More information about the Linuxppc-dev mailing list