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

Re: [Xen-devel] [PATCHv6 0/8] tools: rework VM Generation ID



>>One hunk against tools/tests/xen-access/xen-access.c in the first patch
>>failed to apply and the new code in tools/libxc/xc_mem_event.c was
>>different enough that I didn't feel confident just fixing it. So I
>>dropped that hunk which was OK because the old functions remain.
>>Perhaps you or Aravindh (ccd) could followup with a fix?
>
>I will send out a fix shortly.

I added the following patch for the above:

diff --git a/tools/libxc/xc_mem_event.c b/tools/libxc/xc_mem_event.c
index 0b2eecb..faf1cc6 100644
--- a/tools/libxc/xc_mem_event.c
+++ b/tools/libxc/xc_mem_event.c
@@ -60,7 +60,7 @@ void *xc_mem_event_enable(xc_interface *xch, domid_t 
domain_id, int param,
                           uint32_t *port)
 {
     void *ring_page = NULL;
-    unsigned long pfn;
+    uint64_t pfn;
     xen_pfn_t ring_pfn, mmap_pfn;
     unsigned int op, mode;
     int rc1, rc2, saved_errno;
@@ -80,7 +80,7 @@ void *xc_mem_event_enable(xc_interface *xch, domid_t 
domain_id, int param,
     }
 
     /* Get the pfn of the ring page */
-    rc1 = xc_get_hvm_param(xch, domain_id, param, &pfn);
+    rc1 = xc_hvm_param_get(xch, domain_id, param, &pfn);
     if ( rc1 != 0 )
     {
         PERROR("Failed to get pfn of ring page\n");

This works for x86 Xen but when I tried cross compiling the ARM tools after 
following 
http://wiki.xenproject.org/wiki/Xen_ARM_with_Virtualization_Extensions/CrossCompiling,
 I am getting the following error. This happens with both armhf and arm64.

aarch64-linux-gnu-gcc  -O1 -fno-omit-frame-pointer  -g -fno-strict-aliasing 
-std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement 
-Wno-unused-but-set-variable -Wno-unused-local-typedefs   -D__XEN_TOOLS__ -MMD 
-MF .xc_mem_event.o.d -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE 
-fno-optimize-sibling-calls -D_GNU_SOURCE  -I../../xen/common/libelf -Werror 
-Wmissing-prototypes -I. -I/xen.arm/tools/libxc/../../tools/include -pthread 
-include /xen.arm/tools/libxc/../../tools/config.h  -c -o xc_mem_event.o 
xc_mem_event.c
xc_mem_event.c: In function 'xc_mem_event_enable':
xc_mem_event.c:84:5: error: implicit declaration of function 'xc_hvm_param_get' 
[-Werror=implicit-function-declaration]
     rc1 = xc_hvm_param_get(xch, domain_id, param, &pfn);
     ^
cc1: all warnings being treated as errors
make[4]: *** [xc_mem_event.o] Error 1
make[4]: Leaving directory `/xen.arm/tools/libxc'
make[3]: *** [build] Error 2
make[3]: Leaving directory `/xen.arm/tools/libxc'
make[2]: *** [subdir-install-libxc] Error 2
make[2]: Leaving directory `/xen.arm/tools'
make[1]: *** [subdirs-install] Error 2
make[1]: Leaving directory `/xen.arm/tools'
make: *** [install-tools] Error 2

I cannot figure out why xc_get_hvm_param() works here but xc_hvm_param_get() 
does not. If I explicitly add the function prototype to xc_mem_event.c the 
compile goes through. But this shouldnât be needed as "xc_private.h" is 
included which includes "xenctrl.h" where the prototype is present. So I don't 
think this is the right thing to do. Could this be an issue with just my build 
env? Any idea what is going on?

Thanks,
Aravindh

_______________________________________________
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®.