[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 3/3] xen: cleanup IOREQ server on exit
Use the backported Notifier interface to register an atexit handler to cleanup the IOREQ server. This is required since Xen commit a5a180f9 ("x86/domain: don't destroy IOREQ servers on soft reset") is introduced which requires Qemu to explicitly close the IOREQ server. This is can be seen as a backport of ba7fdd64 ("xen: cleanup IOREQ server on exit"). Signed-off-by: Maximilian Heyne <mheyne@xxxxxxxxx> --- hw/xen_machine_fv.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/hw/xen_machine_fv.c b/hw/xen_machine_fv.c index f0989fad4..66eb4a1eb 100644 --- a/hw/xen_machine_fv.c +++ b/hw/xen_machine_fv.c @@ -31,6 +31,7 @@ #include "qemu-aio.h" #include "xen_backend.h" #include "pci.h" +#include "sysemu.h" #include <xen/hvm/params.h> #include <sys/mman.h> @@ -67,6 +68,8 @@ TAILQ_HEAD(map_cache_head, map_cache_rev) locked_entries = TAILQ_HEAD_INITIALIZE static unsigned long last_address_page = ~0UL; static uint8_t *last_address_vaddr; +static Notifier exit_notifier; + static int qemu_map_cache_init(void) { unsigned long size; @@ -283,6 +286,11 @@ void xen_disable_io(void) xc_hvm_set_ioreq_server_state(xc_handle, domid, ioservid, 0); } +static void xen_exit_notifier(Notifier *n) +{ + xc_hvm_destroy_ioreq_server(xc_handle, domid, ioservid); +} + static void xen_init_fv(ram_addr_t ram_size, int vga_ram_size, const char *boot_device, const char *kernel_filename,const char *kernel_cmdline, @@ -317,6 +325,9 @@ static void xen_init_fv(ram_addr_t ram_size, int vga_ram_size, exit(-1); } + exit_notifier.notify = xen_exit_notifier; + qemu_add_exit_notifier(&exit_notifier); + if (xc_hvm_get_ioreq_server_info(xc_handle, domid, ioservid, &ioreq_pfn, &bufioreq_pfn, &bufioreq_evtchn)) { -- 2.16.6 Amazon Development Center Germany GmbH Krausenstr. 38 10117 Berlin Geschaeftsfuehrung: Christian Schlaeger, Jonathan Weiss Eingetragen am Amtsgericht Charlottenburg unter HRB 149173 B Sitz: Berlin Ust-ID: DE 289 237 879 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |