accel: Move Xen accelerator code under accel/xen/
This code is not related to hardware emulation. Move it under accel/ with the other hypervisors. Reviewed-by: Paul Durrant <paul@xen.org> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20200508100222.7112-1-philmd@redhat.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
23accdf162
commit
da278d58a0
@ -440,6 +440,7 @@ M: Paul Durrant <paul@xen.org>
|
|||||||
L: xen-devel@lists.xenproject.org
|
L: xen-devel@lists.xenproject.org
|
||||||
S: Supported
|
S: Supported
|
||||||
F: */xen*
|
F: */xen*
|
||||||
|
F: accel/xen/*
|
||||||
F: hw/9pfs/xen-9p*
|
F: hw/9pfs/xen-9p*
|
||||||
F: hw/char/xen_console.c
|
F: hw/char/xen_console.c
|
||||||
F: hw/display/xenfb.c
|
F: hw/display/xenfb.c
|
||||||
@ -453,6 +454,7 @@ F: hw/i386/xen/
|
|||||||
F: hw/pci-host/xen_igd_pt.c
|
F: hw/pci-host/xen_igd_pt.c
|
||||||
F: include/hw/block/dataplane/xen*
|
F: include/hw/block/dataplane/xen*
|
||||||
F: include/hw/xen/
|
F: include/hw/xen/
|
||||||
|
F: include/sysemu/xen.h
|
||||||
F: include/sysemu/xen-mapcache.h
|
F: include/sysemu/xen-mapcache.h
|
||||||
|
|
||||||
Guest CPU Cores (HAXM)
|
Guest CPU Cores (HAXM)
|
||||||
|
@ -2,4 +2,5 @@ common-obj-$(CONFIG_SOFTMMU) += accel.o
|
|||||||
obj-$(call land,$(CONFIG_SOFTMMU),$(CONFIG_POSIX)) += qtest.o
|
obj-$(call land,$(CONFIG_SOFTMMU),$(CONFIG_POSIX)) += qtest.o
|
||||||
obj-$(CONFIG_KVM) += kvm/
|
obj-$(CONFIG_KVM) += kvm/
|
||||||
obj-$(CONFIG_TCG) += tcg/
|
obj-$(CONFIG_TCG) += tcg/
|
||||||
|
obj-$(CONFIG_XEN) += xen/
|
||||||
obj-y += stubs/
|
obj-y += stubs/
|
||||||
|
1
accel/xen/Makefile.objs
Normal file
1
accel/xen/Makefile.objs
Normal file
@ -0,0 +1 @@
|
|||||||
|
obj-y += xen-all.o
|
@ -16,6 +16,7 @@
|
|||||||
#include "hw/xen/xen_pt.h"
|
#include "hw/xen/xen_pt.h"
|
||||||
#include "chardev/char.h"
|
#include "chardev/char.h"
|
||||||
#include "sysemu/accel.h"
|
#include "sysemu/accel.h"
|
||||||
|
#include "sysemu/xen.h"
|
||||||
#include "sysemu/runstate.h"
|
#include "sysemu/runstate.h"
|
||||||
#include "migration/misc.h"
|
#include "migration/misc.h"
|
||||||
#include "migration/global_state.h"
|
#include "migration/global_state.h"
|
||||||
@ -31,6 +32,13 @@
|
|||||||
do { } while (0)
|
do { } while (0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static bool xen_allowed;
|
||||||
|
|
||||||
|
bool xen_enabled(void)
|
||||||
|
{
|
||||||
|
return xen_allowed;
|
||||||
|
}
|
||||||
|
|
||||||
xc_interface *xen_xc;
|
xc_interface *xen_xc;
|
||||||
xenforeignmemory_handle *xen_fmem;
|
xenforeignmemory_handle *xen_fmem;
|
||||||
xendevicemodel_handle *xen_dmod;
|
xendevicemodel_handle *xen_dmod;
|
@ -30,6 +30,7 @@
|
|||||||
#include "hw/acpi/acpi.h"
|
#include "hw/acpi/acpi.h"
|
||||||
#include "sysemu/runstate.h"
|
#include "sysemu/runstate.h"
|
||||||
#include "sysemu/sysemu.h"
|
#include "sysemu/sysemu.h"
|
||||||
|
#include "sysemu/xen.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
#include "qemu/range.h"
|
#include "qemu/range.h"
|
||||||
#include "exec/address-spaces.h"
|
#include "exec/address-spaces.h"
|
||||||
@ -41,7 +42,6 @@
|
|||||||
#include "hw/mem/nvdimm.h"
|
#include "hw/mem/nvdimm.h"
|
||||||
#include "hw/acpi/memory_hotplug.h"
|
#include "hw/acpi/memory_hotplug.h"
|
||||||
#include "hw/acpi/acpi_dev_interface.h"
|
#include "hw/acpi/acpi_dev_interface.h"
|
||||||
#include "hw/xen/xen.h"
|
|
||||||
#include "migration/vmstate.h"
|
#include "migration/vmstate.h"
|
||||||
#include "hw/core/cpu.h"
|
#include "hw/core/cpu.h"
|
||||||
#include "trace.h"
|
#include "trace.h"
|
||||||
|
@ -57,6 +57,7 @@
|
|||||||
#include "sysemu/tcg.h"
|
#include "sysemu/tcg.h"
|
||||||
#include "sysemu/numa.h"
|
#include "sysemu/numa.h"
|
||||||
#include "sysemu/kvm.h"
|
#include "sysemu/kvm.h"
|
||||||
|
#include "sysemu/xen.h"
|
||||||
#include "sysemu/qtest.h"
|
#include "sysemu/qtest.h"
|
||||||
#include "sysemu/reset.h"
|
#include "sysemu/reset.h"
|
||||||
#include "sysemu/runstate.h"
|
#include "sysemu/runstate.h"
|
||||||
|
@ -53,6 +53,7 @@
|
|||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
#include "qemu/error-report.h"
|
#include "qemu/error-report.h"
|
||||||
|
#include "sysemu/xen.h"
|
||||||
#ifdef CONFIG_XEN
|
#ifdef CONFIG_XEN
|
||||||
#include <xen/hvm/hvm_info_table.h>
|
#include <xen/hvm/hvm_info_table.h>
|
||||||
#include "hw/xen/xen_pt.h"
|
#include "hw/xen/xen_pt.h"
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
#include "hw/rtc/mc146818rtc.h"
|
#include "hw/rtc/mc146818rtc.h"
|
||||||
#include "hw/xen/xen.h"
|
#include "hw/xen/xen.h"
|
||||||
#include "sysemu/kvm.h"
|
#include "sysemu/kvm.h"
|
||||||
|
#include "sysemu/xen.h"
|
||||||
#include "hw/kvm/clock.h"
|
#include "hw/kvm/clock.h"
|
||||||
#include "hw/pci-host/q35.h"
|
#include "hw/pci-host/q35.h"
|
||||||
#include "hw/qdev-properties.h"
|
#include "hw/qdev-properties.h"
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
#include "qemu/range.h"
|
#include "qemu/range.h"
|
||||||
#include "sysemu/runstate.h"
|
#include "sysemu/runstate.h"
|
||||||
#include "sysemu/sysemu.h"
|
#include "sysemu/sysemu.h"
|
||||||
|
#include "sysemu/xen.h"
|
||||||
#include "sysemu/xen-mapcache.h"
|
#include "sysemu/xen-mapcache.h"
|
||||||
#include "trace.h"
|
#include "trace.h"
|
||||||
#include "exec/address-spaces.h"
|
#include "exec/address-spaces.h"
|
||||||
|
@ -33,6 +33,7 @@
|
|||||||
#include "hw/xen/xen-legacy-backend.h"
|
#include "hw/xen/xen-legacy-backend.h"
|
||||||
#include "trace.h"
|
#include "trace.h"
|
||||||
#include "exec/address-spaces.h"
|
#include "exec/address-spaces.h"
|
||||||
|
#include "sysemu/xen.h"
|
||||||
#include "sysemu/block-backend.h"
|
#include "sysemu/block-backend.h"
|
||||||
#include "qemu/error-report.h"
|
#include "qemu/error-report.h"
|
||||||
#include "qemu/module.h"
|
#include "qemu/module.h"
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
#include "hw/irq.h"
|
#include "hw/irq.h"
|
||||||
#include "hw/isa/isa.h"
|
#include "hw/isa/isa.h"
|
||||||
#include "hw/xen/xen.h"
|
#include "hw/xen/xen.h"
|
||||||
|
#include "sysemu/xen.h"
|
||||||
#include "sysemu/sysemu.h"
|
#include "sysemu/sysemu.h"
|
||||||
#include "sysemu/reset.h"
|
#include "sysemu/reset.h"
|
||||||
#include "sysemu/runstate.h"
|
#include "sysemu/runstate.h"
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
#include "hw/pci/msix.h"
|
#include "hw/pci/msix.h"
|
||||||
#include "hw/pci/pci.h"
|
#include "hw/pci/pci.h"
|
||||||
#include "hw/xen/xen.h"
|
#include "hw/xen/xen.h"
|
||||||
|
#include "sysemu/xen.h"
|
||||||
#include "migration/qemu-file-types.h"
|
#include "migration/qemu-file-types.h"
|
||||||
#include "migration/vmstate.h"
|
#include "migration/vmstate.h"
|
||||||
#include "qemu/range.h"
|
#include "qemu/range.h"
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# xen backend driver support
|
# xen backend driver support
|
||||||
common-obj-$(CONFIG_XEN) += xen-legacy-backend.o xen_devconfig.o xen_pvdev.o xen-common.o xen-bus.o xen-bus-helper.o xen-backend.o
|
common-obj-$(CONFIG_XEN) += xen-legacy-backend.o xen_devconfig.o xen_pvdev.o xen-bus.o xen-bus-helper.o xen-backend.o
|
||||||
|
|
||||||
obj-$(CONFIG_XEN_PCI_PASSTHROUGH) += xen-host-pci-device.o
|
obj-$(CONFIG_XEN_PCI_PASSTHROUGH) += xen-host-pci-device.o
|
||||||
obj-$(CONFIG_XEN_PCI_PASSTHROUGH) += xen_pt.o xen_pt_config_init.o xen_pt_graphics.o xen_pt_msi.o
|
obj-$(CONFIG_XEN_PCI_PASSTHROUGH) += xen_pt.o xen_pt_config_init.o xen_pt_graphics.o xen_pt_msi.o
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
#ifndef CONFIG_USER_ONLY
|
#ifndef CONFIG_USER_ONLY
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "hw/xen/xen.h"
|
#include "sysemu/xen.h"
|
||||||
#include "sysemu/tcg.h"
|
#include "sysemu/tcg.h"
|
||||||
#include "exec/ramlist.h"
|
#include "exec/ramlist.h"
|
||||||
#include "exec/ramblock.h"
|
#include "exec/ramblock.h"
|
||||||
|
@ -20,13 +20,6 @@ extern uint32_t xen_domid;
|
|||||||
extern enum xen_mode xen_mode;
|
extern enum xen_mode xen_mode;
|
||||||
extern bool xen_domid_restrict;
|
extern bool xen_domid_restrict;
|
||||||
|
|
||||||
extern bool xen_allowed;
|
|
||||||
|
|
||||||
static inline bool xen_enabled(void)
|
|
||||||
{
|
|
||||||
return xen_allowed;
|
|
||||||
}
|
|
||||||
|
|
||||||
int xen_pci_slot_get_pirq(PCIDevice *pci_dev, int irq_num);
|
int xen_pci_slot_get_pirq(PCIDevice *pci_dev, int irq_num);
|
||||||
void xen_piix3_set_irq(void *opaque, int irq_num, int level);
|
void xen_piix3_set_irq(void *opaque, int irq_num, int level);
|
||||||
void xen_piix_pci_write_config_client(uint32_t address, uint32_t val, int len);
|
void xen_piix_pci_write_config_client(uint32_t address, uint32_t val, int len);
|
||||||
@ -39,10 +32,6 @@ void xenstore_store_pv_console_info(int i, struct Chardev *chr);
|
|||||||
|
|
||||||
void xen_hvm_init(PCMachineState *pcms, MemoryRegion **ram_memory);
|
void xen_hvm_init(PCMachineState *pcms, MemoryRegion **ram_memory);
|
||||||
|
|
||||||
void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size,
|
|
||||||
struct MemoryRegion *mr, Error **errp);
|
|
||||||
void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length);
|
|
||||||
|
|
||||||
void xen_register_framebuffer(struct MemoryRegion *mr);
|
void xen_register_framebuffer(struct MemoryRegion *mr);
|
||||||
|
|
||||||
#endif /* QEMU_HW_XEN_H */
|
#endif /* QEMU_HW_XEN_H */
|
||||||
|
38
include/sysemu/xen.h
Normal file
38
include/sysemu/xen.h
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* QEMU Xen support
|
||||||
|
*
|
||||||
|
* This work is licensed under the terms of the GNU GPL, version 2 or later.
|
||||||
|
* See the COPYING file in the top-level directory.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef SYSEMU_XEN_H
|
||||||
|
#define SYSEMU_XEN_H
|
||||||
|
|
||||||
|
#ifdef CONFIG_XEN
|
||||||
|
|
||||||
|
bool xen_enabled(void);
|
||||||
|
|
||||||
|
#ifndef CONFIG_USER_ONLY
|
||||||
|
void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length);
|
||||||
|
void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size,
|
||||||
|
struct MemoryRegion *mr, Error **errp);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#else /* !CONFIG_XEN */
|
||||||
|
|
||||||
|
#define xen_enabled() 0
|
||||||
|
#ifndef CONFIG_USER_ONLY
|
||||||
|
static inline void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length)
|
||||||
|
{
|
||||||
|
/* nothing */
|
||||||
|
}
|
||||||
|
static inline void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size,
|
||||||
|
MemoryRegion *mr, Error **errp)
|
||||||
|
{
|
||||||
|
g_assert_not_reached();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* CONFIG_XEN */
|
||||||
|
|
||||||
|
#endif
|
@ -28,7 +28,6 @@
|
|||||||
|
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "hw/boards.h"
|
#include "hw/boards.h"
|
||||||
#include "hw/xen/xen.h"
|
|
||||||
#include "net/net.h"
|
#include "net/net.h"
|
||||||
#include "migration.h"
|
#include "migration.h"
|
||||||
#include "migration/snapshot.h"
|
#include "migration/snapshot.h"
|
||||||
@ -59,6 +58,7 @@
|
|||||||
#include "sysemu/replay.h"
|
#include "sysemu/replay.h"
|
||||||
#include "sysemu/runstate.h"
|
#include "sysemu/runstate.h"
|
||||||
#include "sysemu/sysemu.h"
|
#include "sysemu/sysemu.h"
|
||||||
|
#include "sysemu/xen.h"
|
||||||
#include "qjson.h"
|
#include "qjson.h"
|
||||||
#include "migration/colo.h"
|
#include "migration/colo.h"
|
||||||
#include "qemu/bitmap.h"
|
#include "qemu/bitmap.h"
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
#include "sysemu/runstate.h"
|
#include "sysemu/runstate.h"
|
||||||
#include "sysemu/seccomp.h"
|
#include "sysemu/seccomp.h"
|
||||||
#include "sysemu/tcg.h"
|
#include "sysemu/tcg.h"
|
||||||
|
#include "sysemu/xen.h"
|
||||||
|
|
||||||
#include "qemu/error-report.h"
|
#include "qemu/error-report.h"
|
||||||
#include "qemu/sockets.h"
|
#include "qemu/sockets.h"
|
||||||
@ -178,7 +179,6 @@ static NotifierList exit_notifiers =
|
|||||||
static NotifierList machine_init_done_notifiers =
|
static NotifierList machine_init_done_notifiers =
|
||||||
NOTIFIER_LIST_INITIALIZER(machine_init_done_notifiers);
|
NOTIFIER_LIST_INITIALIZER(machine_init_done_notifiers);
|
||||||
|
|
||||||
bool xen_allowed;
|
|
||||||
uint32_t xen_domid;
|
uint32_t xen_domid;
|
||||||
enum xen_mode xen_mode = XEN_EMULATE;
|
enum xen_mode xen_mode = XEN_EMULATE;
|
||||||
bool xen_domid_restrict;
|
bool xen_domid_restrict;
|
||||||
|
@ -35,11 +35,6 @@ int xen_is_pirq_msi(uint32_t msi_data)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr,
|
|
||||||
Error **errp)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
qemu_irq *xen_interrupt_controller_init(void)
|
qemu_irq *xen_interrupt_controller_init(void)
|
||||||
{
|
{
|
||||||
return NULL;
|
return NULL;
|
||||||
@ -49,10 +44,6 @@ void xen_register_framebuffer(MemoryRegion *mr)
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void xen_hvm_init(PCMachineState *pcms, MemoryRegion **ram_memory)
|
void xen_hvm_init(PCMachineState *pcms, MemoryRegion **ram_memory)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -29,6 +29,7 @@
|
|||||||
#include "sysemu/reset.h"
|
#include "sysemu/reset.h"
|
||||||
#include "sysemu/hvf.h"
|
#include "sysemu/hvf.h"
|
||||||
#include "sysemu/cpus.h"
|
#include "sysemu/cpus.h"
|
||||||
|
#include "sysemu/xen.h"
|
||||||
#include "kvm_i386.h"
|
#include "kvm_i386.h"
|
||||||
#include "sev_i386.h"
|
#include "sev_i386.h"
|
||||||
|
|
||||||
@ -54,7 +55,6 @@
|
|||||||
#include "hw/i386/topology.h"
|
#include "hw/i386/topology.h"
|
||||||
#ifndef CONFIG_USER_ONLY
|
#ifndef CONFIG_USER_ONLY
|
||||||
#include "exec/address-spaces.h"
|
#include "exec/address-spaces.h"
|
||||||
#include "hw/xen/xen.h"
|
|
||||||
#include "hw/i386/apic_internal.h"
|
#include "hw/i386/apic_internal.h"
|
||||||
#include "hw/boards.h"
|
#include "hw/boards.h"
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user