[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v15 02/60] xen: add CONFIG_XEN_BUS and CONFIG_XEN_EMU options for
From: |
David Woodhouse |
Subject: |
[PATCH v15 02/60] xen: add CONFIG_XEN_BUS and CONFIG_XEN_EMU options for Xen emulation |
Date: |
Wed, 1 Mar 2023 13:51:25 +0000 |
From: David Woodhouse <dwmw@amazon.co.uk>
The XEN_EMU option will cover core Xen support in target/, which exists
only for x86 with KVM today but could theoretically also be implemented
on Arm/Aarch64 and with TCG or other accelerators (if anyone wants to
run the gauntlet of struct layout compatibility, errno mapping, and the
rest of that fui).
It will also cover the support for architecture-independent grant table
and event channel support which will be added in hw/i386/kvm/ (on the
basis that the non-KVM support is very theoretical and making it not use
KVM directly seems like gratuitous overengineering at this point).
The XEN_BUS option is for the xenfv platform support, which will now be
used both by XEN_EMU and by real Xen.
The XEN option remains dependent on the Xen runtime libraries, and covers
support for real Xen. Some code which currently resides under CONFIG_XEN
will be moving to CONFIG_XEN_BUS over time as the direct dependencies on
Xen runtime libraries are eliminated. The Xen PCI platform device will
also reside under CONFIG_XEN_BUS.
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
hw/Kconfig | 1 +
hw/i386/Kconfig | 5 +++++
hw/xen/Kconfig | 3 +++
meson.build | 1 +
4 files changed, 10 insertions(+)
create mode 100644 hw/xen/Kconfig
diff --git a/hw/Kconfig b/hw/Kconfig
index 38233bbb0f..ba62ff6417 100644
--- a/hw/Kconfig
+++ b/hw/Kconfig
@@ -41,6 +41,7 @@ source tpm/Kconfig
source usb/Kconfig
source virtio/Kconfig
source vfio/Kconfig
+source xen/Kconfig
source watchdog/Kconfig
# arch Kconfig
diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig
index 9fbfe748b5..d40802d83f 100644
--- a/hw/i386/Kconfig
+++ b/hw/i386/Kconfig
@@ -136,3 +136,8 @@ config VMPORT
config VMMOUSE
bool
depends on VMPORT
+
+config XEN_EMU
+ bool
+ default y
+ depends on KVM && (I386 || X86_64)
diff --git a/hw/xen/Kconfig b/hw/xen/Kconfig
new file mode 100644
index 0000000000..3467efb986
--- /dev/null
+++ b/hw/xen/Kconfig
@@ -0,0 +1,3 @@
+config XEN_BUS
+ bool
+ default y if (XEN || XEN_EMU)
diff --git a/meson.build b/meson.build
index 77d2ae87e4..71a14e6b3d 100644
--- a/meson.build
+++ b/meson.build
@@ -3881,6 +3881,7 @@ if have_system
if xen.found()
summary_info += {'xen ctrl version': xen.version()}
endif
+ summary_info += {'Xen emulation': config_all.has_key('CONFIG_XEN_EMU')}
endif
summary_info += {'TCG support': config_all.has_key('CONFIG_TCG')}
if config_all.has_key('CONFIG_TCG')
--
2.39.0
- [PATCH v15 31/60] hw/xen: Implement EVTCHNOP_unmask, (continued)
- [PATCH v15 31/60] hw/xen: Implement EVTCHNOP_unmask, David Woodhouse, 2023/03/01
- [PATCH v15 23/60] i386/xen: handle VCPUOP_register_runstate_memory_area, David Woodhouse, 2023/03/01
- [PATCH v15 33/60] hw/xen: Implement EVTCHNOP_bind_ipi, David Woodhouse, 2023/03/01
- [PATCH v15 60/60] hw/xen: Subsume xen_be_register_common() into xen_be_init(), David Woodhouse, 2023/03/01
- [PATCH v15 11/60] i386/xen: implement HYPERVISOR_sched_op, SCHEDOP_shutdown, David Woodhouse, 2023/03/01
- [PATCH v15 26/60] i386/xen: implement HVMOP_set_param, David Woodhouse, 2023/03/01
- [PATCH v15 14/60] xen: Permit --xen-domid argument when accel is KVM, David Woodhouse, 2023/03/01
- [PATCH v15 05/60] i386/kvm: handle Xen HVM cpuid leaves, David Woodhouse, 2023/03/01
- [PATCH v15 18/60] i386/xen: implement XENMEM_add_to_physmap_batch, David Woodhouse, 2023/03/01
- [PATCH v15 53/60] hw/xen: Automatically add xen-platform PCI device for emulated Xen guests, David Woodhouse, 2023/03/01
- [PATCH v15 02/60] xen: add CONFIG_XEN_BUS and CONFIG_XEN_EMU options for Xen emulation,
David Woodhouse <=
- [PATCH v15 44/60] hw/xen: Support mapping grant frames, David Woodhouse, 2023/03/01
- [PATCH v15 38/60] hw/xen: Implement EVTCHNOP_reset, David Woodhouse, 2023/03/01
- [PATCH v15 50/60] hw/xen: Add backend implementation of interdomain event channel support, David Woodhouse, 2023/03/01
- [PATCH v15 39/60] i386/xen: add monitor commands to test event injection, David Woodhouse, 2023/03/01
- [PATCH v15 51/60] hw/xen: Add xen_xenstore device for xenstore emulation, David Woodhouse, 2023/03/01
- [PATCH v15 45/60] i386/xen: Implement HYPERVISOR_grant_table_op and GNTTABOP_[gs]et_verson, David Woodhouse, 2023/03/01
- [PATCH v15 52/60] hw/xen: Add basic ring handling to xenstore, David Woodhouse, 2023/03/01
- [PATCH v15 42/60] kvm/i386: Add xen-gnttab-max-frames property, David Woodhouse, 2023/03/01
- [PATCH v15 49/60] i386/xen: handle HVMOP_get_param, David Woodhouse, 2023/03/01
- [PATCH v15 32/60] hw/xen: Implement EVTCHNOP_bind_virq, David Woodhouse, 2023/03/01