[PATCH] x86: Make sure E820_PM[AE]M are defined if needed

Baoquan He bhe at redhat.com
Thu Nov 26 22:58:47 PST 2015


On 11/27/15 at 09:36am, Simon Horman wrote:
> It appears that (older?) revisions of xenctl.h define
> all of the E820_* values used in kexec-x86-common.c except
> E820_PMAM and E820_PMEM. This results in a build failure when
> building against libxenctl.
> 
> Avoid this problem by providing local definitions of those values.
> 
> It seems reasonable to do so in the kexec-x86-common.c as
> currently that is the only source file that uses the values in question.
> 
> Fixes: 56a12abc1df1 ("kexec: fix mmap return code handling")
> Cc: Michael Holzheu <holzheu at linux.vnet.ibm.com>
> Cc: Petr Tesarik <ptesarik at suse.com>
> Cc: Baoquan He <bhe at redhat.com>
> Signed-off-by: Simon Horman <horms at verge.net.au>
> ---
>  kexec/arch/i386/kexec-x86-common.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/kexec/arch/i386/kexec-x86-common.c b/kexec/arch/i386/kexec-x86-common.c
> index b308e4719503..3e97239c0c78 100644
> --- a/kexec/arch/i386/kexec-x86-common.c
> +++ b/kexec/arch/i386/kexec-x86-common.c
> @@ -44,6 +44,12 @@
>  #include <xenctrl.h>
>  #endif /* HAVE_LIBXENCTRL */
>  
> +/* Used below but not present in (older?) xenctrl.h */
> +#ifndef E820_PMEM
> +#define E820_PMEM         7
> +#define E820_PRAM         12
> +#endif
> +

It looks very ugly but seems no better way to do it.

>  static struct memory_range memory_range[MAX_MEMORY_RANGES];
>  
>  /**
> -- 
> 2.1.4
> 



More information about the kexec mailing list