|
[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 |