[PATCH 1/4] xen: Take into account Xen control interface changes since Xen Ver. 4.1

Konrad Rzeszutek Wilk konrad.wilk at oracle.com
Sun Aug 21 23:56:50 EDT 2011


> xc_interface_open() receive three arguments instead of void and returns
> pointer to xc_interface type instead of int since Xen Ver. 4.1. Take into
> account that and allow kexec-tools compilation with all versions of Xen.
> 
> Signed-off-by: Daniel Kiper <dkiper at net-space.pl>
> ---
>  kexec/crashdump-xen.c |   15 ++++++++++++++-
>  1 files changed, 14 insertions(+), 1 deletions(-)
> 
> diff --git a/kexec/crashdump-xen.c b/kexec/crashdump-xen.c
> index b347764..9dfabf8 100644
> --- a/kexec/crashdump-xen.c
> +++ b/kexec/crashdump-xen.c
> @@ -126,19 +126,32 @@ unsigned long xen_architecture(struct crash_elf_info 
*elf_info)
>  {
>  	unsigned long machine = elf_info->machine;
>  #ifdef HAVE_LIBXENCTRL
> -	int xc, rc;
> +	int rc;
>  	xen_capabilities_info_t capabilities;
> +#ifdef XENCTRL_HAS_XC_INTERFACE
> +	xc_interface *xc;
> +#else
> +	int xc;
> +#endif

Where is the #endif for HAVE_LIBXENCTRL?

>  
>  	if (!xen_present())
>  		goto out;
>  
>  	memset(capabilities, '0', XEN_CAPABILITIES_INFO_LEN);
>  
> +#ifdef XENCTRL_HAS_XC_INTERFACE
> +	xc = xc_interface_open(NULL, NULL, 0);
> +	if ( !xc ) {
> +		fprintf(stderr, "failed to open xen control interface.\n");
> +		goto out;
> +	}
> +#else
>  	xc = xc_interface_open();
>  	if ( xc == -1 ) {
>  		fprintf(stderr, "failed to open xen control interface.\n");
>  		goto out;
>  	}
> +#endif
>  
>  	rc = xc_version(xc, XENVER_capabilities, &capabilities[0]);
>  	if ( rc == -1 ) {
> -- 
> 1.5.6.5
> 



More information about the kexec mailing list