|
[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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |