The following error triggers on Fedora 22: In file included from /scm/qemu/include/hw/xen/xen_backend.h:4:0, from hw/block/xen_disk.c:39: /scm/qemu/include/hw/xen/xen_common.h:198:18: error: conflicting types for ‘ioservid_t’ typedef uint32_t ioservid_t; ^ In file included from /usr/include/xen/hvm/params.h:24:0, from /usr/include/xenctrl.h:46, from /scm/qemu/include/hw/xen/xen_common.h:9, from /scm/qemu/include/hw/xen/xen_backend.h:4, from hw/block/xen_disk.c:39: /usr/include/xen/hvm/hvm_op.h:255:18: note: previous declaration of ‘ioservid_t’ was here typedef uint16_t ioservid_t; ^ /scm/qemu/rules.mak:57: recipe for target 'hw/block/xen_disk.o' failed make: *** [hw/block/xen_disk.o] Error 1 make: *** Waiting for unfinished jobs....
Reverting 3996e85c1822e05c50250f8d2d1e57b6bea1229d Author: Paul Durrant <paul.durr...@citrix.com> Date: Tue Jan 20 11:06:19 2015 +0000 Xen: Use the ioreq-server API when available Looking at that header: #ifndef HVM_PARAM_BUFIOREQ_EVTCHN #define HVM_PARAM_BUFIOREQ_EVTCHN 26 #endif #define IOREQ_TYPE_PCI_CONFIG 2 typedef uint32_t ioservid_t; Are all polluting the global namespace, not to mention, violate the coding style. Why not prefix them with Xen_, xen_ etc? -- MST