mirror of
https://github.com/torvalds/linux.git
synced 2024-11-17 01:22:07 +00:00
ddc416cbc4
Which is a PV guest with auto page translation enabled and with vector callback. It is a cross between PVHVM and PV. The Xen side defines PVH as (from docs/misc/pvh-readme.txt, with modifications): "* the guest uses auto translate: - p2m is managed by Xen - pagetables are owned by the guest - mmu_update hypercall not available * it uses event callback and not vlapic emulation, * IDT is native, so set_trap_table hcall is also N/A for a PVH guest. For a full list of hcalls supported for PVH, see pvh_hypercall64_table in arch/x86/hvm/hvm.c in xen. From the ABI prespective, it's mostly a PV guest with auto translate, although it does use hvm_op for setting callback vector." Also we use the PV cpuid, albeit we can use the HVM (native) cpuid. However, we do have a fair bit of filtering in the xen_cpuid and we can piggyback on that until the hypervisor/toolstack filters the appropiate cpuids. Once that is done we can swap over to use the native one. We setup a Kconfig entry that is disabled by default and cannot be enabled. Note that on ARM the concept of PVH is non-existent. As Ian put it: "an ARM guest is neither PV nor HVM nor PVHVM. It's a bit like PVH but is different also (it's further towards the H end of the spectrum than even PVH).". As such these options (PVHVM, PVH) are never enabled nor seen on ARM compilations. Signed-off-by: Mukesh Rathor <mukesh.rathor@oracle.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
59 lines
1.4 KiB
Plaintext
59 lines
1.4 KiB
Plaintext
#
|
|
# This Kconfig describes xen options
|
|
#
|
|
|
|
config XEN
|
|
bool "Xen guest support"
|
|
depends on PARAVIRT
|
|
select PARAVIRT_CLOCK
|
|
select XEN_HAVE_PVMMU
|
|
depends on X86_64 || (X86_32 && X86_PAE && !X86_VISWS)
|
|
depends on X86_TSC
|
|
help
|
|
This is the Linux Xen port. Enabling this will allow the
|
|
kernel to boot in a paravirtualized environment under the
|
|
Xen hypervisor.
|
|
|
|
config XEN_DOM0
|
|
def_bool y
|
|
depends on XEN && PCI_XEN && SWIOTLB_XEN
|
|
depends on X86_LOCAL_APIC && X86_IO_APIC && ACPI && PCI
|
|
|
|
# Dummy symbol since people have come to rely on the PRIVILEGED_GUEST
|
|
# name in tools.
|
|
config XEN_PRIVILEGED_GUEST
|
|
def_bool XEN_DOM0
|
|
|
|
config XEN_PVHVM
|
|
def_bool y
|
|
depends on XEN && PCI && X86_LOCAL_APIC
|
|
|
|
config XEN_MAX_DOMAIN_MEMORY
|
|
int
|
|
default 500 if X86_64
|
|
default 64 if X86_32
|
|
depends on XEN
|
|
help
|
|
This only affects the sizing of some bss arrays, the unused
|
|
portions of which are freed.
|
|
|
|
config XEN_SAVE_RESTORE
|
|
bool
|
|
depends on XEN
|
|
select HIBERNATE_CALLBACKS
|
|
default y
|
|
|
|
config XEN_DEBUG_FS
|
|
bool "Enable Xen debug and tuning parameters in debugfs"
|
|
depends on XEN && DEBUG_FS
|
|
default n
|
|
help
|
|
Enable statistics output and various tuning options in debugfs.
|
|
Enabling this option may incur a significant performance overhead.
|
|
|
|
config XEN_PVH
|
|
bool "Support for running as a PVH guest"
|
|
depends on X86_64 && XEN && BROKEN
|
|
select XEN_PVHVM
|
|
def_bool n
|