[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] libxl: fix compilation on ARM



On Mon, Apr 04, 2016 at 11:48:59AM +0100, Ian Jackson wrote:
> Ian Jackson writes ("Re: [PATCH] libxl: fix compilation on ARM"):
> > Following discussion on irc, here is a v2:
> 
> I forgot to update the commit message.
> 
> Ian.
> 
> From 4cbc583020642d6c333d07e297c52594bb88b542 Mon Sep 17 00:00:00 2001
> From: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
> Date: Mon, 4 Apr 2016 11:41:19 +0100
> Subject: [PATCH] libxl: ARM build: fix type of 
> libxl__srm_callout_callback_restore_results
> 
> COLO introduced a few callbacks. The original implementation used
> unsigned long for a type which in fact should be xen_pfn_t. That broke
> libxl compilation on ARM, because xen_pfn_t is not a synonym for
> unsigned long on ARM platform.
> 
> Fixing this requires modifying the perl script: specifically now we
> need to include xenctrl.h before _libxl_save_msgs_*.h, rather than
> afterwards, so that we can use xen_pfn_t there.
> 
> Reported-by: Olaf Hering <olaf@xxxxxxxxx>
> Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
> Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>

Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx>

> ---
>  tools/libxl/libxl_create.c         |    4 ++--
>  tools/libxl/libxl_save_msgs_gen.pl |    8 ++++----
>  2 files changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
> index 6882ff8..4b02de9 100644
> --- a/tools/libxl/libxl_create.c
> +++ b/tools/libxl/libxl_create.c
> @@ -1109,8 +1109,8 @@ static void domcreate_bootloader_done(libxl__egc *egc,
>      domcreate_stream_done(egc, &dcs->srs, rc);
>  }
>  
> -void libxl__srm_callout_callback_restore_results(unsigned long store_mfn,
> -          unsigned long console_mfn, void *user)
> +void libxl__srm_callout_callback_restore_results(xen_pfn_t store_mfn,
> +          xen_pfn_t console_mfn, void *user)
>  {
>      libxl__save_helper_state *shs = user;
>      libxl__domain_create_state *dcs = shs->caller_state;
> diff --git a/tools/libxl/libxl_save_msgs_gen.pl 
> b/tools/libxl/libxl_save_msgs_gen.pl
> index c2243f2..3ae7373 100755
> --- a/tools/libxl/libxl_save_msgs_gen.pl
> +++ b/tools/libxl/libxl_save_msgs_gen.pl
> @@ -29,8 +29,8 @@ our @msgs = (
>      [  6, 'srcxA',  "wait_checkpoint", [] ],
>      [  7, 'scxA',   "switch_qemu_logdirty",  [qw(int domid
>                                                unsigned enable)] ],
> -    [  8, 'rcx',    "restore_results",       ['unsigned long', 'store_gfn',
> -                                              'unsigned long', 
> 'console_gfn'] ],
> +    [  8, 'rcx',    "restore_results",       ['xen_pfn_t', 'store_gfn',
> +                                              'xen_pfn_t', 'console_gfn'] ],
>      [  9, 'srW',    "complete",              [qw(int retval
>                                                   int errnoval)] ],
>  );
> @@ -70,9 +70,9 @@ END_BOTH
>  
>  END_CALLOUT
>  
> -#include "_libxl_save_msgs_${ah}.h"
>  #include <xenctrl.h>
>  #include <xenguest.h>
> +#include "_libxl_save_msgs_${ah}.h"
>  
>  END_HELPER
>  }
> @@ -141,7 +141,7 @@ static void bytes_put(unsigned char *const buf, int *len,
>  
>  END
>  
> -foreach my $simpletype (qw(int uint16_t uint32_t unsigned), 'unsigned long') 
> {
> +foreach my $simpletype (qw(int uint16_t uint32_t unsigned), 'unsigned long', 
> 'xen_pfn_t') {
>      my $typeid = typeid($simpletype);
>      $out_body{'callout'} .= <<END;
>  static int ${typeid}_get(const unsigned char **msg,
> -- 
> 1.7.10.4
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.