[v5,1/4] powerpc/nvram: move generic code for nvram and pstore

Michael Ellerman mpe at ellerman.id.au
Mon Mar 23 14:11:41 AEDT 2015


On Thu, 2015-05-02 at 19:36:04 UTC, Hari Bathini wrote:
> With minor checks, we can move most of the code for nvram
> under pseries to a common place to be re-used by other
> powerpc platforms like powernv. This patch moves such
> common code to arch/powerpc/kernel/nvram_64.c file.
> 
> Signed-off-by: Hari Bathini <hbathini at linux.vnet.ibm.com>
> ---
>  arch/powerpc/include/asm/nvram.h       |   50 ++
>  arch/powerpc/include/asm/rtas.h        |    4 
>  arch/powerpc/kernel/nvram_64.c         |  656 ++++++++++++++++++++++++++++++++
>  arch/powerpc/platforms/pseries/nvram.c |  665 --------------------------------
>  4 files changed, 714 insertions(+), 661 deletions(-)
> 
> diff --git a/arch/powerpc/kernel/nvram_64.c b/arch/powerpc/kernel/nvram_64.c
> index 34f7c9b..42e5c6a 100644
> --- a/arch/powerpc/kernel/nvram_64.c
> +++ b/arch/powerpc/kernel/nvram_64.c
> @@ -26,6 +26,9 @@

...

> +/* Derived from logfs_compress() */
> +static int nvram_compress(const void *in, void *out, size_t inlen,
> +							size_t outlen)
> +{
> +	int err, ret;
> +
> +	ret = -EIO;
> +	err = zlib_deflateInit2(&stream, COMPR_LEVEL, Z_DEFLATED, WINDOW_BITS,
> +						MEM_LEVEL, Z_DEFAULT_STRATEGY);
> +	if (err != Z_OK)
> +		goto error;


This fails the build for ppc64e_defconfig:

arch/powerpc/kernel/built-in.o: In function `.oops_to_nvram':
nvram_64.c:(.text+0x12148): undefined reference to `.zlib_deflateInit2'
nvram_64.c:(.text+0x12178): undefined reference to `.zlib_deflate'
nvram_64.c:(.text+0x1218c): undefined reference to `.zlib_deflateEnd'
arch/powerpc/kernel/built-in.o: In function `.nvram_init_oops_partition':
(.init.text+0x41e0): undefined reference to `.zlib_deflate_workspacesize'
make: *** [vmlinux] Error 1


It used to be OK because PSERIES selects ZLIB_DEFLATE.

I decided to just force ZLIB_DEFLATE on for PPC64. That will add ~22K to the
ppc64e kernel image.

Scott, if you guys are bothered by that let me know and we can add some #ifdefs
to avoid it.

cheers


More information about the Linuxppc-dev mailing list