kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Will KVM support "Xen on KVM" type in nested virtualization ?
@ 2012-08-11  9:20 Ren, Yongjie
  2012-08-12  8:52 ` Avi Kivity
  0 siblings, 1 reply; 4+ messages in thread
From: Ren, Yongjie @ 2012-08-11  9:20 UTC (permalink / raw)
  To: kvm@vger.kernel.org; +Cc: Avi Kivity, Marcelo Tosatti

[-- Attachment #1: Type: text/plain, Size: 983 bytes --]

Hi folks,
I did some basic testing on nested virtualization on Intel x86-64 platform.
Will KVM support Xen as L1 guest in nested virtualization ?

When I tried "Xen on KVM" mode, I found VMX can't be initialized in L1 Xen hypervisor.
I tried both "-cpu host" and "-cpu qemu64,+vmx" parameters in qemu-kvm command line.
-------some log in 'xl dmesg' command line in L1 Xen ---
(XEN) VMX: CPU0 has insufficent CPU-Based Exec Control (b299868c but requires min 2299968c)
(XEN) VMX: CPU0 has insufficent VMExit Control (00000200 but requires min 00008200)
(XEN) VMX: failed to initialise.
------more details in the attached "xl-dmesg-L1.log"----
In Xen source code, I found the following related to the mentioned error.
"xen-unstable.hg/xen/include/asm-x86/hvm/vmx/vmcs.h"
#define CPU_BASED_RDTSC_EXITING               0x00001000
#define VM_EXIT_ACK_INTR_ON_EXIT        0x00008000

Will KVM expose these two features in its vCPU ?


Best Regards,
     Yongjie (Jay)

[-- Attachment #2: xl-dmesg-L1.log --]
[-- Type: application/octet-stream, Size: 7555 bytes --]

 __  __            _  _    ____                     _        _     _      
 \ \/ /___ _ __   | || |  |___ \    _   _ _ __  ___| |_ __ _| |__ | | ___ 
  \  // _ \ '_ \  | || |_   __) |__| | | | '_ \/ __| __/ _` | '_ \| |/ _ \
  /  \  __/ | | | |__   _| / __/|__| |_| | | | \__ \ || (_| | |_) | |  __/
 /_/\_\___|_| |_|    |_|(_)_____|   \__,_|_| |_|___/\__\__,_|_.__/|_|\___|
                                                                          
(XEN) Xen version 4.2-unstable (build@) (gcc version 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC) ) Mon Jul 23 23:43:58 CST 2012
(XEN) Latest ChangeSet: Sun Jul 22 16:37:25 2012 +0100 25622:3c426da4788e
(XEN) Bootloader: GNU GRUB 0.97
(XEN) Command line: dom0_mem=768M 
(XEN) Video information:
(XEN)  VGA is text mode 80x25, font 8x16
(XEN) Disc information:
(XEN)  Found 1 MBR signatures
(XEN)  Found 1 EDD information structures
(XEN) Xen-e820 RAM map:
(XEN)  0000000000000000 - 000000000009f400 (usable)
(XEN)  000000000009f400 - 00000000000a0000 (reserved)
(XEN)  00000000000f0000 - 0000000000100000 (reserved)
(XEN)  0000000000100000 - 000000007fffe000 (usable)
(XEN)  000000007fffe000 - 0000000080000000 (reserved)
(XEN)  00000000feffc000 - 00000000ff000000 (reserved)
(XEN)  00000000fffc0000 - 0000000100000000 (reserved)
(XEN) System RAM: 2047MB (2096756kB)
(XEN) ACPI: RSDP 000FD910, 0014 (r0 BOCHS )
(XEN) ACPI: RSDT 7FFFE5B0, 0038 (r1 BOCHS  BXPCRSDT        1 BXPC        1)
(XEN) ACPI: FACP 7FFFFF80, 0074 (r1 BOCHS  BXPCFACP        1 BXPC        1)
(XEN) ACPI: DSDT 7FFFE5F0, 1121 (r1   BXPC   BXDSDT        1 INTL 20100528)
(XEN) ACPI: FACS 7FFFFF40, 0040
(XEN) ACPI: SSDT 7FFFFEA0, 009E (r1 BOCHS  BXPCSSDT        1 BXPC        1)
(XEN) ACPI: APIC 7FFFFDB0, 0078 (r1 BOCHS  BXPCAPIC        1 BXPC        1)
(XEN) ACPI: HPET 7FFFFD70, 0038 (r1 BOCHS  BXPCHPET        1 BXPC        1)
(XEN) ACPI: SSDT 7FFFF720, 0644 (r1   BXPC BXSSDTPC        1 INTL 20100528)
(XEN) No NUMA configuration found
(XEN) Faking a node at 0000000000000000-000000007fffe000
(XEN) Domain heap initialised
(XEN) found SMP MP-table at 000fda70
(XEN) DMI 2.4 present.
(XEN) Using APIC driver default
(XEN) ACPI: PM-Timer IO Port: 0xb008
(XEN) ACPI: ACPI SLEEP INFO: pm1x_cnt[b004,0], pm1x_evt[b000,0]
(XEN) ACPI:                  wakeup_vec[7fffff4c], vec_size[20]
(XEN) ACPI: Local APIC address 0xfee00000
(XEN) ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
(XEN) Processor #0 6:12 APIC version 20
(XEN) ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1])
(XEN) ACPI: IOAPIC (id[0x01] address[0xfec00000] gsi_base[0])
(XEN) IOAPIC[0]: apic_id 1, version 17, address 0xfec00000, GSI 0-23
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 high level)
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 high level)
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 high level)
(XEN) ACPI: IRQ0 used by override.
(XEN) ACPI: IRQ2 used by override.
(XEN) ACPI: IRQ5 used by override.
(XEN) ACPI: IRQ9 used by override.
(XEN) ACPI: IRQ10 used by override.
(XEN) ACPI: IRQ11 used by override.
(XEN) Enabling APIC mode:  Flat.  Using 1 I/O APICs
(XEN) ACPI: HPET id: 0x8086a201 base: 0xfed00000
(XEN) Table is not found!
(XEN) Using ACPI (MADT) for SMP configuration information
(XEN) SMP: Allowing 1 CPUs (0 hotplug CPUs)
(XEN) IRQ limits: 24 GSI, 184 MSI/MSI-X
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Detected 2926.451 MHz processor.
(XEN) Initing memory sharing.
(XEN) traps.c:3156: GPF (0000): ffff82c4801a0bfe -> ffff82c480223c2a
(XEN) mce_intel.c:1239: MCA Capability: BCAST 1 SER 1 CMCI 0 firstbank 0 extended MCE MSR 0
(XEN) Intel machine check reporting enabled
(XEN) I/O virtualisation disabled
(XEN) ENABLING IO-APIC IRQs
(XEN)  -> Using new ACK method
(XEN) ..TIMER: vector=0xF0 apic1=0 pin1=2 apic2=-1 pin2=-1
(XEN) Platform timer is 100.000MHz HPET
(XEN) Allocated console ring of 16 KiB.
(XEN) VMX: CPU0 has insufficent CPU-Based Exec Control (b299868c but requires min 2299968c)
(XEN) VMX: CPU0 has insufficent VMExit Control (00000200 but requires min 00008200)
(XEN) VMX: failed to initialise.
(XEN) Brought up 1 CPUs
(XEN) HPET: 3 timers (0 will be used for broadcast)
(XEN) ACPI sleep modes: S3
(XEN) mcheck_poll: Machine check polling timer started.
(XEN) *** LOADING DOMAIN 0 ***
(XEN) elf_parse_binary: phdr: paddr=0x1000000 memsz=0xa5a000
(XEN) elf_parse_binary: phdr: paddr=0x1c00000 memsz=0x940e8
(XEN) elf_parse_binary: phdr: paddr=0x1c95000 memsz=0x13f00
(XEN) elf_parse_binary: phdr: paddr=0x1ca9000 memsz=0x59d000
(XEN) elf_parse_binary: memory: 0x1000000 -> 0x2246000
(XEN) elf_xen_parse_note: GUEST_OS = "linux"
(XEN) elf_xen_parse_note: GUEST_VERSION = "2.6"
(XEN) elf_xen_parse_note: XEN_VERSION = "xen-3.0"
(XEN) elf_xen_parse_note: VIRT_BASE = 0xffffffff80000000
(XEN) elf_xen_parse_note: ENTRY = 0xffffffff81ca9200
(XEN) elf_xen_parse_note: HYPERCALL_PAGE = 0xffffffff81001000
(XEN) elf_xen_parse_note: FEATURES = "!writable_page_tables|pae_pgdir_above_4gb"
(XEN) elf_xen_parse_note: PAE_MODE = "yes"
(XEN) elf_xen_parse_note: LOADER = "generic"
(XEN) elf_xen_parse_note: unknown xen elf note (0xd)
(XEN) elf_xen_parse_note: SUSPEND_CANCEL = 0x1
(XEN) elf_xen_parse_note: HV_START_LOW = 0xffff800000000000
(XEN) elf_xen_parse_note: PADDR_OFFSET = 0x0
(XEN) elf_xen_addr_calc_check: addresses:
(XEN)     virt_base        = 0xffffffff80000000
(XEN)     elf_paddr_offset = 0x0
(XEN)     virt_offset      = 0xffffffff80000000
(XEN)     virt_kstart      = 0xffffffff81000000
(XEN)     virt_kend        = 0xffffffff82246000
(XEN)     virt_entry       = 0xffffffff81ca9200
(XEN)     p2m_base         = 0xffffffffffffffff
(XEN)  Xen  kernel: 64-bit, lsb, compat32
(XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x2246000
(XEN) PHYSICAL MEMORY ARRANGEMENT:
(XEN)  Dom0 alloc.:   0000000074000000->0000000078000000 (173320 pages to be allocated)
(XEN)  Init. ramdisk: 000000007df08000->000000007f9ffa00
(XEN) VIRTUAL MEMORY ARRANGEMENT:
(XEN)  Loaded kernel: ffffffff81000000->ffffffff82246000
(XEN)  Init. ramdisk: ffffffff82246000->ffffffff83d3da00
(XEN)  Phys-Mach map: ffffffff83d3e000->ffffffff83ebe000
(XEN)  Start info:    ffffffff83ebe000->ffffffff83ebe4b4
(XEN)  Page tables:   ffffffff83ebf000->ffffffff83ee2000
(XEN)  Boot stack:    ffffffff83ee2000->ffffffff83ee3000
(XEN)  TOTAL:         ffffffff80000000->ffffffff84000000
(XEN)  ENTRY ADDRESS: ffffffff81ca9200
(XEN) Dom0 has maximum 1 VCPUs
(XEN) elf_load_binary: phdr 0 at 0xffffffff81000000 -> 0xffffffff81a5a000
(XEN) elf_load_binary: phdr 1 at 0xffffffff81c00000 -> 0xffffffff81c940e8
(XEN) elf_load_binary: phdr 2 at 0xffffffff81c95000 -> 0xffffffff81ca8f00
(XEN) elf_load_binary: phdr 3 at 0xffffffff81ca9000 -> 0xffffffff81d3b000
(XEN) Scrubbing Free RAM: ............done.
(XEN) Initial low memory virq threshold set at 0x4000 pages.
(XEN) Std. Loglevel: All
(XEN) Guest Loglevel: All
(XEN) Xen is relinquishing VGA console.
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to Xen)
(XEN) Freed 228kB init memory.
(XEN) PCI add device 0000:00:00.0
(XEN) PCI add device 0000:00:01.0
(XEN) PCI add device 0000:00:01.1
(XEN) PCI add device 0000:00:01.3
(XEN) PCI add device 0000:00:02.0
(XEN) PCI add device 0000:00:03.0
(XEN) Cannot bind IRQ2 to dom0. In use by 'cascade'.
(XEN) Cannot bind IRQ2 to dom0. In use by 'cascade'.
(XEN) Cannot bind IRQ2 to dom0. In use by 'cascade'.
(XEN) Cannot bind IRQ2 to dom0. In use by 'cascade'.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-08-12  9:49 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-11  9:20 Will KVM support "Xen on KVM" type in nested virtualization ? Ren, Yongjie
2012-08-12  8:52 ` Avi Kivity
2012-08-12  9:41   ` Ren, Yongjie
2012-08-12  9:49     ` Avi Kivity

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).