Drop support for Xen 4.1 and older from qemu-xen
cover Drop support for Xen 4.1 and older from qemu-xen
This is most easily explained by the commit log of the first patch:
Xen 4.2 become unsupported upstream in 09/2105 (see
http://wiki.xen.org/wiki/Xen_Release_Features). However as far as the interfaces provided by the toolstack libraries go 4.2 and 4.3 are indistinguishable.
Therefore drop support for Xen 4.1 and earlier which removes a whole pile of compatibility code which makes future work (to use stable library interfaces provided by upstream) more difficult. In particular all supported versions now use a pointer as a libxc handle (4.1 and earlier used an integer, resulting in various shim layers).
Also Xen 4.2 was the first version of Xen to formally support upstream QEMU (as a preview) so that makes sense as a cut-off now.
The rest of the patches are just further cleanups which become possible.
PATCH 1/5 xen: drop support for Xen 4.1 and older.
Xen 4.2 become unsupported upstream in 09/2105 (see
http://wiki.xen.org/wiki/Xen_Release_Features). However as far as the interfaces provided by the toolstack libraries go 4.2 and 4.3 are indistinguishable.
Therefore drop support for Xen 4.1 and earlier which removes a whole pile of compatibility code which makes future work (to use stable library interfaces provided by upstream) more difficult. In particular all supported versions now use a pointer as a libxc handle (4.1 and earlier used an integer, resulting in various shim layers).
Also Xen 4.2 was the first version of Xen to formally support upstream QEMU (as a preview) so that makes sense as a cut-off now.
This change drops all the configure-y and resulting ifdefs in a mostly mechanical way. A follow up will refactor wrappers which are now unused.
--- configure | 100 +----------------------------- hw/i386/xen/xen_apic.c | 4 -- include/hw/xen/xen.h | 4 -- include/hw/xen/xen_common.h | 146 ++------------------------------------------ xen-hvm.c | 19 ------ 5 files changed, 6 insertions(+), 267 deletions(-)
configure +2 -98
@@ -2111,100 +2111,9 @@ EOF xen_ctrl_version=420 xen=yes - elif - cat > $TMPC <<EOF && -#include <xenctrl.h> -#include <xs.h> -#include <stdint.h> -#include <xen/hvm/hvm_info_table.h> -#if !defined(HVM_MAX_VCPUS) -# error HVM_MAX_VCPUS not defined -#endif -int main(void) { - xs_daemon_open(); - xc_interface_open(0, 0, 0); - xc_hvm_set_mem_type(0, 0, HVMMEM_ram_ro, 0, 0); - xc_gnttab_open(NULL, 0); - xc_domain_add_to_physmap(0, 0, XENMAPSPACE_gmfn, 0, 0); - return 0; -} -EOF - compile_prog "" "$xen_libs" - then - xen_ctrl_version=410 - xen=yes - - # Xen 4.0.0 - elif - cat > $TMPC <<EOF && -#include <xenctrl.h> -#include <xs.h> -#include <stdint.h> -#include <xen/hvm/hvm_info_table.h> -#if !defined(HVM_MAX_VCPUS) -# error HVM_MAX_VCPUS not defined -#endif -int main(void) { - struct xen_add_to_physmap xatp = { - .domid = 0, .space = XENMAPSPACE_gmfn, .idx = 0, .gpfn = 0, - }; - xs_daemon_open(); - xc_interface_open(); - xc_gnttab_open(); - xc_hvm_set_mem_type(0, 0, HVMMEM_ram_ro, 0, 0); - xc_memory_op(0, XENMEM_add_to_physmap, &xatp); - return 0; -} -EOF - compile_prog "" "$xen_libs" - then - xen_ctrl_version=400 - xen=yes - - # Xen 3.4.0 - elif - cat > $TMPC <<EOF && -#include <xenctrl.h> -#include <xs.h> -int main(void) { - struct xen_add_to_physmap xatp = { - .domid = 0, .space = XENMAPSPACE_gmfn, .idx = 0, .gpfn = 0, - }; - xs_daemon_open(); - xc_interface_open(); - xc_gnttab_open(); - xc_hvm_set_mem_type(0, 0, HVMMEM_ram_ro, 0, 0); - xc_memory_op(0, XENMEM_add_to_physmap, &xatp); - return 0; -} -EOF - compile_prog "" "$xen_libs" - then - xen_ctrl_version=340 - xen=yes - - # Xen 3.3.0 - elif - cat > $TMPC <<EOF && -#include <xenctrl.h> -#include <xs.h> -int main(void) { - xs_daemon_open(); - xc_interface_open(); - xc_gnttab_open(); - xc_hvm_set_mem_type(0, 0, HVMMEM_ram_ro, 0, 0); - return 0; -} -EOF - compile_prog "" "$xen_libs" - then - xen_ctrl_version=330 - xen=yes - - # Xen version unsupported else if test "$xen" = "yes" ; then - feature_not_found "xen (unsupported version)" "Install supported xen (e.g. 4.0, 3.4, 3.3)" + feature_not_found "xen (unsupported version)" "Install supported xen (e.g. 4.2 onwards)" fi xen=no fi
@@ -2218,15 +2127,10 @@ EOF fi if test "$xen_pci_passthrough" != "no"; then - if test "$xen" = "yes" && test "$linux" = "yes" && - test "$xen_ctrl_version" -ge 340; then + if test "$xen" = "yes" && test "$linux" = "yes"; then xen_pci_passthrough=yes else if test "$xen_pci_passthrough" = "yes"; then - if test "$xen_ctrl_version" -lt 340; then - error_exit "User requested feature Xen PCI Passthrough" \ - "This feature does not work with Xen 3.3" - fi error_exit "User requested feature Xen PCI Passthrough" \ " but this feature requires /sys from Linux" fi
hw/i386/xen/xen_apic.c +0 -4
@@ -44,11 +44,7 @@ static void xen_apic_realize(DeviceState *dev, Error **errp) s->vapic_control =0 ;memory_region_init_io (&s->io_memory,OBJECT (s), &xen_apic_io_ops, s,"xen-apic-msi" ,APIC_SPACE_SIZE ); - -#if defined(CONFIG_XEN_CTRL_INTERFACE_VERSION ) \ - &&CONFIG_XEN_CTRL_INTERFACE_VERSION >=420 msi_supported = true; -#endif }static void xen_apic_set_base (APICCommonState *s,uint64_t val)
include/hw/xen/xen.h +0 -4
@@ -48,8 +48,4 @@ void xen_modified_memory(ram_addr_t start, ram_addr_t length);void xen_register_framebuffer (struct MemoryRegion *mr); -#if defined(CONFIG_XEN ) &&CONFIG_XEN_CTRL_INTERFACE_VERSION <400 -# define HVM_MAX_VCPUS 32 -#endif -#endif /* QEMU_HW_XEN_H */
include/hw/xen/xen_common.h +4 -142
171 lines not on this page · raw message
xen-hvm.c +0 -19
@@ -316,7 +316,6 @@ static hwaddr xen_phys_offset_to_gaddr(hwaddr start_addr,return start_addr; } -#if CONFIG_XEN_CTRL_INTERFACE_VERSION >=340 static int xen_add_to_physmap(XenIOState *state, hwaddr start_addr, ram_addr_t size,
@@ -451,24 +450,6 @@ static int xen_remove_from_physmap(XenIOState *state,return 0 ; } -#else -static int xen_add_to_physmap (XenIOState *state, -hwaddr start_addr, -ram_addr_t size, -MemoryRegion *mr, -hwaddr offset_within_region) -{ -return -ENOSYS ; -} - -static int xen_remove_from_physmap (XenIOState *state, -hwaddr start_addr, -ram_addr_t size) -{ -return -ENOSYS ; -} -#endif -static void xen_set_memory (struct MemoryListener *listener,MemoryRegionSection *section,bool add)
Signature · 1 line
2.1.4
Re: [Qemu-devel] [PATCH 1/5] xen: drop support for Xen 4.1 and older.
Quoted 2 lines · Ian Campbell
Xen 4.2 become unsupported upstream in 09/2105 (see
http://wiki.xen.org/wiki/Xen_Release_Features)
"2015" if you have to do a respin or the person committing to their subtree wants to fix it up...
thanks
-- PMM
Re: [Qemu-devel] [PATCH 1/5] xen: drop support for Xen 4.1 and older.
In reply to Ian CampbellQuoted 2 lines · Ian Campbell
Xen 4.2 become unsupported upstream in 09/2105 (see
http://wiki.xen.org/wiki/Xen_Release_Features)
"2015" if you have to do a respin or the person committing to their subtree wants to fix it up...
thanks
-- PMM
Re: [Qemu-devel] [PATCH 1/5] xen: drop support for Xen 4.1 and older.
In reply to Ian CampbellQuoted 120 lines · Ian Campbell
Xen 4.2 become unsupported upstream in 09/2105 (see
http://wiki.xen.org/wiki/Xen_Release_Features). However as far as the interfaces provided by the toolstack libraries go 4.2 and 4.3 are indistinguishable.Therefore drop support for Xen 4.1 and earlier which removes a whole pile of compatibility code which makes future work (to use stable library interfaces provided by upstream) more difficult. In particular all supported versions now use a pointer as a libxc handle (4.1 and earlier used an integer, resulting in various shim layers).
Also Xen 4.2 was the first version of Xen to formally support upstream QEMU (as a preview) so that makes sense as a cut-off now.
This change drops all the configure-y and resulting ifdefs in a mostly mechanical way. A follow up will refactor wrappers which are now unused.
Signed-off-by Ian Campbell <[email protected]>--- configure | 100 +----------------------------- hw/i386/xen/xen_apic.c | 4 -- include/hw/xen/xen.h | 4 -- include/hw/xen/xen_common.h | 146 ++------------------------------------------ xen-hvm.c | 19 ------ 5 files changed, 6 insertions(+), 267 deletions(-)configure +0
-85@@ -2111,100 +2111,9 @@ EOF xen_ctrl_version=420 xen=yes - elif - cat > $TMPC <<EOF && -#include <xenctrl.h> -#include <xs.h> -#include <stdint.h> -#include <xen/hvm/hvm_info_table.h> -#if !defined(HVM_MAX_VCPUS) -# error HVM_MAX_VCPUS not defined -#endif -int main(void) { - xs_daemon_open(); - xc_interface_open(0, 0, 0); - xc_hvm_set_mem_type(0, 0, HVMMEM_ram_ro, 0, 0); - xc_gnttab_open(NULL, 0); - xc_domain_add_to_physmap(0, 0, XENMAPSPACE_gmfn, 0, 0); - return 0; -} -EOF - compile_prog "" "$xen_libs" - then - xen_ctrl_version=410 - xen=yes - - # Xen 4.0.0 - elif - cat > $TMPC <<EOF && -#include <xenctrl.h> -#include <xs.h> -#include <stdint.h> -#include <xen/hvm/hvm_info_table.h> -#if !defined(HVM_MAX_VCPUS) -# error HVM_MAX_VCPUS not defined -#endif -int main(void) { - struct xen_add_to_physmap xatp = { - .domid = 0, .space = XENMAPSPACE_gmfn, .idx = 0, .gpfn = 0, - }; - xs_daemon_open(); - xc_interface_open(); - xc_gnttab_open(); - xc_hvm_set_mem_type(0, 0, HVMMEM_ram_ro, 0, 0); - xc_memory_op(0, XENMEM_add_to_physmap, &xatp); - return 0; -} -EOF - compile_prog "" "$xen_libs" - then - xen_ctrl_version=400 - xen=yes - - # Xen 3.4.0 - elif - cat > $TMPC <<EOF && -#include <xenctrl.h> -#include <xs.h> -int main(void) { - struct xen_add_to_physmap xatp = { - .domid = 0, .space = XENMAPSPACE_gmfn, .idx = 0, .gpfn = 0, - }; - xs_daemon_open(); - xc_interface_open(); - xc_gnttab_open(); - xc_hvm_set_mem_type(0, 0, HVMMEM_ram_ro, 0, 0); - xc_memory_op(0, XENMEM_add_to_physmap, &xatp); - return 0; -} -EOF - compile_prog "" "$xen_libs" - then - xen_ctrl_version=340 - xen=yes - - # Xen 3.3.0 - elif - cat > $TMPC <<EOF && -#include <xenctrl.h> -#include <xs.h> -int main(void) { - xs_daemon_open(); - xc_interface_open(); - xc_gnttab_open(); - xc_hvm_set_mem_type(0, 0, HVMMEM_ram_ro, 0, 0); - return 0; -} -EOF
configure EOF · line 2116
Quoted 10 lines
configure +1
-7- compile_prog "" "$xen_libs" - then - xen_ctrl_version=330 - xen=yes - - # Xen version unsupported else if test "$xen" = "yes" ; then - feature_not_found "xen (unsupported version)" "Install supported xen (e.g. 4.0, 3.4, 3.3)" + feature_not_found "xen (unsupported version)" "Install supported xen (e.g. 4.2 onwards)"
We can rephrase the message now, maybe something like
"xen (unsupported version)" "Install a supported xen version (xen 4.2 or newer)"
configure EOF · line 2133
Quoted 13 lines
configure +1
-2fi xen=no fi@@ -2218,15 +2127,10 @@ EOF fi if test "$xen_pci_passthrough" != "no"; then - if test "$xen" = "yes" && test "$linux" = "yes" && - test "$xen_ctrl_version" -ge 340; then + if test "$xen" = "yes" && test "$linux" = "yes"; then xen_pci_passthrough=yes else if test "$xen_pci_passthrough" = "yes"; then
Given that the code has been greatly simplified, I think that we can get rid of the test above.
Quoted 7 lines
configure +0
-4- if test "$xen_ctrl_version" -lt 340; then - error_exit "User requested feature Xen PCI Passthrough" \ - "This feature does not work with Xen 3.3" - fi error_exit "User requested feature Xen PCI Passthrough" \ " but this feature requires /sys from Linux" fi
Re: [PATCH 1/5] xen: drop support for Xen 4.1 and older.
Quoted 5 lines · Stefano Stabellini
Quoted 5 lines
(quoted diff) +0
-0@@ -2218,15 +2127,10 @@ EOFfi
if test "$xen_pci_passthrough" != "no"; then - if test "$xen" = "yes" && test "$linux" = "yes" &&
Quoted 8 lines
Quoted 5 lines
- test "$xen_ctrl_version" -ge 340; then
+ if test "$xen" = "yes" && test "$linux" = "yes"; then xen_pci_passthrough=yes
else
if test "$xen_pci_passthrough" = "yes"; thenGiven that the code has been greatly simplified, I think that we can get rid of the test above.
Which one? I think we still need to check for both Linux and Xen being present and handle users passing --enable-xen-pci-passthrough when those conditions don't hold.
It might be possible to fold the else if, i.e.
if test "$xen_pci_passthrough" != "no"; then
if test "$xen" = "yes" && test "$linux" = "yes"; then xen_pci_passthrough=yes
elif test "$xen_pci_passthrough" = "yes"; then error_exit "User requested feature Xen PCI Passthrough" \
" but this feature requires /sys from Linux" else
xen_pci_passthrough=no
fi
fi
?
_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xen.org/xen-devel
Re: [Qemu-devel] [PATCH 1/5] xen: drop support for Xen 4.1 and older.
In reply to Stefano StabelliniQuoted 5 lines · Stefano Stabellini
Quoted 5 lines
(quoted diff) +0
-0@@ -2218,15 +2127,10 @@ EOFfi
if test "$xen_pci_passthrough" != "no"; then - if test "$xen" = "yes" && test "$linux" = "yes" &&
Quoted 8 lines
Quoted 5 lines
- test "$xen_ctrl_version" -ge 340; then
+ if test "$xen" = "yes" && test "$linux" = "yes"; then xen_pci_passthrough=yes
else
if test "$xen_pci_passthrough" = "yes"; thenGiven that the code has been greatly simplified, I think that we can get rid of the test above.
Which one? I think we still need to check for both Linux and Xen being present and handle users passing --enable-xen-pci-passthrough when those conditions don't hold.
It might be possible to fold the else if, i.e.
if test "$xen_pci_passthrough" != "no"; then
if test "$xen" = "yes" && test "$linux" = "yes"; then xen_pci_passthrough=yes
elif test "$xen_pci_passthrough" = "yes"; then error_exit "User requested feature Xen PCI Passthrough" \
" but this feature requires /sys from Linux" else
xen_pci_passthrough=no
fi
fi
?
Re: [PATCH 1/5] xen: drop support for Xen 4.1 and older.
Quoted 32 lines · Ian Campbell
Quoted 5 lines · Stefano Stabellini
Quoted 5 lines
(quoted diff) +0
-0@@ -2218,15 +2127,10 @@ EOFfi
if test "$xen_pci_passthrough" != "no"; then - if test "$xen" = "yes" && test "$linux" = "yes" &&Quoted 8 lines
Quoted 5 lines
- test "$xen_ctrl_version" -ge 340; then
+ if test "$xen" = "yes" && test "$linux" = "yes"; then xen_pci_passthrough=yes
else
if test "$xen_pci_passthrough" = "yes"; thenGiven that the code has been greatly simplified, I think that we can get rid of the test above.
Which one? I think we still need to check for both Linux and Xen being present and handle users passing --enable-xen-pci-passthrough when those conditions don't hold.
It might be possible to fold the else if, i.e.
if test "$xen_pci_passthrough" != "no"; then
if test "$xen" = "yes" && test "$linux" = "yes"; then xen_pci_passthrough=yes
elif test "$xen_pci_passthrough" = "yes"; thenerror_exit"User requested feature Xen PCI Passthrough" \
" but this feature requires /sys from Linux" else
xen_pci_passthrough=no
fi
fi
Quoted 1 line
?
Yeah.. not much of an improvement, sorry, leave it as is.
_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xen.org/xen-devel
Re: [Qemu-devel] [PATCH 1/5] xen: drop support for Xen 4.1 and older.
In reply to Ian CampbellQuoted 32 lines · Ian Campbell
Quoted 5 lines · Stefano Stabellini
Quoted 5 lines
(quoted diff) +0
-0@@ -2218,15 +2127,10 @@ EOFfi
if test "$xen_pci_passthrough" != "no"; then - if test "$xen" = "yes" && test "$linux" = "yes" &&Quoted 8 lines
Quoted 5 lines
- test "$xen_ctrl_version" -ge 340; then
+ if test "$xen" = "yes" && test "$linux" = "yes"; then xen_pci_passthrough=yes
else
if test "$xen_pci_passthrough" = "yes"; thenGiven that the code has been greatly simplified, I think that we can get rid of the test above.
Which one? I think we still need to check for both Linux and Xen being present and handle users passing --enable-xen-pci-passthrough when those conditions don't hold.
It might be possible to fold the else if, i.e.
if test "$xen_pci_passthrough" != "no"; then
if test "$xen" = "yes" && test "$linux" = "yes"; then xen_pci_passthrough=yes
elif test "$xen_pci_passthrough" = "yes"; thenerror_exit"User requested feature Xen PCI Passthrough" \
" but this feature requires /sys from Linux" else
xen_pci_passthrough=no
fi
fi
Quoted 1 line
?
Yeah.. not much of an improvement, sorry, leave it as is.
PATCH 2/5 xen: drop xen_xc_hvm_inject_msi wrapper
In reply to Ian CampbellThe xc version is now always present.
--- include/hw/xen/xen_common.h | 6 ------ xen-hvm.c | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-)
include/hw/xen/xen_common.h +0 -6
@@ -83,12 +83,6 @@ static inline XenXC xen_xc_interface_open(void *logger, void *dombuild_logger, }#endif -static inline int xen_xc_hvm_inject_msi (XenXC xen_xc,domid_t dom, -uint64_t addr,uint32_t data) -{ -return xc_hvm_inject_msi (xen_xc, dom, addr, data); -} -void destroy_hvm_domain (bool reboot);/* shutdown/destroy current domain because of an error */
xen-hvm.c +1 -1
@@ -169,7 +169,7 @@ int xen_is_pirq_msi(uint32_t msi_data)void xen_hvm_inject_msi (uint64_t addr,uint32_t data) { -xen_xc_hvm_inject_msi (xen_xc, xen_domid, addr, data); +xc_hvm_inject_msi (xen_xc, xen_domid, addr, data); }static void xen_suspend_notifier (Notifier *notifier,void *data)
Signature · 1 line
2.1.4
Re: [PATCH 2/5] xen: drop xen_xc_hvm_inject_msi wrapper
Quoted 3 lines · Ian Campbell
The xc version is now always present.
Signed-off-by Ian Campbell <[email protected]>
Quoted 37 lines
include/hw/xen/xen_common.h | 6 ------ xen-hvm.c | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-)include/hw/xen/xen_common.h +0
-6@@ -83,12 +83,6 @@ static inline XenXC xen_xc_interface_open(void *logger, void *dombuild_logger, }#endif -static inline int xen_xc_hvm_inject_msi (XenXC xen_xc,domid_t dom, -uint64_t addr,uint32_t data) -{ -return xc_hvm_inject_msi (xen_xc, dom, addr, data); -} -void destroy_hvm_domain (bool reboot);/* shutdown/destroy current domain because of an error */ xen-hvm.c +1
-1@@ -169,7 +169,7 @@ int xen_is_pirq_msi(uint32_t msi_data)void xen_hvm_inject_msi (uint64_t addr,uint32_t data) { -xen_xc_hvm_inject_msi (xen_xc, xen_domid, addr, data); +xc_hvm_inject_msi (xen_xc, xen_domid, addr, data); }static void xen_suspend_notifier (Notifier *notifier,void *data)Signature · 1 line
2.1.4
Re: [Qemu-devel] [PATCH 2/5] xen: drop xen_xc_hvm_inject_msi wrapper
In reply to Ian CampbellQuoted 3 lines · Ian Campbell
The xc version is now always present.
Signed-off-by Ian Campbell <[email protected]>
Quoted 37 lines
include/hw/xen/xen_common.h | 6 ------ xen-hvm.c | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-)include/hw/xen/xen_common.h +0
-6@@ -83,12 +83,6 @@ static inline XenXC xen_xc_interface_open(void *logger, void *dombuild_logger, }#endif -static inline int xen_xc_hvm_inject_msi (XenXC xen_xc,domid_t dom, -uint64_t addr,uint32_t data) -{ -return xc_hvm_inject_msi (xen_xc, dom, addr, data); -} -void destroy_hvm_domain (bool reboot);/* shutdown/destroy current domain because of an error */ xen-hvm.c +1
-1@@ -169,7 +169,7 @@ int xen_is_pirq_msi(uint32_t msi_data)void xen_hvm_inject_msi (uint64_t addr,uint32_t data) { -xen_xc_hvm_inject_msi (xen_xc, xen_domid, addr, data); +xc_hvm_inject_msi (xen_xc, xen_domid, addr, data); }static void xen_suspend_notifier (Notifier *notifier,void *data)Signature · 1 line
2.1.4
PATCH 3/5 xen: drop XenXC and associated interface wrappers
In reply to Ian CampbellNow that 4.2 and earlier are no longer supported "xc_interface *" is always the right type for the xc interface handle.
--- hw/xen/xen_backend.c | 4 +-- include/hw/xen/xen_backend.h | 2 +- include/hw/xen/xen_common.h | 82 +++++++++++++++++--------------------------- xen-common.c | 4 +-- xen-hvm.c | 16 ++++----- 5 files changed, 44 insertions(+), 64 deletions(-)
hw/xen/xen_backend.c +2 -2
@@ -36,7 +36,7 @@/* ------------------------------------------------------------- */ /* public */ -XenXC xen_xc =XC_HANDLER_INITIAL_VALUE ; +xc_interface *xen_xc =NULL ;xenforeignmemory_handle *xen_fmem =NULL ;struct xs_handle *xenstore =NULL ;const char *xen_protocol;
@@ -710,7 +710,7 @@ int xen_be_init(void)qemu_set_fd_handler (xs_fileno (xenstore), xenstore_update,NULL ,NULL ); -if (xen_xc ==XC_HANDLER_INITIAL_VALUE || xen_fmem ==NULL ) { +if (xen_xc ==NULL || xen_fmem ==NULL ) {/* Check if xen_init() have been called */ goto err; }
include/hw/xen/xen_backend.h +1 -1
@@ -56,7 +56,7 @@ struct XenDevice {/* ------------------------------------------------------------- */ /* variables */ -extern XenXC xen_xc; +extern xc_interface *xen_xc;extern xenforeignmemory_handle *xen_fmem;extern struct xs_handle *xenstore;extern const char *xen_protocol;
include/hw/xen/xen_common.h +31 -51
265 lines not on this page · raw message
xen-common.c +2 -2
@@ -114,8 +114,8 @@ static void xen_change_state_handler(void *opaque, int running,static int xen_init (MachineState *ms) { - xen_xc =xen_xc_interface_open (0 ,0 ,0 ); -if (xen_xc ==XC_HANDLER_INITIAL_VALUE ) { + xen_xc =xc_interface_open (0 ,0 ,0 ); +if (xen_xc ==NULL ) {xen_be_printf (NULL ,0 ,"can't open xen interface\n" );return -1 ; }
xen-hvm.c +8 -8
@@ -1224,7 +1224,7 @@ void xen_hvm_init(PCMachineState *pcms, MemoryRegion **ram_memory) &ioreq_pfn, &bufioreq_pfn, &bufioreq_evtchn);if (rc <0 ) { -error_report ("failed to get ioreq server info: error %d handle=" XC_INTERFACE_FMT , +error_report ("failed to get ioreq server info: error %d handle=%p" , errno, xen_xc); goto err; }
@@ -1237,7 +1237,7 @@ void xen_hvm_init(PCMachineState *pcms, MemoryRegion **ram_memory)PROT_READ |PROT_WRITE , 1, &ioreq_pfn, NULL);if (state->shared_page ==NULL ) { -error_report ("map shared IO page returned error %d handle=" XC_INTERFACE_FMT , +error_report ("map shared IO page returned error %d handle=%p" , errno, xen_xc); goto err; }
@@ -1249,8 +1249,8 @@ void xen_hvm_init(PCMachineState *pcms, MemoryRegion **ram_memory)xenforeignmemory_map (xen_fmem, xen_domid,PROT_READ |PROT_WRITE ,1 , &ioreq_pfn,NULL );if (state->shared_vmport_page ==NULL ) { -error_report ("map shared vmport IO page returned error %d handle=" -XC_INTERFACE_FMT , errno, xen_xc); +error_report ("map shared vmport IO page returned error %d handle=%p" , + errno, xen_xc); goto err; } }else if (rc != -ENOSYS ) {
@@ -1272,7 +1272,7 @@ void xen_hvm_init(PCMachineState *pcms, MemoryRegion **ram_memory) rc =xen_set_ioreq_server_state (xen_xc, xen_domid, state->ioservid, true);if (rc <0 ) { -error_report ("failed to enable ioreq server info: error %d handle=" XC_INTERFACE_FMT , +error_report ("failed to enable ioreq server info: error %d handle=%p" , errno, xen_xc); goto err; }
@@ -1333,11 +1333,11 @@ err:void destroy_hvm_domain (bool reboot) { -XenXC xc_handle; +xc_interface *xc_handle;int sts; - xc_handle =xen_xc_interface_open (0 ,0 ,0 ); -if (xc_handle ==XC_HANDLER_INITIAL_VALUE ) { + xc_handle =xc_interface_open (0 ,0 ,0 ); +if (xc_handle ==NULL ) {fprintf (stderr,"Cannot acquire xenctrl handle\n" ); }else { sts = xc_domain_shutdown(xc_handle, xen_domid,
Signature · 1 line
2.1.4
Re: [PATCH 3/5] xen: drop XenXC and associated interface wrappers
Quoted 4 lines · Ian Campbell
Now that 4.2 and earlier are no longer supported "
xc_interface*" is always the right type for the xc interface handle.Signed-off-by Ian Campbell <[email protected]>
Please mention in the commit message the changes to xenforeignmemory related functions and handles.
Quoted 405 lines
hw/xen/xen_backend.c | 4 +-- include/hw/xen/xen_backend.h | 2 +- include/hw/xen/xen_common.h | 82 +++++++++++++++++--------------------------- xen-common.c | 4 +-- xen-hvm.c | 16 ++++----- 5 files changed, 44 insertions(+), 64 deletions(-)hw/xen/xen_backend.c +2
-2@@ -36,7 +36,7 @@/* ------------------------------------------------------------- */ /* public */ -XenXC xen_xc =XC_HANDLER_INITIAL_VALUE ; +xc_interface *xen_xc =NULL ;xenforeignmemory_handle *xen_fmem =NULL ;struct xs_handle *xenstore =NULL ;const char *xen_protocol;@@ -710,7 +710,7 @@ int xen_be_init(void)qemu_set_fd_handler (xs_fileno (xenstore), xenstore_update,NULL ,NULL ); -if (xen_xc ==XC_HANDLER_INITIAL_VALUE || xen_fmem ==NULL ) { +if (xen_xc ==NULL || xen_fmem ==NULL ) {/* Check if xen_init() have been called */ goto err; }include/hw/xen/xen_backend.h +1
-1@@ -56,7 +56,7 @@ struct XenDevice {/* ------------------------------------------------------------- */ /* variables */ -extern XenXC xen_xc; +extern xc_interface *xen_xc;extern xenforeignmemory_handle *xen_fmem;extern struct xs_handle *xenstore;extern const char *xen_protocol;include/hw/xen/xen_common.h +31
-51@@ -32,14 +32,10 @@/* Xen 4.2 thru 4.6 */ #if CONFIG_XEN_CTRL_INTERFACE_VERSION <471 -typedef xc_interface *XenXC ; -typedef xc_interface *xenforeignmemory_handle ; +typedef xc_interface xenforeignmemory_handle ;typedef xc_evtchn xenevtchn_handle ;typedef xc_gnttab xengnttab_handle ; -# define XC_INTERFACE_FMT "%p" -# define XC_HANDLER_INITIAL_VALUE NULL -#define xenevtchn_open (l, f) xc_evtchn_open(l, f);#define xenevtchn_close (h) xc_evtchn_close(h)#define xenevtchn_fd (h) xc_evtchn_fd(h)@@ -57,30 +53,14 @@ typedef xc_gnttab xengnttab_handle;#define xengnttab_map_grant_refs (h, c, d, r, p) \ xc_gnttab_map_grant_refs(h, c, d, r, p) -static inline XenXC xen_xc_interface_open (void *logger,void *dombuild_logger, -unsigned int open_flags) -{ -return xc_interface_open (logger, dombuild_logger, open_flags); -} -/* See below for xenforeignmemory_* APIs */ #else /* CONFIG_XEN_CTRL_INTERFACE_VERSION >= 471 */ -typedef xc_interface *XenXC ; - -# define XC_INTERFACE_FMT "%p" -# define XC_HANDLER_INITIAL_VALUE NULL -#include <xenevtchn.h> #include <xengnttab.h> #include <xenforeignmemory.h> -static inline XenXC xen_xc_interface_open (void *logger,void *dombuild_logger, -unsigned int open_flags) -{ -return xc_interface_open (logger, dombuild_logger, open_flags); -}#endif void destroy_hvm_domain (bool reboot);@@ -89,7 +69,7 @@ void destroy_hvm_domain(bool reboot); void xen_shutdown_fatal_error(const char *fmt, ...) GCC_FMT_ATTR(1, 2);#ifdef HVM_PARAM_VMPORT_REGS_PFN -static inline int xen_get_vmport_regs_pfn (XenXC xc,domid_t dom, +static inline int xen_get_vmport_regs_pfn (xc_interface *xc,domid_t dom,xen_pfn_t *vmport_regs_pfn) {int rc;@@ -101,7 +81,7 @@ static inline int xen_get_vmport_regs_pfn(XenXC xc, domid_t dom, return rc; }#else -static inline int xen_get_vmport_regs_pfn (XenXC xc,domid_t dom, +static inline int xen_get_vmport_regs_pfn (xc_interface *xc,domid_t dom,xen_pfn_t *vmport_regs_pfn) {return -ENOSYS ;@@ -128,54 +108,54 @@ static inline int xen_get_vmport_regs_pfn(XenXC xc, domid_t dom,typedef uint16_t ioservid_t ; -static inline void xen_map_memory_section (XenXC xc,domid_t dom, +static inline void xen_map_memory_section (xc_interface *xc,domid_t dom,ioservid_t ioservid,MemoryRegionSection *section) { } -static inline void xen_unmap_memory_section (XenXC xc,domid_t dom, +static inline void xen_unmap_memory_section (xc_interface *xc,domid_t dom,ioservid_t ioservid,MemoryRegionSection *section) { } -static inline void xen_map_io_section (XenXC xc,domid_t dom, +static inline void xen_map_io_section (xc_interface *xc,domid_t dom,ioservid_t ioservid,MemoryRegionSection *section) { } -static inline void xen_unmap_io_section (XenXC xc,domid_t dom, +static inline void xen_unmap_io_section (xc_interface *xc,domid_t dom,ioservid_t ioservid,MemoryRegionSection *section) { } -static inline void xen_map_pcidev (XenXC xc,domid_t dom, +static inline void xen_map_pcidev (xc_interface *xc,domid_t dom,ioservid_t ioservid,PCIDevice *pci_dev) { } -static inline void xen_unmap_pcidev (XenXC xc,domid_t dom, +static inline void xen_unmap_pcidev (xc_interface *xc,domid_t dom,ioservid_t ioservid,PCIDevice *pci_dev) { } -static inline int xen_create_ioreq_server (XenXC xc,domid_t dom, +static inline int xen_create_ioreq_server (xc_interface *xc,domid_t dom,ioservid_t *ioservid) {return 0 ; } -static inline void xen_destroy_ioreq_server (XenXC xc,domid_t dom, +static inline void xen_destroy_ioreq_server (xc_interface *xc,domid_t dom,ioservid_t ioservid) { } -static inline int xen_get_ioreq_server_info(XenXC xc, domid_t dom, +static inline int xen_get_ioreq_server_info(xc_interface *xc, domid_t dom, ioservid_t ioservid, xen_pfn_t *ioreq_pfn, xen_pfn_t *bufioreq_pfn,@@ -212,7 +192,7 @@ static inline int xen_get_ioreq_server_info(XenXC xc, domid_t dom,return 0 ; } -static inline int xen_set_ioreq_server_state (XenXC xc,domid_t dom, +static inline int xen_set_ioreq_server_state (xc_interface *xc,domid_t dom,ioservid_t ioservid,bool enable) {@@ -222,7 +202,7 @@ static inline int xen_set_ioreq_server_state(XenXC xc, domid_t dom,/* Xen 4.5 */ #else -static inline void xen_map_memory_section (XenXC xc,domid_t dom, +static inline void xen_map_memory_section (xc_interface *xc,domid_t dom,ioservid_t ioservid,MemoryRegionSection *section) {@@ -235,7 +215,7 @@ static inline void xen_map_memory_section(XenXC xc, domid_t dom, start_addr, end_addr); } -static inline void xen_unmap_memory_section (XenXC xc,domid_t dom, +static inline void xen_unmap_memory_section (xc_interface *xc,domid_t dom,ioservid_t ioservid,MemoryRegionSection *section) {@@ -248,7 +228,7 @@ static inline void xen_unmap_memory_section(XenXC xc, domid_t dom, start_addr, end_addr); } -static inline void xen_map_io_section (XenXC xc,domid_t dom, +static inline void xen_map_io_section (xc_interface *xc,domid_t dom,ioservid_t ioservid,MemoryRegionSection *section) {@@ -261,7 +241,7 @@ static inline void xen_map_io_section(XenXC xc, domid_t dom, start_addr, end_addr); } -static inline void xen_unmap_io_section (XenXC xc,domid_t dom, +static inline void xen_unmap_io_section (xc_interface *xc,domid_t dom,ioservid_t ioservid,MemoryRegionSection *section) {@@ -274,7 +254,7 @@ static inline void xen_unmap_io_section(XenXC xc, domid_t dom, start_addr, end_addr); } -static inline void xen_map_pcidev (XenXC xc,domid_t dom, +static inline void xen_map_pcidev (xc_interface *xc,domid_t dom,ioservid_t ioservid,PCIDevice *pci_dev) {@@ -286,7 +266,7 @@ static inline void xen_map_pcidev(XenXC xc, domid_t dom, PCI_FUNC(pci_dev->devfn)); } -static inline void xen_unmap_pcidev (XenXC xc,domid_t dom, +static inline void xen_unmap_pcidev (xc_interface *xc,domid_t dom,ioservid_t ioservid,PCIDevice *pci_dev) {@@ -298,7 +278,7 @@ static inline void xen_unmap_pcidev(XenXC xc, domid_t dom, PCI_FUNC(pci_dev->devfn)); } -static inline int xen_create_ioreq_server (XenXC xc,domid_t dom, +static inline int xen_create_ioreq_server (xc_interface *xc,domid_t dom,ioservid_t *ioservid) { int rc = xc_hvm_create_ioreq_server(xc, dom, HVM_IOREQSRV_BUFIOREQ_ATOMIC,@@ -311,14 +291,14 @@ static inline int xen_create_ioreq_server(XenXC xc, domid_t dom,return rc; } -static inline void xen_destroy_ioreq_server (XenXC xc,domid_t dom, +static inline void xen_destroy_ioreq_server (xc_interface *xc,domid_t dom,ioservid_t ioservid) {trace_xen_ioreq_server_destroy (ioservid);xc_hvm_destroy_ioreq_server (xc, dom, ioservid); } -static inline int xen_get_ioreq_server_info(XenXC xc, domid_t dom, +static inline int xen_get_ioreq_server_info(xc_interface *xc, domid_t dom, ioservid_t ioservid, xen_pfn_t *ioreq_pfn, xen_pfn_t *bufioreq_pfn,@@ -329,7 +309,7 @@ static inline int xen_get_ioreq_server_info(XenXC xc, domid_t dom, bufioreq_evtchn); } -static inline int xen_set_ioreq_server_state (XenXC xc,domid_t dom, +static inline int xen_set_ioreq_server_state (xc_interface *xc,domid_t dom,ioservid_t ioservid,bool enable) {@@ -340,7 +320,7 @@ static inline int xen_set_ioreq_server_state(XenXC xc, domid_t dom,#endif #if CONFIG_XEN_CTRL_INTERFACE_VERSION <460 -static inline int xen_xc_domain_add_to_physmap (XenXC xch,uint32_t domid, +static inline int xen_xc_domain_add_to_physmap (xc_interface *xch,uint32_t domid,unsigned int space,unsigned long idx,xen_pfn_t gpfn)@@ -348,7 +328,7 @@ static inline int xen_xc_domain_add_to_physmap(XenXC xch, uint32_t domid, return xc_domain_add_to_physmap(xch, domid, space, idx, gpfn); }#else -static inline int xen_xc_domain_add_to_physmap (XenXC xch,uint32_t domid, +static inline int xen_xc_domain_add_to_physmap (xc_interface *xch,uint32_t domid,unsigned int space,unsigned long idx,xen_pfn_t gpfn)@@ -363,14 +343,14 @@ static inline int xen_xc_domain_add_to_physmap(XenXC xch, uint32_t domid, #ifdef CONFIG_XEN_PV_DOMAIN_BUILD #if CONFIG_XEN_CTRL_INTERFACE_VERSION < 470 -static inline int xen_domain_create(XenXC xc, uint32_t ssidref, +static inline int xen_domain_create(xc_interface *xc, uint32_t ssidref, xen_domain_handle_t handle, uint32_t flags, uint32_t *pdomid) { return xc_domain_create(xc, ssidref, handle, flags, pdomid); } #else -static inline int xen_domain_create(XenXC xc, uint32_t ssidref, +static inline int xen_domain_create(xc_interface *xc, uint32_t ssidref, xen_domain_handle_t handle, uint32_t flags, uint32_t *pdomid) {@@ -381,17 +361,17 @@ static inline int xen_domain_create(XenXC xc, uint32_t ssidref,#if CONFIG_XEN_CTRL_INTERFACE_VERSION <471 -#define xenforeignmemory_open (l, f) &xen_xc +#define xenforeignmemory_open (l, f) xen_xc -static inline void *xenforeignmemory_map (XenXC *h,uint32_t dom, +static inline void *xenforeignmemory_map (xc_interface *h,uint32_t dom,int prot,size_t pages,const xen_pfn_t arr[/*pages*/ ],int err[/*pages*/ ]) {if (err) -return xc_map_foreign_bulk (*h, dom, prot, arr, err, pages); +return xc_map_foreign_bulk (h, dom, prot, arr, err, pages);else -return xc_map_foreign_pages (*h, dom, prot, arr, pages); +return xc_map_foreign_pages (h, dom, prot, arr, pages); }#define xenforeignmemory_unmap (h, p, s) munmap(p, s * XC_PAGE_SIZE)xen-common.c +2
-2@@ -114,8 +114,8 @@ static void xen_change_state_handler(void *opaque, int running,static int xen_init (MachineState *ms) { - xen_xc =xen_xc_interface_open (0 ,0 ,0 ); -if (xen_xc ==XC_HANDLER_INITIAL_VALUE ) { + xen_xc =xc_interface_open (0 ,0 ,0 ); +if (xen_xc ==NULL ) {xen_be_printf (NULL ,0 ,"can't open xen interface\n" );return -1 ; }xen-hvm.c +8
-8@@ -1224,7 +1224,7 @@ void xen_hvm_init(PCMachineState *pcms, MemoryRegion **ram_memory) &ioreq_pfn, &bufioreq_pfn, &bufioreq_evtchn);if (rc <0 ) { -error_report ("failed to get ioreq server info: error %d handle=" XC_INTERFACE_FMT , +error_report ("failed to get ioreq server info: error %d handle=%p" , errno, xen_xc); goto err; }@@ -1237,7 +1237,7 @@ void xen_hvm_init(PCMachineState *pcms, MemoryRegion **ram_memory)PROT_READ |PROT_WRITE , 1, &ioreq_pfn, NULL);if (state->shared_page ==NULL ) { -error_report ("map shared IO page returned error %d handle=" XC_INTERFACE_FMT , +error_report ("map shared IO page returned error %d handle=%p" , errno, xen_xc); goto err; }@@ -1249,8 +1249,8 @@ void xen_hvm_init(PCMachineState *pcms, MemoryRegion **ram_memory)xenforeignmemory_map (xen_fmem, xen_domid,PROT_READ |PROT_WRITE ,1 , &ioreq_pfn,NULL );if (state->shared_vmport_page ==NULL ) { -error_report ("map shared vmport IO page returned error %d handle=" -XC_INTERFACE_FMT , errno, xen_xc); +error_report ("map shared vmport IO page returned error %d handle=%p" , + errno, xen_xc); goto err; } }else if (rc != -ENOSYS ) {@@ -1272,7 +1272,7 @@ void xen_hvm_init(PCMachineState *pcms, MemoryRegion **ram_memory) rc =xen_set_ioreq_server_state (xen_xc, xen_domid, state->ioservid, true);if (rc <0 ) { -error_report ("failed to enable ioreq server info: error %d handle=" XC_INTERFACE_FMT , +error_report ("failed to enable ioreq server info: error %d handle=%p" , errno, xen_xc); goto err; }@@ -1333,11 +1333,11 @@ err:void destroy_hvm_domain (bool reboot) { -XenXC xc_handle; +xc_interface *xc_handle;int sts; - xc_handle =xen_xc_interface_open (0 ,0 ,0 ); -if (xc_handle ==XC_HANDLER_INITIAL_VALUE ) { + xc_handle =xc_interface_open (0 ,0 ,0 ); +if (xc_handle ==NULL ) {fprintf (stderr,"Cannot acquire xenctrl handle\n" ); }else { sts = xc_domain_shutdown(xc_handle, xen_domid,Signature · 1 line
2.1.4
Re: [Qemu-devel] [PATCH 3/5] xen: drop XenXC and associated interface wrappers
In reply to Ian CampbellQuoted 4 lines · Ian Campbell
Now that 4.2 and earlier are no longer supported "
xc_interface*" is always the right type for the xc interface handle.Signed-off-by Ian Campbell <[email protected]>
Please mention in the commit message the changes to xenforeignmemory related functions and handles.
Quoted 405 lines
hw/xen/xen_backend.c | 4 +-- include/hw/xen/xen_backend.h | 2 +- include/hw/xen/xen_common.h | 82 +++++++++++++++++--------------------------- xen-common.c | 4 +-- xen-hvm.c | 16 ++++----- 5 files changed, 44 insertions(+), 64 deletions(-)hw/xen/xen_backend.c +2
-2@@ -36,7 +36,7 @@/* ------------------------------------------------------------- */ /* public */ -XenXC xen_xc =XC_HANDLER_INITIAL_VALUE ; +xc_interface *xen_xc =NULL ;xenforeignmemory_handle *xen_fmem =NULL ;struct xs_handle *xenstore =NULL ;const char *xen_protocol;@@ -710,7 +710,7 @@ int xen_be_init(void)qemu_set_fd_handler (xs_fileno (xenstore), xenstore_update,NULL ,NULL ); -if (xen_xc ==XC_HANDLER_INITIAL_VALUE || xen_fmem ==NULL ) { +if (xen_xc ==NULL || xen_fmem ==NULL ) {/* Check if xen_init() have been called */ goto err; }include/hw/xen/xen_backend.h +1
-1@@ -56,7 +56,7 @@ struct XenDevice {/* ------------------------------------------------------------- */ /* variables */ -extern XenXC xen_xc; +extern xc_interface *xen_xc;extern xenforeignmemory_handle *xen_fmem;extern struct xs_handle *xenstore;extern const char *xen_protocol;include/hw/xen/xen_common.h +31
-51@@ -32,14 +32,10 @@/* Xen 4.2 thru 4.6 */ #if CONFIG_XEN_CTRL_INTERFACE_VERSION <471 -typedef xc_interface *XenXC ; -typedef xc_interface *xenforeignmemory_handle ; +typedef xc_interface xenforeignmemory_handle ;typedef xc_evtchn xenevtchn_handle ;typedef xc_gnttab xengnttab_handle ; -# define XC_INTERFACE_FMT "%p" -# define XC_HANDLER_INITIAL_VALUE NULL -#define xenevtchn_open (l, f) xc_evtchn_open(l, f);#define xenevtchn_close (h) xc_evtchn_close(h)#define xenevtchn_fd (h) xc_evtchn_fd(h)@@ -57,30 +53,14 @@ typedef xc_gnttab xengnttab_handle;#define xengnttab_map_grant_refs (h, c, d, r, p) \ xc_gnttab_map_grant_refs(h, c, d, r, p) -static inline XenXC xen_xc_interface_open (void *logger,void *dombuild_logger, -unsigned int open_flags) -{ -return xc_interface_open (logger, dombuild_logger, open_flags); -} -/* See below for xenforeignmemory_* APIs */ #else /* CONFIG_XEN_CTRL_INTERFACE_VERSION >= 471 */ -typedef xc_interface *XenXC ; - -# define XC_INTERFACE_FMT "%p" -# define XC_HANDLER_INITIAL_VALUE NULL -#include <xenevtchn.h> #include <xengnttab.h> #include <xenforeignmemory.h> -static inline XenXC xen_xc_interface_open (void *logger,void *dombuild_logger, -unsigned int open_flags) -{ -return xc_interface_open (logger, dombuild_logger, open_flags); -}#endif void destroy_hvm_domain (bool reboot);@@ -89,7 +69,7 @@ void destroy_hvm_domain(bool reboot); void xen_shutdown_fatal_error(const char *fmt, ...) GCC_FMT_ATTR(1, 2);#ifdef HVM_PARAM_VMPORT_REGS_PFN -static inline int xen_get_vmport_regs_pfn (XenXC xc,domid_t dom, +static inline int xen_get_vmport_regs_pfn (xc_interface *xc,domid_t dom,xen_pfn_t *vmport_regs_pfn) {int rc;@@ -101,7 +81,7 @@ static inline int xen_get_vmport_regs_pfn(XenXC xc, domid_t dom, return rc; }#else -static inline int xen_get_vmport_regs_pfn (XenXC xc,domid_t dom, +static inline int xen_get_vmport_regs_pfn (xc_interface *xc,domid_t dom,xen_pfn_t *vmport_regs_pfn) {return -ENOSYS ;@@ -128,54 +108,54 @@ static inline int xen_get_vmport_regs_pfn(XenXC xc, domid_t dom,typedef uint16_t ioservid_t ; -static inline void xen_map_memory_section (XenXC xc,domid_t dom, +static inline void xen_map_memory_section (xc_interface *xc,domid_t dom,ioservid_t ioservid,MemoryRegionSection *section) { } -static inline void xen_unmap_memory_section (XenXC xc,domid_t dom, +static inline void xen_unmap_memory_section (xc_interface *xc,domid_t dom,ioservid_t ioservid,MemoryRegionSection *section) { } -static inline void xen_map_io_section (XenXC xc,domid_t dom, +static inline void xen_map_io_section (xc_interface *xc,domid_t dom,ioservid_t ioservid,MemoryRegionSection *section) { } -static inline void xen_unmap_io_section (XenXC xc,domid_t dom, +static inline void xen_unmap_io_section (xc_interface *xc,domid_t dom,ioservid_t ioservid,MemoryRegionSection *section) { } -static inline void xen_map_pcidev (XenXC xc,domid_t dom, +static inline void xen_map_pcidev (xc_interface *xc,domid_t dom,ioservid_t ioservid,PCIDevice *pci_dev) { } -static inline void xen_unmap_pcidev (XenXC xc,domid_t dom, +static inline void xen_unmap_pcidev (xc_interface *xc,domid_t dom,ioservid_t ioservid,PCIDevice *pci_dev) { } -static inline int xen_create_ioreq_server (XenXC xc,domid_t dom, +static inline int xen_create_ioreq_server (xc_interface *xc,domid_t dom,ioservid_t *ioservid) {return 0 ; } -static inline void xen_destroy_ioreq_server (XenXC xc,domid_t dom, +static inline void xen_destroy_ioreq_server (xc_interface *xc,domid_t dom,ioservid_t ioservid) { } -static inline int xen_get_ioreq_server_info(XenXC xc, domid_t dom, +static inline int xen_get_ioreq_server_info(xc_interface *xc, domid_t dom, ioservid_t ioservid, xen_pfn_t *ioreq_pfn, xen_pfn_t *bufioreq_pfn,@@ -212,7 +192,7 @@ static inline int xen_get_ioreq_server_info(XenXC xc, domid_t dom,return 0 ; } -static inline int xen_set_ioreq_server_state (XenXC xc,domid_t dom, +static inline int xen_set_ioreq_server_state (xc_interface *xc,domid_t dom,ioservid_t ioservid,bool enable) {@@ -222,7 +202,7 @@ static inline int xen_set_ioreq_server_state(XenXC xc, domid_t dom,/* Xen 4.5 */ #else -static inline void xen_map_memory_section (XenXC xc,domid_t dom, +static inline void xen_map_memory_section (xc_interface *xc,domid_t dom,ioservid_t ioservid,MemoryRegionSection *section) {@@ -235,7 +215,7 @@ static inline void xen_map_memory_section(XenXC xc, domid_t dom, start_addr, end_addr); } -static inline void xen_unmap_memory_section (XenXC xc,domid_t dom, +static inline void xen_unmap_memory_section (xc_interface *xc,domid_t dom,ioservid_t ioservid,MemoryRegionSection *section) {@@ -248,7 +228,7 @@ static inline void xen_unmap_memory_section(XenXC xc, domid_t dom, start_addr, end_addr); } -static inline void xen_map_io_section (XenXC xc,domid_t dom, +static inline void xen_map_io_section (xc_interface *xc,domid_t dom,ioservid_t ioservid,MemoryRegionSection *section) {@@ -261,7 +241,7 @@ static inline void xen_map_io_section(XenXC xc, domid_t dom, start_addr, end_addr); } -static inline void xen_unmap_io_section (XenXC xc,domid_t dom, +static inline void xen_unmap_io_section (xc_interface *xc,domid_t dom,ioservid_t ioservid,MemoryRegionSection *section) {@@ -274,7 +254,7 @@ static inline void xen_unmap_io_section(XenXC xc, domid_t dom, start_addr, end_addr); } -static inline void xen_map_pcidev (XenXC xc,domid_t dom, +static inline void xen_map_pcidev (xc_interface *xc,domid_t dom,ioservid_t ioservid,PCIDevice *pci_dev) {@@ -286,7 +266,7 @@ static inline void xen_map_pcidev(XenXC xc, domid_t dom, PCI_FUNC(pci_dev->devfn)); } -static inline void xen_unmap_pcidev (XenXC xc,domid_t dom, +static inline void xen_unmap_pcidev (xc_interface *xc,domid_t dom,ioservid_t ioservid,PCIDevice *pci_dev) {@@ -298,7 +278,7 @@ static inline void xen_unmap_pcidev(XenXC xc, domid_t dom, PCI_FUNC(pci_dev->devfn)); } -static inline int xen_create_ioreq_server (XenXC xc,domid_t dom, +static inline int xen_create_ioreq_server (xc_interface *xc,domid_t dom,ioservid_t *ioservid) { int rc = xc_hvm_create_ioreq_server(xc, dom, HVM_IOREQSRV_BUFIOREQ_ATOMIC,@@ -311,14 +291,14 @@ static inline int xen_create_ioreq_server(XenXC xc, domid_t dom,return rc; } -static inline void xen_destroy_ioreq_server (XenXC xc,domid_t dom, +static inline void xen_destroy_ioreq_server (xc_interface *xc,domid_t dom,ioservid_t ioservid) {trace_xen_ioreq_server_destroy (ioservid);xc_hvm_destroy_ioreq_server (xc, dom, ioservid); } -static inline int xen_get_ioreq_server_info(XenXC xc, domid_t dom, +static inline int xen_get_ioreq_server_info(xc_interface *xc, domid_t dom, ioservid_t ioservid, xen_pfn_t *ioreq_pfn, xen_pfn_t *bufioreq_pfn,@@ -329,7 +309,7 @@ static inline int xen_get_ioreq_server_info(XenXC xc, domid_t dom, bufioreq_evtchn); } -static inline int xen_set_ioreq_server_state (XenXC xc,domid_t dom, +static inline int xen_set_ioreq_server_state (xc_interface *xc,domid_t dom,ioservid_t ioservid,bool enable) {@@ -340,7 +320,7 @@ static inline int xen_set_ioreq_server_state(XenXC xc, domid_t dom,#endif #if CONFIG_XEN_CTRL_INTERFACE_VERSION <460 -static inline int xen_xc_domain_add_to_physmap (XenXC xch,uint32_t domid, +static inline int xen_xc_domain_add_to_physmap (xc_interface *xch,uint32_t domid,unsigned int space,unsigned long idx,xen_pfn_t gpfn)@@ -348,7 +328,7 @@ static inline int xen_xc_domain_add_to_physmap(XenXC xch, uint32_t domid, return xc_domain_add_to_physmap(xch, domid, space, idx, gpfn); }#else -static inline int xen_xc_domain_add_to_physmap (XenXC xch,uint32_t domid, +static inline int xen_xc_domain_add_to_physmap (xc_interface *xch,uint32_t domid,unsigned int space,unsigned long idx,xen_pfn_t gpfn)@@ -363,14 +343,14 @@ static inline int xen_xc_domain_add_to_physmap(XenXC xch, uint32_t domid, #ifdef CONFIG_XEN_PV_DOMAIN_BUILD #if CONFIG_XEN_CTRL_INTERFACE_VERSION < 470 -static inline int xen_domain_create(XenXC xc, uint32_t ssidref, +static inline int xen_domain_create(xc_interface *xc, uint32_t ssidref, xen_domain_handle_t handle, uint32_t flags, uint32_t *pdomid) { return xc_domain_create(xc, ssidref, handle, flags, pdomid); } #else -static inline int xen_domain_create(XenXC xc, uint32_t ssidref, +static inline int xen_domain_create(xc_interface *xc, uint32_t ssidref, xen_domain_handle_t handle, uint32_t flags, uint32_t *pdomid) {@@ -381,17 +361,17 @@ static inline int xen_domain_create(XenXC xc, uint32_t ssidref,#if CONFIG_XEN_CTRL_INTERFACE_VERSION <471 -#define xenforeignmemory_open (l, f) &xen_xc +#define xenforeignmemory_open (l, f) xen_xc -static inline void *xenforeignmemory_map (XenXC *h,uint32_t dom, +static inline void *xenforeignmemory_map (xc_interface *h,uint32_t dom,int prot,size_t pages,const xen_pfn_t arr[/*pages*/ ],int err[/*pages*/ ]) {if (err) -return xc_map_foreign_bulk (*h, dom, prot, arr, err, pages); +return xc_map_foreign_bulk (h, dom, prot, arr, err, pages);else -return xc_map_foreign_pages (*h, dom, prot, arr, pages); +return xc_map_foreign_pages (h, dom, prot, arr, pages); }#define xenforeignmemory_unmap (h, p, s) munmap(p, s * XC_PAGE_SIZE)xen-common.c +2
-2@@ -114,8 +114,8 @@ static void xen_change_state_handler(void *opaque, int running,static int xen_init (MachineState *ms) { - xen_xc =xen_xc_interface_open (0 ,0 ,0 ); -if (xen_xc ==XC_HANDLER_INITIAL_VALUE ) { + xen_xc =xc_interface_open (0 ,0 ,0 ); +if (xen_xc ==NULL ) {xen_be_printf (NULL ,0 ,"can't open xen interface\n" );return -1 ; }xen-hvm.c +8
-8@@ -1224,7 +1224,7 @@ void xen_hvm_init(PCMachineState *pcms, MemoryRegion **ram_memory) &ioreq_pfn, &bufioreq_pfn, &bufioreq_evtchn);if (rc <0 ) { -error_report ("failed to get ioreq server info: error %d handle=" XC_INTERFACE_FMT , +error_report ("failed to get ioreq server info: error %d handle=%p" , errno, xen_xc); goto err; }@@ -1237,7 +1237,7 @@ void xen_hvm_init(PCMachineState *pcms, MemoryRegion **ram_memory)PROT_READ |PROT_WRITE , 1, &ioreq_pfn, NULL);if (state->shared_page ==NULL ) { -error_report ("map shared IO page returned error %d handle=" XC_INTERFACE_FMT , +error_report ("map shared IO page returned error %d handle=%p" , errno, xen_xc); goto err; }@@ -1249,8 +1249,8 @@ void xen_hvm_init(PCMachineState *pcms, MemoryRegion **ram_memory)xenforeignmemory_map (xen_fmem, xen_domid,PROT_READ |PROT_WRITE ,1 , &ioreq_pfn,NULL );if (state->shared_vmport_page ==NULL ) { -error_report ("map shared vmport IO page returned error %d handle=" -XC_INTERFACE_FMT , errno, xen_xc); +error_report ("map shared vmport IO page returned error %d handle=%p" , + errno, xen_xc); goto err; } }else if (rc != -ENOSYS ) {@@ -1272,7 +1272,7 @@ void xen_hvm_init(PCMachineState *pcms, MemoryRegion **ram_memory) rc =xen_set_ioreq_server_state (xen_xc, xen_domid, state->ioservid, true);if (rc <0 ) { -error_report ("failed to enable ioreq server info: error %d handle=" XC_INTERFACE_FMT , +error_report ("failed to enable ioreq server info: error %d handle=%p" , errno, xen_xc); goto err; }@@ -1333,11 +1333,11 @@ err:void destroy_hvm_domain (bool reboot) { -XenXC xc_handle; +xc_interface *xc_handle;int sts; - xc_handle =xen_xc_interface_open (0 ,0 ,0 ); -if (xc_handle ==XC_HANDLER_INITIAL_VALUE ) { + xc_handle =xc_interface_open (0 ,0 ,0 ); +if (xc_handle ==NULL ) {fprintf (stderr,"Cannot acquire xenctrl handle\n" ); }else { sts = xc_domain_shutdown(xc_handle, xen_domid,Signature · 1 line
2.1.4
PATCH 4/5 xen: move xenforeignmemory compat layer into common place
In reply to Ian CampbellNow that we no longer support Xen 4.2 and earlier only the <470 case needs this so it can live with all the others.
--- include/hw/xen/xen_common.h | 34 ++++++++++++++-------------------- 1 file changed, 14 insertions(+), 20 deletions(-)
include/hw/xen/xen_common.h +14 -20
@@ -53,7 +53,20 @@ typedef xc_gnttab xengnttab_handle;#define xengnttab_map_grant_refs (h, c, d, r, p) \ xc_gnttab_map_grant_refs(h, c, d, r, p) -/* See below for xenforeignmemory_* APIs */ +#define xenforeignmemory_open (l, f) xen_xc + +static inline void *xenforeignmemory_map (xc_interface *h,uint32_t dom, +int prot,size_t pages, +const xen_pfn_t arr[/*pages*/ ], +int err[/*pages*/ ]) +{ +if (err) +return xc_map_foreign_bulk (h, dom, prot, arr, err, pages); +else +return xc_map_foreign_pages (h, dom, prot, arr, pages); +} + +#define xenforeignmemory_unmap (h, p, s) munmap(p, s * XC_PAGE_SIZE)#else /* CONFIG_XEN_CTRL_INTERFACE_VERSION >= 471 */
@@ -359,23 +372,4 @@ static inline int xen_domain_create(xc_interface *xc, uint32_t ssidref,#endif #endif -#if CONFIG_XEN_CTRL_INTERFACE_VERSION <471 - -#define xenforeignmemory_open (l, f) xen_xc - -static inline void *xenforeignmemory_map (xc_interface *h,uint32_t dom, -int prot,size_t pages, -const xen_pfn_t arr[/*pages*/ ], -int err[/*pages*/ ]) -{ -if (err) -return xc_map_foreign_bulk (h, dom, prot, arr, err, pages); -else -return xc_map_foreign_pages (h, dom, prot, arr, pages); -} - -#define xenforeignmemory_unmap (h, p, s) munmap(p, s * XC_PAGE_SIZE) - -#endif -#endif /* QEMU_HW_XEN_COMMON_H */
Signature · 1 line
2.1.4
Re: [PATCH 4/5] xen: move xenforeignmemory compat layer into common place
Quoted 4 lines · Ian Campbell
Now that we no longer support Xen 4.2 and earlier only the <470 case needs this so it can live with all the others.
Signed-off-by Ian Campbell <[email protected]>
Quoted 56 lines
include/hw/xen/xen_common.h | 34 ++++++++++++++-------------------- 1 file changed, 14 insertions(+), 20 deletions(-)include/hw/xen/xen_common.h +14
-20@@ -53,7 +53,20 @@ typedef xc_gnttab xengnttab_handle;#define xengnttab_map_grant_refs (h, c, d, r, p) \ xc_gnttab_map_grant_refs(h, c, d, r, p) -/* See below for xenforeignmemory_* APIs */ +#define xenforeignmemory_open (l, f) xen_xc + +static inline void *xenforeignmemory_map (xc_interface *h,uint32_t dom, +int prot,size_t pages, +const xen_pfn_t arr[/*pages*/ ], +int err[/*pages*/ ]) +{ +if (err) +return xc_map_foreign_bulk (h, dom, prot, arr, err, pages); +else +return xc_map_foreign_pages (h, dom, prot, arr, pages); +} + +#define xenforeignmemory_unmap (h, p, s) munmap(p, s * XC_PAGE_SIZE)#else /* CONFIG_XEN_CTRL_INTERFACE_VERSION >= 471 */ @@ -359,23 +372,4 @@ static inline int xen_domain_create(xc_interface *xc, uint32_t ssidref,#endif #endif -#if CONFIG_XEN_CTRL_INTERFACE_VERSION <471 - -#define xenforeignmemory_open (l, f) xen_xc - -static inline void *xenforeignmemory_map (xc_interface *h,uint32_t dom, -int prot,size_t pages, -const xen_pfn_t arr[/*pages*/ ], -int err[/*pages*/ ]) -{ -if (err) -return xc_map_foreign_bulk (h, dom, prot, arr, err, pages); -else -return xc_map_foreign_pages (h, dom, prot, arr, pages); -} - -#define xenforeignmemory_unmap (h, p, s) munmap(p, s * XC_PAGE_SIZE) - -#endif -#endif /* QEMU_HW_XEN_COMMON_H */ Signature · 1 line
2.1.4
Re: [Qemu-devel] [PATCH 4/5] xen: move xenforeignmemory compat layer into common place
In reply to Ian CampbellQuoted 4 lines · Ian Campbell
Now that we no longer support Xen 4.2 and earlier only the <470 case needs this so it can live with all the others.
Signed-off-by Ian Campbell <[email protected]>
Quoted 56 lines
include/hw/xen/xen_common.h | 34 ++++++++++++++-------------------- 1 file changed, 14 insertions(+), 20 deletions(-)include/hw/xen/xen_common.h +14
-20@@ -53,7 +53,20 @@ typedef xc_gnttab xengnttab_handle;#define xengnttab_map_grant_refs (h, c, d, r, p) \ xc_gnttab_map_grant_refs(h, c, d, r, p) -/* See below for xenforeignmemory_* APIs */ +#define xenforeignmemory_open (l, f) xen_xc + +static inline void *xenforeignmemory_map (xc_interface *h,uint32_t dom, +int prot,size_t pages, +const xen_pfn_t arr[/*pages*/ ], +int err[/*pages*/ ]) +{ +if (err) +return xc_map_foreign_bulk (h, dom, prot, arr, err, pages); +else +return xc_map_foreign_pages (h, dom, prot, arr, pages); +} + +#define xenforeignmemory_unmap (h, p, s) munmap(p, s * XC_PAGE_SIZE)#else /* CONFIG_XEN_CTRL_INTERFACE_VERSION >= 471 */ @@ -359,23 +372,4 @@ static inline int xen_domain_create(xc_interface *xc, uint32_t ssidref,#endif #endif -#if CONFIG_XEN_CTRL_INTERFACE_VERSION <471 - -#define xenforeignmemory_open (l, f) xen_xc - -static inline void *xenforeignmemory_map (xc_interface *h,uint32_t dom, -int prot,size_t pages, -const xen_pfn_t arr[/*pages*/ ], -int err[/*pages*/ ]) -{ -if (err) -return xc_map_foreign_bulk (h, dom, prot, arr, err, pages); -else -return xc_map_foreign_pages (h, dom, prot, arr, pages); -} - -#define xenforeignmemory_unmap (h, p, s) munmap(p, s * XC_PAGE_SIZE) - -#endif -#endif /* QEMU_HW_XEN_COMMON_H */ Signature · 1 line
2.1.4
PATCH 5/5 xen: Drop __XEN_LATEST_INTERFACE_VERSION__ checks from prior to Xen 4.2
In reply to Ian CampbellWe assume (and check for in configure) 4.2 or later now. In reality all of the removed checks are for far older versions.
--- hw/display/xenfb.c | 7 ------- xen-hvm.c | 14 +------------- 2 files changed, 1 insertion(+), 20 deletions(-)
hw/display/xenfb.c +0 -7
@@ -241,9 +241,7 @@ static int xenfb_send_motion(struct XenInput *xenfb, event.type =XENKBD_TYPE_MOTION ; event.motion.rel_x = rel_x; event.motion.rel_y = rel_y; -#if __XEN_LATEST_INTERFACE_VERSION__ >=0x00030207 event.motion.rel_z = rel_z; -#endif return xenfb_kbd_event (xenfb, &event); }
@@ -258,12 +256,7 @@ static int xenfb_send_position(struct XenInput *xenfb, event.type =XENKBD_TYPE_POS ; event.pos.abs_x = abs_x; event.pos.abs_y = abs_y; -#if __XEN_LATEST_INTERFACE_VERSION__ ==0x00030207 - event.pos.abs_z = z; -#endif -#if __XEN_LATEST_INTERFACE_VERSION__ >=0x00030208 event.pos.rel_z = z; -#endif return xenfb_kbd_event (xenfb, &event); }
xen-hvm.c +1 -13
@@ -67,17 +67,6 @@ struct shared_vmport_iopage {typedef struct shared_vmport_iopage shared_vmport_iopage_t ;#endif -#if __XEN_LATEST_INTERFACE_VERSION__ <0x0003020a -static inline uint32_t xen_vcpu_eport (shared_iopage_t *shared_page,int i) -{ -return shared_page->vcpu_iodata[i].vp_eport; -} -static inline ioreq_t *xen_vcpu_ioreq (shared_iopage_t *shared_page,int vcpu) -{ -return &shared_page->vcpu_iodata[vcpu].vp_ioreq; -} -# define FMT_ioreq_size PRIx64 -#else static inline uint32_t xen_vcpu_eport (shared_iopage_t *shared_page,int i) {return shared_page->vcpu_ioreq[i].vp_eport;
@@ -86,8 +75,7 @@ static inline ioreq_t *xen_vcpu_ioreq(shared_iopage_t *shared_page, int vcpu) {return &shared_page->vcpu_ioreq[vcpu]; } -# define FMT_ioreq_size "u" -#endif +#define FMT_ioreq_size "u"#define BUFFER_IO_MAX_DELAY 100
Signature · 1 line
2.1.4
PATCH 5/5 xen: Drop __XEN_LATEST_INTERFACE_VERSION__ checks from prior to Xen 4.2
In reply to Ian CampbellWe assume (and check for in configure) 4.2 or later now. In reality all of the removed checks are for far older versions.
--- hw/display/xenfb.c | 7 ------- xen-hvm.c | 14 +------------- 2 files changed, 1 insertion(+), 20 deletions(-)
hw/display/xenfb.c +0 -7
@@ -241,9 +241,7 @@ static int xenfb_send_motion(struct XenInput *xenfb, event.type =XENKBD_TYPE_MOTION ; event.motion.rel_x = rel_x; event.motion.rel_y = rel_y; -#if __XEN_LATEST_INTERFACE_VERSION__ >=0x00030207 event.motion.rel_z = rel_z; -#endif return xenfb_kbd_event (xenfb, &event); }
@@ -258,12 +256,7 @@ static int xenfb_send_position(struct XenInput *xenfb, event.type =XENKBD_TYPE_POS ; event.pos.abs_x = abs_x; event.pos.abs_y = abs_y; -#if __XEN_LATEST_INTERFACE_VERSION__ ==0x00030207 - event.pos.abs_z = z; -#endif -#if __XEN_LATEST_INTERFACE_VERSION__ >=0x00030208 event.pos.rel_z = z; -#endif return xenfb_kbd_event (xenfb, &event); }
xen-hvm.c +1 -13
@@ -67,17 +67,6 @@ struct shared_vmport_iopage {typedef struct shared_vmport_iopage shared_vmport_iopage_t ;#endif -#if __XEN_LATEST_INTERFACE_VERSION__ <0x0003020a -static inline uint32_t xen_vcpu_eport (shared_iopage_t *shared_page,int i) -{ -return shared_page->vcpu_iodata[i].vp_eport; -} -static inline ioreq_t *xen_vcpu_ioreq (shared_iopage_t *shared_page,int vcpu) -{ -return &shared_page->vcpu_iodata[vcpu].vp_ioreq; -} -# define FMT_ioreq_size PRIx64 -#else static inline uint32_t xen_vcpu_eport (shared_iopage_t *shared_page,int i) {return shared_page->vcpu_ioreq[i].vp_eport;
@@ -86,8 +75,7 @@ static inline ioreq_t *xen_vcpu_ioreq(shared_iopage_t *shared_page, int vcpu) {return &shared_page->vcpu_ioreq[vcpu]; } -# define FMT_ioreq_size "u" -#endif +#define FMT_ioreq_size "u"#define BUFFER_IO_MAX_DELAY 100
Signature · 1 line
2.1.4
Re: [PATCH 5/5] xen: Drop __XEN_LATEST_INTERFACE_VERSION__ checks from prior to Xen 4.2
Quoted 59 lines · Ian Campbell
We assume (and check for in configure) 4.2 or later now. In reality all of the removed checks are for far older versions.
Signed-off-by Ian Campbell <[email protected]>--- hw/display/xenfb.c | 7 ------- xen-hvm.c | 14 +------------- 2 files changed, 1 insertion(+), 20 deletions(-)hw/display/xenfb.c +0
-7@@ -241,9 +241,7 @@ static int xenfb_send_motion(struct XenInput *xenfb, event.type =XENKBD_TYPE_MOTION ; event.motion.rel_x = rel_x; event.motion.rel_y = rel_y; -#if __XEN_LATEST_INTERFACE_VERSION__ >=0x00030207 event.motion.rel_z = rel_z; -#endif return xenfb_kbd_event (xenfb, &event); }@@ -258,12 +256,7 @@ static int xenfb_send_position(struct XenInput *xenfb, event.type =XENKBD_TYPE_POS ; event.pos.abs_x = abs_x; event.pos.abs_y = abs_y; -#if __XEN_LATEST_INTERFACE_VERSION__ ==0x00030207 - event.pos.abs_z = z; -#endif -#if __XEN_LATEST_INTERFACE_VERSION__ >=0x00030208 event.pos.rel_z = z; -#endif return xenfb_kbd_event (xenfb, &event); }xen-hvm.c +0
-11@@ -67,17 +67,6 @@ struct shared_vmport_iopage {typedef struct shared_vmport_iopage shared_vmport_iopage_t ;#endif -#if __XEN_LATEST_INTERFACE_VERSION__ <0x0003020a -static inline uint32_t xen_vcpu_eport (shared_iopage_t *shared_page,int i) -{ -return shared_page->vcpu_iodata[i].vp_eport; -} -static inline ioreq_t *xen_vcpu_ioreq (shared_iopage_t *shared_page,int vcpu) -{ -return &shared_page->vcpu_iodata[vcpu].vp_ioreq; -} -# define FMT_ioreq_size PRIx64 -#else static inline uint32_t xen_vcpu_eport (shared_iopage_t *shared_page,int i) {return shared_page->vcpu_ioreq[i].vp_eport;
xen-hvm.c static inline ioreq_t *xen_vcpu_ioreq(shared_iopage_t *shared_page, int vcpu) · line 78
Quoted 6 lines
xen-hvm.c +1
-2@@ -86,8 +75,7 @@ static inline ioreq_t *xen_vcpu_ioreq(shared_iopage_t *shared_page, int vcpu) {return &shared_page->vcpu_ioreq[vcpu]; } -# define FMT_ioreq_size "u" -#endif +#define FMT_ioreq_size "u"
Given that we are not defining any other special FMT constants for the other fields in ioreq_t, please just go ahead and replace the callers below.
Re: [Qemu-devel] [PATCH 5/5] xen: Drop __XEN_LATEST_INTERFACE_VERSION__ checks from prior to Xen 4.2
In reply to Ian CampbellQuoted 59 lines · Ian Campbell
We assume (and check for in configure) 4.2 or later now. In reality all of the removed checks are for far older versions.
Signed-off-by Ian Campbell <[email protected]>--- hw/display/xenfb.c | 7 ------- xen-hvm.c | 14 +------------- 2 files changed, 1 insertion(+), 20 deletions(-)hw/display/xenfb.c +0
-7@@ -241,9 +241,7 @@ static int xenfb_send_motion(struct XenInput *xenfb, event.type =XENKBD_TYPE_MOTION ; event.motion.rel_x = rel_x; event.motion.rel_y = rel_y; -#if __XEN_LATEST_INTERFACE_VERSION__ >=0x00030207 event.motion.rel_z = rel_z; -#endif return xenfb_kbd_event (xenfb, &event); }@@ -258,12 +256,7 @@ static int xenfb_send_position(struct XenInput *xenfb, event.type =XENKBD_TYPE_POS ; event.pos.abs_x = abs_x; event.pos.abs_y = abs_y; -#if __XEN_LATEST_INTERFACE_VERSION__ ==0x00030207 - event.pos.abs_z = z; -#endif -#if __XEN_LATEST_INTERFACE_VERSION__ >=0x00030208 event.pos.rel_z = z; -#endif return xenfb_kbd_event (xenfb, &event); }xen-hvm.c +0
-11@@ -67,17 +67,6 @@ struct shared_vmport_iopage {typedef struct shared_vmport_iopage shared_vmport_iopage_t ;#endif -#if __XEN_LATEST_INTERFACE_VERSION__ <0x0003020a -static inline uint32_t xen_vcpu_eport (shared_iopage_t *shared_page,int i) -{ -return shared_page->vcpu_iodata[i].vp_eport; -} -static inline ioreq_t *xen_vcpu_ioreq (shared_iopage_t *shared_page,int vcpu) -{ -return &shared_page->vcpu_iodata[vcpu].vp_ioreq; -} -# define FMT_ioreq_size PRIx64 -#else static inline uint32_t xen_vcpu_eport (shared_iopage_t *shared_page,int i) {return shared_page->vcpu_ioreq[i].vp_eport;
xen-hvm.c static inline ioreq_t *xen_vcpu_ioreq(shared_iopage_t *shared_page, int vcpu) · line 78
Quoted 6 lines
xen-hvm.c +1
-2@@ -86,8 +75,7 @@ static inline ioreq_t *xen_vcpu_ioreq(shared_iopage_t *shared_page, int vcpu) {return &shared_page->vcpu_ioreq[vcpu]; } -# define FMT_ioreq_size "u" -#endif +#define FMT_ioreq_size "u"
Given that we are not defining any other special FMT constants for the other fields in ioreq_t, please just go ahead and replace the callers below.