Hi All, I''m excited (and a bit nervous) to finally submit xen PVH patches for your input. This is Phase I. Kindly ignore the ''noinline'' for now, it helps me debug. Of course, in the final patches that won''t be there. Phase I: - Establish a baseline of something working. These patches allow for dom0 to be booted in PVH mode, and after that guests to be started in PV, PVH, and HVM modes. I also tested booting dom0 in PV mode, and starting PV, PVH, and HVM guests. There are few fixme''s that I thought we could punt to Phase II. Also, the disk must be specified as phy: in vm.cfg file: > losetup /dev/loop1 guest.img > vm.cfg file: disk = [''phy:/dev/loop1,xvda,w''] I''ve not tested anything else. Phase II: - Shutdown cleanup. I need to look at shutdown path during dom0 reboot. - arch_get_info_guest() and other fixmes. - Change xl to support other modes other than "phy:". Phase III: - Migration, shadow code. I''ve skipped shadow code for now. Thanks for all the help, Mukesh
Roger Pau Monné
2013-Jan-14 17:28 UTC
Re: [RFC PATCH 0/15]: PVH xen: Patches for PVH guests
On 12/01/13 02:22, Mukesh Rathor wrote:> > Hi All, > > I''m excited (and a bit nervous) to finally submit xen PVH patches for > your input. This is Phase I. Kindly ignore the ''noinline'' for now, it > helps me debug. Of course, in the final patches that won''t be there.Hi Mukesh, I would like to give a try to PVH, but I''m having some failures while applying the patches, could you tell me the base commit on top of which I should apply this series? Thanks, Roger.> Phase I: > - Establish a baseline of something working. These patches allow for > dom0 to be booted in PVH mode, and after that guests to be started > in PV, PVH, and HVM modes. I also tested booting dom0 in PV mode, and > starting PV, PVH, and HVM guests. > > There are few fixme''s that I thought we could punt to Phase II. > > Also, the disk must be specified as phy: in vm.cfg file: > > losetup /dev/loop1 guest.img > > vm.cfg file: disk = [''phy:/dev/loop1,xvda,w''] > > I''ve not tested anything else. > > Phase II: > - Shutdown cleanup. I need to look at shutdown path during dom0 reboot. > - arch_get_info_guest() and other fixmes. > - Change xl to support other modes other than "phy:". > > Phase III: > - Migration, shadow code. I''ve skipped shadow code for now. > > Thanks for all the help, > Mukesh > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel >
On Mon, 14 Jan 2013 18:28:11 +0100 Roger Pau Monné <roger.pau@citrix.com> wrote:> On 12/01/13 02:22, Mukesh Rathor wrote: > > > > Hi All, > > > > I'm excited (and a bit nervous) to finally submit xen PVH patches > > for your input. This is Phase I. Kindly ignore the 'noinline' for > > now, it helps me debug. Of course, in the final patches that won't > > be there. > > Hi Mukesh, > > I would like to give a try to PVH, but I'm having some failures while > applying the patches, could you tell me the base commit on top of > which I should apply this series? > > Thanks, Roger.Hi Roger, I realized over the weekend I forgot to include the c/s number. It's 26124. I'll be refreshing my tree again over the next few days while the patches are being reviewed. Thanks, Mukesh _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
Roger Pau Monné
2013-Jan-15 16:38 UTC
Re: [RFC PATCH 0/15]: PVH xen: Patches for PVH guests
On 14/01/13 23:40, Mukesh Rathor wrote:> On Mon, 14 Jan 2013 18:28:11 +0100 > Roger Pau Monné <roger.pau@citrix.com> wrote: > >> On 12/01/13 02:22, Mukesh Rathor wrote: >>> >>> Hi All, >>> >>> I'm excited (and a bit nervous) to finally submit xen PVH patches >>> for your input. This is Phase I. Kindly ignore the 'noinline' for >>> now, it helps me debug. Of course, in the final patches that won't >>> be there. >> >> Hi Mukesh, >> >> I would like to give a try to PVH, but I'm having some failures while >> applying the patches, could you tell me the base commit on top of >> which I should apply this series? >> >> Thanks, Roger. > > Hi Roger, I realized over the weekend I forgot to include the > c/s number. It's 26124. I'll be refreshing my tree again over the next > few days while the patches are being reviewed. > > Thanks, > Mukesh >Hello Mukesh, I've been able to apply and compile your patches correctly on top of c/s 26124. I've also fetched branch stable/pvh.v7 from Konrad's Linux tree, enabled the CONFIG_XEN_X86_PVH option and compiled the Linux kernel, but I'm unable to get the kernel to run in PVH mode, it defaults to PV mode, do I need to use a PVH Dom0 in order to create PVH guests? Here is the configuration file: kernel="/boot/vmlinuz-3.7.0-rc3+" ramdisk="/boot/initrd.img-3.7.0-rc3+" extra="debug loglevel=9" memory=1024 vcpus=2 name = "pvh" on_crash="preserve" The output of xl -vvv create pvh.cfg: Parsing config from pvh.cfg libxl: debug: libxl_create.c:1194:do_domain_create: ao 0x1173da0: create: how=(nil) callback=(nil) poller=0x1173e00 libxl: debug: libxl_create.c:679:initiate_domain_create: running bootloader libxl: debug: libxl_bootloader.c:327:libxl__bootloader_run: no bootloader configured, using user supplied kernel libxl: debug: libxl_event.c:562:libxl__ev_xswatch_deregister: watch w=0x1174160: deregister unregistered libxl: debug: libxl_numa.c:435:libxl__get_numa_candidate: New best NUMA placement candidate found: nr_nodes=1, nr_cpus=2, nr_vcpus=4, free_memkb=5030 libxl: detail: libxl_dom.c:192:numa_place_domain: NUMA placement candidate with 1 nodes, 2 cpus and 5030 KB free selected domainbuilder: detail: xc_dom_allocate: cmdline="debug loglevel=9", features="(null)" libxl: debug: libxl_dom.c:395:libxl__build_pv: pv kernel mapped 0 path /boot/vmlinuz-3.7.0-rc3+ domainbuilder: detail: xc_dom_kernel_file: filename="/boot/vmlinuz-3.7.0-rc3+" domainbuilder: detail: xc_dom_malloc_filemap : 3791 kB domainbuilder: detail: xc_dom_ramdisk_file: filename="/boot/initrd.img-3.7.0-rc3+" domainbuilder: detail: xc_dom_malloc_filemap : 3754 kB domainbuilder: detail: xc_dom_boot_xen_init: ver 4.3, caps xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64 domainbuilder: detail: xc_dom_parse_image: called domainbuilder: detail: xc_dom_find_loader: trying ELF-generic loader ... domainbuilder: detail: loader probe failed domainbuilder: detail: xc_dom_find_loader: trying Linux bzImage loader ... domainbuilder: detail: xc_dom_malloc : 13466 kB domainbuilder: detail: xc_dom_do_gunzip: unzip ok, 0x3ab847 -> 0xd26920 domainbuilder: detail: loader probe OK xc: detail: elf_parse_binary: phdr: paddr=0x1000000 memsz=0x7e4000 xc: detail: elf_parse_binary: phdr: paddr=0x1800000 memsz=0x8b0f0 xc: detail: elf_parse_binary: phdr: paddr=0x188c000 memsz=0x13e00 xc: detail: elf_parse_binary: phdr: paddr=0x18a0000 memsz=0x573000 xc: detail: elf_parse_binary: memory: 0x1000000 -> 0x1e13000 xc: detail: elf_xen_parse_note: GUEST_OS = "linux" xc: detail: elf_xen_parse_note: GUEST_VERSION = "2.6" xc: detail: elf_xen_parse_note: XEN_VERSION = "xen-3.0" xc: detail: elf_xen_parse_note: VIRT_BASE = 0xffffffff80000000 xc: detail: elf_xen_parse_note: ENTRY = 0xffffffff818a0210 xc: detail: elf_xen_parse_note: HYPERCALL_PAGE = 0xffffffff81001000 xc: detail: elf_xen_parse_note: FEATURES = "!writable_page_tables|pae_pgdir_above_4gb" xc: detail: elf_xen_parse_note: PAE_MODE = "yes" xc: detail: elf_xen_parse_note: LOADER = "generic" xc: detail: elf_xen_parse_note: unknown xen elf note (0xd) xc: detail: elf_xen_parse_note: SUSPEND_CANCEL = 0x1 xc: detail: elf_xen_parse_note: HV_START_LOW = 0xffff800000000000 xc: detail: elf_xen_parse_note: PADDR_OFFSET = 0x0 xc: detail: elf_xen_addr_calc_check: addresses: xc: detail: virt_base = 0xffffffff80000000 xc: detail: elf_paddr_offset = 0x0 xc: detail: virt_offset = 0xffffffff80000000 xc: detail: virt_kstart = 0xffffffff81000000 xc: detail: virt_kend = 0xffffffff81e13000 xc: detail: virt_entry = 0xffffffff818a0210 xc: detail: p2m_base = 0xffffffffffffffff domainbuilder: detail: xc_dom_parse_elf_kernel: xen-3.0-x86_64: 0xffffffff81000000 -> 0xffffffff81e13000 domainbuilder: detail: xc_dom_mem_init: mem 1024 MB, pages 0x40000 pages, 4k each domainbuilder: detail: xc_dom_mem_init: 0x40000 pages domainbuilder: detail: xc_dom_boot_mem_init: called domainbuilder: detail: x86_compat: guest xen-3.0-x86_64, address size 64 domainbuilder: detail: xc_dom_malloc : 2048 kB domainbuilder: detail: xc_dom_build_image: called domainbuilder: detail: xc_dom_alloc_segment: kernel : 0xffffffff81000000 -> 0xffffffff81e13000 (pfn 0x1000 + 0xe13 pages) domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0x1000+0xe13 at 0x7f20ccbf9000 xc: detail: _elf_load_binary: phdr 0 at 0x0x7f20ccbf9000 -> 0x0x7f20cd3dd000 xc: detail: _elf_load_binary: phdr 1 at 0x0x7f20cd3f9000 -> 0x0x7f20cd4840f0 xc: detail: _elf_load_binary: phdr 2 at 0x0x7f20cd485000 -> 0x0x7f20cd498e00 xc: detail: _elf_load_binary: phdr 3 at 0x0x7f20cd499000 -> 0x0x7f20cd51f000 domainbuilder: detail: xc_dom_alloc_segment: ramdisk : 0xffffffff81e13000 -> 0xffffffff826a6000 (pfn 0x1e13 + 0x893 pages) domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0x1e13+0x893 at 0x7f20cc366000 domainbuilder: detail: xc_dom_do_gunzip: unzip ok, 0x3aab4e -> 0x892210 domainbuilder: detail: xc_dom_alloc_segment: phys2mach : 0xffffffff826a6000 -> 0xffffffff828a6000 (pfn 0x26a6 + 0x200 pages) domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0x26a6+0x200 at 0x7f20cc166000 domainbuilder: detail: xc_dom_alloc_page : start info : 0xffffffff828a6000 (pfn 0x28a6) domainbuilder: detail: xc_dom_alloc_page : xenstore : 0xffffffff828a7000 (pfn 0x28a7) domainbuilder: detail: xc_dom_alloc_page : console : 0xffffffff828a8000 (pfn 0x28a8) domainbuilder: detail: nr_page_tables: 0x0000ffffffffffff/48: 0xffff000000000000 -> 0xffffffffffffffff, 1 table(s) domainbuilder: detail: nr_page_tables: 0x0000007fffffffff/39: 0xffffff8000000000 -> 0xffffffffffffffff, 1 table(s) domainbuilder: detail: nr_page_tables: 0x000000003fffffff/30: 0xffffffff80000000 -> 0xffffffffbfffffff, 1 table(s) domainbuilder: detail: nr_page_tables: 0x00000000001fffff/21: 0xffffffff80000000 -> 0xffffffff82bfffff, 22 table(s) domainbuilder: detail: xc_dom_alloc_segment: page tables : 0xffffffff828a9000 -> 0xffffffff828c2000 (pfn 0x28a9 + 0x19 pages) domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0x28a9+0x19 at 0x7f20d0ef2000 domainbuilder: detail: xc_dom_alloc_page : boot stack : 0xffffffff828c2000 (pfn 0x28c2) domainbuilder: detail: xc_dom_build_image : virt_alloc_end : 0xffffffff828c3000 domainbuilder: detail: xc_dom_build_image : virt_pgtab_end : 0xffffffff82c00000 domainbuilder: detail: xc_dom_boot_image: called domainbuilder: detail: arch_setup_bootearly: doing nothing domainbuilder: detail: xc_dom_compat_check: supported guest type: xen-3.0-x86_64 <= matches domainbuilder: detail: xc_dom_compat_check: supported guest type: xen-3.0-x86_32p domainbuilder: detail: xc_dom_compat_check: supported guest type: hvm-3.0-x86_32 domainbuilder: detail: xc_dom_compat_check: supported guest type: hvm-3.0-x86_32p domainbuilder: detail: xc_dom_compat_check: supported guest type: hvm-3.0-x86_64 domainbuilder: detail: xc_dom_update_guest_p2m: dst 64bit, pages 0x40000 domainbuilder: detail: clear_page: pfn 0x28a8, mfn 0x13e27e domainbuilder: detail: clear_page: pfn 0x28a7, mfn 0x13e27f domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0x28a6+0x1 at 0x7f20d0f13000 domainbuilder: detail: start_info_x86_64: called domainbuilder: detail: setup_hypercall_page: vaddr=0xffffffff81001000 pfn=0x1001 domainbuilder: detail: domain builder memory footprint domainbuilder: detail: allocated domainbuilder: detail: malloc : 15665 kB domainbuilder: detail: anon mmap : 0 bytes domainbuilder: detail: mapped domainbuilder: detail: file mmap : 7546 kB domainbuilder: detail: domU mmap : 25344 kB domainbuilder: detail: arch_setup_bootlate: shared_info: pfn 0x0, mfn 0xdfb0a domainbuilder: detail: shared_info_x86_64: called domainbuilder: detail: vcpu_x86_64: called domainbuilder: detail: vcpu_x86_64: cr3: pfn 0x28a9 mfn 0x13e27d domainbuilder: detail: launch_vm: called, ctxt=0x7fff313e1a60 domainbuilder: detail: xc_dom_release: called libxl: debug: libxl_event.c:1668:libxl__ao_progress_report: ao 0x1173da0: progress report: ignored libxl: debug: libxl_event.c:1500:libxl__ao_complete: ao 0x1173da0: complete, rc=0 libxl: debug: libxl_create.c:1207:do_domain_create: ao 0x1173da0: inprogress: poller=0x1173e00, flags=ic libxl: debug: libxl_event.c:1472:libxl__ao__destroy: ao 0x1173da0: destroy Daemon running with PID 15914 xc: debug: hypercall buffer: total allocations:204 total releases:204 xc: debug: hypercall buffer: current allocations:0 maximum allocations:4 xc: debug: hypercall buffer: cache current size:4 xc: debug: hypercall buffer: cache hits:194 misses:4 toobig:6 Features only lists "!writable_page_tables|pae_pgdir_above_4gb", which is strange... And the dmesg of the DomU: [ 0.000000] Initializing cgroup subsys cpuset [ 0.000000] Initializing cgroup subsys cpu [ 0.000000] Linux version 3.7.0-rc3+ (root@loki) (gcc version 4.4.5 (Debian 4.4.5-8) ) #0 SMP Tue Jan 15 12:34:15 GMT 2013 [ 0.000000] Command line: debug loglevel=9 [ 0.000000] ACPI in unprivileged domain disabled [ 0.000000] e820: BIOS-provided physical RAM map: [ 0.000000] Xen: [mem 0x0000000000000000-0x000000000009ffff] usable [ 0.000000] Xen: [mem 0x00000000000a0000-0x00000000000fffff] reserved [ 0.000000] Xen: [mem 0x0000000000100000-0x000000003fffffff] usable [ 0.000000] NX (Execute Disable) protection: active [ 0.000000] DMI not present or invalid. [ 0.000000] e820: update [mem 0x00000000-0x0000ffff] usable ==> reserved [ 0.000000] e820: remove [mem 0x000a0000-0x000fffff] usable [ 0.000000] No AGP bridge found [ 0.000000] e820: last_pfn = 0x40000 max_arch_pfn = 0x400000000 [ 0.000000] initial memory mapped: [mem 0x00000000-0x026a5fff] [ 0.000000] Base memory trampoline at [ffff88000009a000] 9a000 size 24576 [ 0.000000] init_memory_mapping: [mem 0x00000000-0x3fffffff] [ 0.000000] [mem 0x00000000-0x3fffffff] page 4k [ 0.000000] kernel direct mapping tables up to 0x3fffffff @ [mem 0x01c11000-0x01e12fff] [ 0.000000] xen: setting RW the range 1dfb000 - 1e13000 [ 0.000000] RAMDISK: [mem 0x01e13000-0x026a5fff] [ 0.000000] Zone ranges: [ 0.000000] DMA [mem 0x00010000-0x00ffffff] [ 0.000000] DMA32 [mem 0x01000000-0xffffffff] [ 0.000000] Normal empty [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x00010000-0x0009ffff] [ 0.000000] node 0: [mem 0x00100000-0x3fffffff] [ 0.000000] On node 0 totalpages: 262032 [ 0.000000] DMA zone: 56 pages used for memmap [ 0.000000] DMA zone: 6 pages reserved [ 0.000000] DMA zone: 3922 pages, LIFO batch:0 [ 0.000000] DMA32 zone: 3528 pages used for memmap [ 0.000000] DMA32 zone: 254520 pages, LIFO batch:31 [ 0.000000] smpboot: Allowing 2 CPUs, 0 hotplug CPUs [ 0.000000] No local APIC present [ 0.000000] APIC: disable apic facility [ 0.000000] APIC: switched to apic NOOP [ 0.000000] nr_irqs_gsi: 16 [ 0.000000] e820: [mem 0x40000000-0xffffffff] available for PCI devices [ 0.000000] Booting paravirtualized kernel on Xen [ 0.000000] Xen version: 4.3-unstable (preserve-AD) [ 0.000000] setup_percpu: NR_CPUS:8 nr_cpumask_bits:8 nr_cpu_ids:2 nr_node_ids:1 [ 0.000000] PERCPU: Embedded 27 pages/cpu @ffff88003fa00000 s81408 r8192 d20992 u1048576 [ 0.000000] pcpu-alloc: s81408 r8192 d20992 u1048576 alloc=1*2097152 [ 0.000000] pcpu-alloc: [0] 0 1 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 258442 [ 0.000000] Kernel command line: debug loglevel=9 [ 0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes) [ 0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes) [ 0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes) [ 0.000000] __ex_table already sorted, skipping sort [ 0.000000] Checking aperture... [ 0.000000] No AGP bridge found [ 0.000000] Memory: 1008584k/1048576k available (4991k kernel code, 448k absent, 39544k reserved, 3755k data, 596k init) [ 0.000000] Hierarchical RCU implementation. [ 0.000000] CONFIG_RCU_FANOUT set to non-default value of 32 [ 0.000000] RCU dyntick-idle grace-period acceleration is enabled. [ 0.000000] RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=2. [ 0.000000] NR_IRQS:4352 nr_irqs:288 16 [ 0.000000] Console: colour dummy device 80x25 [ 0.000000] console [tty0] enabled [ 0.000000] console [hvc0] enabled [ 0.000000] Xen: using vcpuop timer interface [ 0.000000] installing Xen timer for CPU 0 [ 0.000000] tsc: Detected 2400.138 MHz processor [ 0.004000] Calibrating delay loop (skipped), value calculated using timer frequency.. 4800.27 BogoMIPS (lpj=9600552) [ 0.004000] pid_max: default: 32768 minimum: 301 [ 0.004000] Mount-cache hash table entries: 256 [ 0.004000] Initializing cgroup subsys cpuacct [ 0.004000] Initializing cgroup subsys devices [ 0.004000] Initializing cgroup subsys freezer [ 0.004000] Initializing cgroup subsys blkio [ 0.004000] Initializing cgroup subsys perf_event [ 0.004000] CPU: Physical Processor ID: 0 [ 0.004000] CPU: Processor Core ID: 0 [ 0.004000] Last level iTLB entries: 4KB 512, 2MB 7, 4MB 7 [ 0.004000] Last level dTLB entries: 4KB 512, 2MB 32, 4MB 32 [ 0.004000] tlb_flushall_shift: 6 [ 0.024978] cpu 0 spinlock event irq 17 [ 0.025015] Performance Events: unsupported p6 CPU model 26 no PMU driver, software events only. [ 0.025381] NMI watchdog: disabled (cpu0): hardware events not enabled [ 0.025797] installing Xen timer for CPU 1 [ 0.025823] cpu 1 spinlock event irq 24 [ 0.025871] SMP alternatives: switching to SMP code [ 0.047829] Brought up 2 CPUs [ 0.048116] devtmpfs: initialized [ 0.052312] Grant tables using version 2 layout. [ 0.052312] Grant table initialized [ 0.052463] NET: Registered protocol family 16 [ 0.052643] PCI: setting up Xen PCI frontend stub [ 0.052643] PCI: pci_cache_line_size set to 64 bytes [ 0.056150] bio: create slab <bio-0> at 0 [ 0.056305] ACPI: Interpreter disabled. [ 0.056305] xen/balloon: Initialising balloon driver. [ 0.056305] xen-balloon: Initialising balloon driver. [ 0.060078] vgaarb: loaded [ 0.060530] SCSI subsystem initialized [ 0.060548] libata version 3.00 loaded. [ 0.060548] PCI: System does not support PCI [ 0.060548] PCI: System does not support PCI [ 0.060548] Switching to clocksource xen [ 0.071010] pnp: PnP ACPI: disabled [ 0.075938] NET: Registered protocol family 2 [ 0.076230] TCP established hash table entries: 131072 (order: 9, 2097152 bytes) [ 0.076564] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes) [ 0.076725] TCP: Hash tables configured (established 131072 bind 65536) [ 0.076939] TCP: reno registered [ 0.076947] UDP hash table entries: 512 (order: 2, 16384 bytes) [ 0.076956] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes) [ 0.077090] NET: Registered protocol family 1 [ 0.077344] RPC: Registered named UNIX socket transport module. [ 0.077352] RPC: Registered udp transport module. [ 0.077357] RPC: Registered tcp transport module. [ 0.077363] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 0.077370] PCI: CLS 0 bytes, default 64 [ 0.077575] Trying to unpack rootfs image as initramfs... [ 0.089874] Freeing initrd memory: 8780k freed [ 0.091831] platform rtc_cmos: registered platform RTC device (no PNP device found) [ 0.092255] audit: initializing netlink socket (disabled) [ 0.092282] type=2000 audit(1358267462.506:1): initialized [ 0.092672] HugeTLB registered 2 MB page size, pre-allocated 0 pages [ 0.093778] Installing knfsd (copyright (C) 1996 okir@monad.swb.de). [ 0.094473] msgmni has been set to 1987 [ 0.094991] alg: No test for stdrng (krng) [ 0.095053] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253) [ 0.095061] io scheduler noop registered [ 0.095066] io scheduler deadline registered [ 0.095104] io scheduler cfq registered (default) [ 0.095402] Event-channel device installed. [ 0.096341] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled [ 0.097054] brd: module loaded [ 0.098474] loop: module loaded [ 0.098847] Loading iSCSI transport class v2.0-870. [ 0.099254] bnx2fc: Broadcom NetXtreme II FCoE Driver bnx2fc v1.0.12 (Jun 04, 2012) [ 0.129975] isci: Intel(R) C600 SAS Controller Driver - version 1.1.0 [ 0.130061] megaraid cmm: 2.20.2.7 (Release Date: Sun Jul 16 00:01:03 EST 2006) [ 0.130148] megaraid: 2.20.5.1 (Release Date: Thu Nov 16 15:32:35 EST 2006) [ 0.130181] megasas: 06.504.01.00-rc1 Mon. Oct. 1 17:00:00 PDT 2012 [ 0.130221] mpt2sas version 14.100.00.00 loaded [ 0.130335] GDT-HA: Storage RAID Controller Driver. Version: 3.05 [ 0.130369] Broadcom NetXtreme II iSCSI Driver bnx2i v2.7.2.2 (Apr 25, 2012) [ 0.130405] iscsi: registered transport (bnx2i) [ 0.130773] SCSI Media Changer driver v0.25 [ 0.131016] tun: Universal TUN/TAP device driver, 1.6 [ 0.131022] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com> [ 0.131143] cnic: Broadcom NetXtreme II CNIC Driver cnic v2.5.14 (Sep 30, 2012) [ 0.131245] bnx2x: Broadcom NetXtreme II 5771x/578xx 10/20-Gigabit Ethernet Driver bnx2x 1.78.00-0 (2012/09/27) [ 0.131376] Initialising Xen virtual ethernet driver. [ 0.131605] I2O subsystem v1.325 [ 0.131613] i2o: max drivers = 8 [ 0.131763] Fusion MPT base driver 3.04.20 [ 0.131770] Copyright (c) 1999-2008 LSI Corporation [ 0.131786] Fusion MPT SPI Host driver 3.04.20 [ 0.131815] Fusion MPT FC Host driver 3.04.20 [ 0.131852] Fusion MPT SAS Host driver 3.04.20 [ 0.131893] Fusion MPT misc device (ioctl) driver 3.04.20 [ 0.131971] mptctl: Registered with Fusion MPT base driver [ 0.131979] mptctl: /dev/mptctl @ (major,minor=10,220) [ 0.132082] i8042: PNP: No PS/2 controller found. Probing ports directly. [ 0.132902] i8042: No controller found [ 0.133088] mousedev: PS/2 mouse device common for all mice [ 0.192892] rtc_cmos rtc_cmos: rtc core: registered rtc_cmos as rtc0 [ 0.193025] ida_remove called for id=0 which is not allocated. [ 0.193037] rtc_cmos: probe of rtc_cmos failed with error -38 [ 0.193358] device-mapper: ioctl: 4.23.0-ioctl (2012-07-25) initialised: dm-devel@redhat.com [ 0.193460] pktgen: Packet Generator for packet performance testing. Version: 2.74 [ 0.193628] drop_monitor: Initializing network drop monitor service [ 0.193739] TCP: cubic registered [ 0.193746] NET: Registered protocol family 17 [ 0.193866] NET: Registered protocol family 33 [ 0.193872] Key type rxrpc registered [ 0.193877] Key type rxrpc_s registered [ 0.193901] Key type dns_resolver registered [ 0.193906] openvswitch: Open vSwitch switching datapath [ 0.194401] registered taskstats version 1 [ 0.194538] drivers/rtc/hctosys.c: unable to open rtc device (rtc0) [ 0.194955] Freeing unused kernel memory: 596k freed [ 0.195061] Write protecting the kernel read-only data: 8192k [ 0.198621] Freeing unused kernel memory: 1148k freed [ 0.198936] Freeing unused kernel memory: 112k freed Loading, please wait... [ 0.243803] udev[76]: starting version 164 If you want I can also post the config of the DomU kernel. Thanks, Roger. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
On Tue, 15 Jan 2013 17:38:33 +0100 Roger Pau Monné <roger.pau@citrix.com> wrote:> On 14/01/13 23:40, Mukesh Rathor wrote:Hi Roger, Ah yes, you need the following patch on your linux side. Please keep me posted how it goes, and whatever testing/performance stuff you do. Don't forget CONFIG_XEN_X86_PVH btw :). Thanks, Mukesh From 7a7b03ff160840edf43e7213d14e4a7620874a73 Mon Sep 17 00:00:00 2001 From: Mukesh Rathor <mukesh.rathor@oracle.com> Date: Wed, 14 Nov 2012 18:16:54 -0800 Subject: [PATCH 13/13] PVH: remove macro FEATURES_PVH and put PVH strings in the ELFNOTE line, because there's a null char before FEATURES_PVH and in the FEATURES_PVH strings since this is not C file Signed-off-by: Mukesh Rathor <mukesh.rathor@oracle.com> --- arch/x86/xen/xen-head.S | 14 +++++--------- 1 files changed, 5 insertions(+), 9 deletions(-) diff --git a/arch/x86/xen/xen-head.S b/arch/x86/xen/xen-head.S index 1a6bca1..340fd4e 100644 --- a/arch/x86/xen/xen-head.S +++ b/arch/x86/xen/xen-head.S @@ -13,14 +13,6 @@ #include <xen/interface/elfnote.h> #include <asm/xen/interface.h> -#ifdef CONFIG_XEN_X86_PVH -#define FEATURES_PVH "|writable_descriptor_tables" \ - "|auto_translated_physmap" \ - "|supervisor_mode_kernel" \ - "|hvm_callback_vector" -#else -#define FEATURES_PVH /* Not supported */ -#endif __INIT ENTRY(startup_xen) @@ -104,7 +96,11 @@ NEXT_HYPERCALL(arch_6) #endif ELFNOTE(Xen, XEN_ELFNOTE_ENTRY, _ASM_PTR startup_xen) ELFNOTE(Xen, XEN_ELFNOTE_HYPERCALL_PAGE, _ASM_PTR hypercall_page) - ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz "!writable_page_tables|pae_pgdir_above_4gb"FEATURES_PVH) +#ifdef CONFIG_XEN_X86_PVH + ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz "!writable_page_tables|pae_pgdir_above_4gb|writable_descriptor_tables|auto_translated_physmap|supervisor_mode_kernel|hvm_callback_vector") +#else + ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz "!writable_page_tables|pae_pgdir_above_4gb")+#endif ELFNOTE(Xen, XEN_ELFNOTE_PAE_MODE, .asciz "yes") ELFNOTE(Xen, XEN_ELFNOTE_LOADER, .asciz "generic") ELFNOTE(Xen, XEN_ELFNOTE_L1_MFN_VALID, -- 1.7.2.3 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
Roger Pau Monné
2013-Jan-15 22:46 UTC
Re: [RFC PATCH 0/15]: PVH xen: Patches for PVH guests
On 15/01/13 20:49, Mukesh Rathor wrote:> Hi Roger, > > Ah yes, you need the following patch on your linux side. Please keep > me posted how it goes, and whatever testing/performance stuff you do.Hello Mukesh, I''ve applied the following patch to the Linux kernel and recompiled, and now features in elf note seems to be complete (as reported by xl): xc: detail: elf_xen_parse_note: FEATURES = "!writable_page_tables|pae_pgdir_above_4gb|writable_descriptor_tables|auto_translated_physmap|supervisor_mode_kernel|hvm_callback_vector" But still the domain boots in PV mode. I''ve attached the output of ''xl -vvv create config.cfg'' and dmesg. I think I''ve got all the hypervisor/tools patches applied correctly, but I will check again tomorrow morning in case I''m missing something. xl -vvv create config.cfg: Parsing config from pvh.cfg libxl: debug: libxl_create.c:1194:do_domain_create: ao 0x819da0: create: how=(nil) callback=(nil) poller=0x819e00 libxl: debug: libxl_create.c:679:initiate_domain_create: running bootloader libxl: debug: libxl_bootloader.c:327:libxl__bootloader_run: no bootloader configured, using user supplied kernel libxl: debug: libxl_event.c:562:libxl__ev_xswatch_deregister: watch w=0x81a160: deregister unregistered libxl: debug: libxl_numa.c:435:libxl__get_numa_candidate: New best NUMA placement candidate found: nr_nodes=1, nr_cpus=2, nr_vcpus=4, free_memkb=5030 libxl: detail: libxl_dom.c:192:numa_place_domain: NUMA placement candidate with 1 nodes, 2 cpus and 5030 KB free selected domainbuilder: detail: xc_dom_allocate: cmdline="debug loglevel=9", features="(null)" libxl: debug: libxl_dom.c:395:libxl__build_pv: pv kernel mapped 0 path /boot/vmlinuz-3.7.0-rc3+ domainbuilder: detail: xc_dom_kernel_file: filename="/boot/vmlinuz-3.7.0-rc3+" domainbuilder: detail: xc_dom_malloc_filemap : 3791 kB domainbuilder: detail: xc_dom_ramdisk_file: filename="/boot/initrd.img-3.7.0-rc3+" domainbuilder: detail: xc_dom_malloc_filemap : 3754 kB domainbuilder: detail: xc_dom_boot_xen_init: ver 4.3, caps xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64 domainbuilder: detail: xc_dom_parse_image: called domainbuilder: detail: xc_dom_find_loader: trying ELF-generic loader ... domainbuilder: detail: loader probe failed domainbuilder: detail: xc_dom_find_loader: trying Linux bzImage loader ... domainbuilder: detail: xc_dom_malloc : 13466 kB domainbuilder: detail: xc_dom_do_gunzip: unzip ok, 0x3ab83e -> 0xd26920 domainbuilder: detail: loader probe OK xc: detail: elf_parse_binary: phdr: paddr=0x1000000 memsz=0x7e4000 xc: detail: elf_parse_binary: phdr: paddr=0x1800000 memsz=0x8b0f0 xc: detail: elf_parse_binary: phdr: paddr=0x188c000 memsz=0x13e00 xc: detail: elf_parse_binary: phdr: paddr=0x18a0000 memsz=0x573000 xc: detail: elf_parse_binary: memory: 0x1000000 -> 0x1e13000 xc: detail: elf_xen_parse_note: GUEST_OS = "linux" xc: detail: elf_xen_parse_note: GUEST_VERSION = "2.6" xc: detail: elf_xen_parse_note: XEN_VERSION = "xen-3.0" xc: detail: elf_xen_parse_note: VIRT_BASE = 0xffffffff80000000 xc: detail: elf_xen_parse_note: ENTRY = 0xffffffff818a0210 xc: detail: elf_xen_parse_note: HYPERCALL_PAGE = 0xffffffff81001000 xc: detail: elf_xen_parse_note: FEATURES = "!writable_page_tables|pae_pgdir_above_4gb|writable_descriptor_tables|auto_translated_physmap|supervisor_mode_kernel|hvm_callback_vector" xc: detail: elf_xen_parse_note: PAE_MODE = "yes" xc: detail: elf_xen_parse_note: LOADER = "generic" xc: detail: elf_xen_parse_note: unknown xen elf note (0xd) xc: detail: elf_xen_parse_note: SUSPEND_CANCEL = 0x1 xc: detail: elf_xen_parse_note: HV_START_LOW = 0xffff800000000000 xc: detail: elf_xen_parse_note: PADDR_OFFSET = 0x0 xc: detail: elf_xen_addr_calc_check: addresses: xc: detail: virt_base = 0xffffffff80000000 xc: detail: elf_paddr_offset = 0x0 xc: detail: virt_offset = 0xffffffff80000000 xc: detail: virt_kstart = 0xffffffff81000000 xc: detail: virt_kend = 0xffffffff81e13000 xc: detail: virt_entry = 0xffffffff818a0210 xc: detail: p2m_base = 0xffffffffffffffff domainbuilder: detail: xc_dom_parse_elf_kernel: xen-3.0-x86_64: 0xffffffff81000000 -> 0xffffffff81e13000 domainbuilder: detail: xc_dom_mem_init: mem 1024 MB, pages 0x40000 pages, 4k each domainbuilder: detail: xc_dom_mem_init: 0x40000 pages domainbuilder: detail: xc_dom_boot_mem_init: called domainbuilder: detail: x86_compat: guest xen-3.0-x86_64, address size 64 domainbuilder: detail: xc_dom_malloc : 2048 kB domainbuilder: detail: xc_dom_build_image: called domainbuilder: detail: xc_dom_alloc_segment: kernel : 0xffffffff81000000 -> 0xffffffff81e13000 (pfn 0x1000 + 0xe13 pages) domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0x1000+0xe13 at 0x7f65ae8fd000 xc: detail: _elf_load_binary: phdr 0 at 0x0x7f65ae8fd000 -> 0x0x7f65af0e1000 xc: detail: _elf_load_binary: phdr 1 at 0x0x7f65af0fd000 -> 0x0x7f65af1880f0 xc: detail: _elf_load_binary: phdr 2 at 0x0x7f65af189000 -> 0x0x7f65af19ce00 xc: detail: _elf_load_binary: phdr 3 at 0x0x7f65af19d000 -> 0x0x7f65af223000 domainbuilder: detail: xc_dom_alloc_segment: ramdisk : 0xffffffff81e13000 -> 0xffffffff826a6000 (pfn 0x1e13 + 0x893 pages) domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0x1e13+0x893 at 0x7f65ae06a000 domainbuilder: detail: xc_dom_do_gunzip: unzip ok, 0x3aab4e -> 0x892210 domainbuilder: detail: xc_dom_alloc_segment: phys2mach : 0xffffffff826a6000 -> 0xffffffff828a6000 (pfn 0x26a6 + 0x200 pages) domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0x26a6+0x200 at 0x7f65ade6a000 domainbuilder: detail: xc_dom_alloc_page : start info : 0xffffffff828a6000 (pfn 0x28a6) domainbuilder: detail: xc_dom_alloc_page : xenstore : 0xffffffff828a7000 (pfn 0x28a7) domainbuilder: detail: xc_dom_alloc_page : console : 0xffffffff828a8000 (pfn 0x28a8) domainbuilder: detail: nr_page_tables: 0x0000ffffffffffff/48: 0xffff000000000000 -> 0xffffffffffffffff, 1 table(s) domainbuilder: detail: nr_page_tables: 0x0000007fffffffff/39: 0xffffff8000000000 -> 0xffffffffffffffff, 1 table(s) domainbuilder: detail: nr_page_tables: 0x000000003fffffff/30: 0xffffffff80000000 -> 0xffffffffbfffffff, 1 table(s) domainbuilder: detail: nr_page_tables: 0x00000000001fffff/21: 0xffffffff80000000 -> 0xffffffff82bfffff, 22 table(s) domainbuilder: detail: xc_dom_alloc_segment: page tables : 0xffffffff828a9000 -> 0xffffffff828c2000 (pfn 0x28a9 + 0x19 pages) domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0x28a9+0x19 at 0x7f65b2bf6000 domainbuilder: detail: xc_dom_alloc_page : boot stack : 0xffffffff828c2000 (pfn 0x28c2) domainbuilder: detail: xc_dom_build_image : virt_alloc_end : 0xffffffff828c3000 domainbuilder: detail: xc_dom_build_image : virt_pgtab_end : 0xffffffff82c00000 domainbuilder: detail: xc_dom_boot_image: called domainbuilder: detail: arch_setup_bootearly: doing nothing domainbuilder: detail: xc_dom_compat_check: supported guest type: xen-3.0-x86_64 <= matches domainbuilder: detail: xc_dom_compat_check: supported guest type: xen-3.0-x86_32p domainbuilder: detail: xc_dom_compat_check: supported guest type: hvm-3.0-x86_32 domainbuilder: detail: xc_dom_compat_check: supported guest type: hvm-3.0-x86_32p domainbuilder: detail: xc_dom_compat_check: supported guest type: hvm-3.0-x86_64 domainbuilder: detail: xc_dom_update_guest_p2m: dst 64bit, pages 0x40000 domainbuilder: detail: clear_page: pfn 0x28a8, mfn 0x18ba7e domainbuilder: detail: clear_page: pfn 0x28a7, mfn 0x18ba7f domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0x28a6+0x1 at 0x7f65b2c17000 domainbuilder: detail: start_info_x86_64: called domainbuilder: detail: setup_hypercall_page: vaddr=0xffffffff81001000 pfn=0x1001 domainbuilder: detail: domain builder memory footprint domainbuilder: detail: allocated domainbuilder: detail: malloc : 15665 kB domainbuilder: detail: anon mmap : 0 bytes domainbuilder: detail: mapped domainbuilder: detail: file mmap : 7546 kB domainbuilder: detail: domU mmap : 25344 kB domainbuilder: detail: arch_setup_bootlate: shared_info: pfn 0x0, mfn 0xdfb0a domainbuilder: detail: shared_info_x86_64: called domainbuilder: detail: vcpu_x86_64: called domainbuilder: detail: vcpu_x86_64: cr3: pfn 0x28a9 mfn 0x18ba7d domainbuilder: detail: launch_vm: called, ctxt=0x7fff45fa4ba0 domainbuilder: detail: xc_dom_release: called libxl: debug: libxl_event.c:1668:libxl__ao_progress_report: ao 0x819da0: progress report: ignored libxl: debug: libxl_event.c:1500:libxl__ao_complete: ao 0x819da0: complete, rc=0 libxl: debug: libxl_create.c:1207:do_domain_create: ao 0x819da0: inprogress: poller=0x819e00, flags=ic libxl: debug: libxl_event.c:1472:libxl__ao__destroy: ao 0x819da0: destroy Daemon running with PID 18985 xc: debug: hypercall buffer: total allocations:204 total releases:204 xc: debug: hypercall buffer: current allocations:0 maximum allocations:4 xc: debug: hypercall buffer: cache current size:4 xc: debug: hypercall buffer: cache hits:194 misses:4 toobig:6 dmesg of DomU: [ 0.000000] Initializing cgroup subsys cpuset [ 0.000000] Initializing cgroup subsys cpu [ 0.000000] Linux version 3.7.0-rc3+ (root@loki) (gcc version 4.4.5 (Debian 4.4.5-8) ) #0 SMP Tue Jan 15 12:34:15 GMT 2013 [ 0.000000] Command line: debug loglevel=9 [ 0.000000] ACPI in unprivileged domain disabled [ 0.000000] e820: BIOS-provided physical RAM map: [ 0.000000] Xen: [mem 0x0000000000000000-0x000000000009ffff] usable [ 0.000000] Xen: [mem 0x00000000000a0000-0x00000000000fffff] reserved [ 0.000000] Xen: [mem 0x0000000000100000-0x000000003fffffff] usable [ 0.000000] NX (Execute Disable) protection: active [ 0.000000] DMI not present or invalid. [ 0.000000] e820: update [mem 0x00000000-0x0000ffff] usable ==> reserved [ 0.000000] e820: remove [mem 0x000a0000-0x000fffff] usable [ 0.000000] No AGP bridge found [ 0.000000] e820: last_pfn = 0x40000 max_arch_pfn = 0x400000000 [ 0.000000] initial memory mapped: [mem 0x00000000-0x026a5fff] [ 0.000000] Base memory trampoline at [ffff88000009a000] 9a000 size 24576 [ 0.000000] init_memory_mapping: [mem 0x00000000-0x3fffffff] [ 0.000000] [mem 0x00000000-0x3fffffff] page 4k [ 0.000000] kernel direct mapping tables up to 0x3fffffff @ [mem 0x01c11000-0x01e12fff] [ 0.000000] xen: setting RW the range 1dfb000 - 1e13000 [ 0.000000] RAMDISK: [mem 0x01e13000-0x026a5fff] [ 0.000000] Zone ranges: [ 0.000000] DMA [mem 0x00010000-0x00ffffff] [ 0.000000] DMA32 [mem 0x01000000-0xffffffff] [ 0.000000] Normal empty [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x00010000-0x0009ffff] [ 0.000000] node 0: [mem 0x00100000-0x3fffffff] [ 0.000000] On node 0 totalpages: 262032 [ 0.000000] DMA zone: 56 pages used for memmap [ 0.000000] DMA zone: 6 pages reserved [ 0.000000] DMA zone: 3922 pages, LIFO batch:0 [ 0.000000] DMA32 zone: 3528 pages used for memmap [ 0.000000] DMA32 zone: 254520 pages, LIFO batch:31 [ 0.000000] smpboot: Allowing 2 CPUs, 0 hotplug CPUs [ 0.000000] No local APIC present [ 0.000000] APIC: disable apic facility [ 0.000000] APIC: switched to apic NOOP [ 0.000000] nr_irqs_gsi: 16 [ 0.000000] e820: [mem 0x40000000-0xffffffff] available for PCI devices [ 0.000000] Booting paravirtualized kernel on Xen [ 0.000000] Xen version: 4.3-unstable (preserve-AD) [ 0.000000] setup_percpu: NR_CPUS:8 nr_cpumask_bits:8 nr_cpu_ids:2 nr_node_ids:1 [ 0.000000] PERCPU: Embedded 27 pages/cpu @ffff88003fa00000 s81408 r8192 d20992 u1048576 [ 0.000000] pcpu-alloc: s81408 r8192 d20992 u1048576 alloc=1*2097152 [ 0.000000] pcpu-alloc: [0] 0 1 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 258442 [ 0.000000] Kernel command line: debug loglevel=9 [ 0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes) [ 0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes) [ 0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes) [ 0.000000] __ex_table already sorted, skipping sort [ 0.000000] Checking aperture... [ 0.000000] No AGP bridge found [ 0.000000] Memory: 1008584k/1048576k available (4991k kernel code, 448k absent, 39544k reserved, 3755k data, 596k init) [ 0.000000] Hierarchical RCU implementation. [ 0.000000] CONFIG_RCU_FANOUT set to non-default value of 32 [ 0.000000] RCU dyntick-idle grace-period acceleration is enabled. [ 0.000000] RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=2. [ 0.000000] NR_IRQS:4352 nr_irqs:288 16 [ 0.000000] Console: colour dummy device 80x25 [ 0.000000] console [tty0] enabled [ 0.000000] console [hvc0] enabled [ 0.000000] Xen: using vcpuop timer interface [ 0.000000] installing Xen timer for CPU 0 [ 0.000000] tsc: Detected 2400.138 MHz processor [ 0.004000] Calibrating delay loop (skipped), value calculated using timer frequency.. 4800.27 BogoMIPS (lpj=9600552) [ 0.004000] pid_max: default: 32768 minimum: 301 [ 0.004000] Mount-cache hash table entries: 256 [ 0.004000] Initializing cgroup subsys cpuacct [ 0.004000] Initializing cgroup subsys devices [ 0.004000] Initializing cgroup subsys freezer [ 0.004000] Initializing cgroup subsys blkio [ 0.004000] Initializing cgroup subsys perf_event [ 0.004000] CPU: Physical Processor ID: 0 [ 0.004000] CPU: Processor Core ID: 0 [ 0.004000] Last level iTLB entries: 4KB 512, 2MB 7, 4MB 7 [ 0.004000] Last level dTLB entries: 4KB 512, 2MB 32, 4MB 32 [ 0.004000] tlb_flushall_shift: 6 [ 0.024997] cpu 0 spinlock event irq 17 [ 0.025035] Performance Events: unsupported p6 CPU model 26 no PMU driver, software events only. [ 0.025401] NMI watchdog: disabled (cpu0): hardware events not enabled [ 0.025818] installing Xen timer for CPU 1 [ 0.025844] cpu 1 spinlock event irq 24 [ 0.025892] SMP alternatives: switching to SMP code [ 0.048000] Brought up 2 CPUs [ 0.048125] devtmpfs: initialized [ 0.052601] Grant tables using version 2 layout. [ 0.052601] Grant table initialized [ 0.052601] NET: Registered protocol family 16 [ 0.052614] PCI: setting up Xen PCI frontend stub [ 0.052614] PCI: pci_cache_line_size set to 64 bytes [ 0.056146] bio: create slab <bio-0> at 0 [ 0.056300] ACPI: Interpreter disabled. [ 0.056300] xen/balloon: Initialising balloon driver. [ 0.056300] xen-balloon: Initialising balloon driver. [ 0.060059] vgaarb: loaded [ 0.060366] SCSI subsystem initialized [ 0.060385] libata version 3.00 loaded. [ 0.060385] PCI: System does not support PCI [ 0.060385] PCI: System does not support PCI [ 0.060545] Switching to clocksource xen [ 0.070850] pnp: PnP ACPI: disabled [ 0.075645] NET: Registered protocol family 2 [ 0.075910] TCP established hash table entries: 131072 (order: 9, 2097152 bytes) [ 0.076260] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes) [ 0.076424] TCP: Hash tables configured (established 131072 bind 65536) [ 0.076637] TCP: reno registered [ 0.076644] UDP hash table entries: 512 (order: 2, 16384 bytes) [ 0.076654] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes) [ 0.076789] NET: Registered protocol family 1 [ 0.077037] RPC: Registered named UNIX socket transport module. [ 0.077045] RPC: Registered udp transport module. [ 0.077050] RPC: Registered tcp transport module. [ 0.077055] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 0.077063] PCI: CLS 0 bytes, default 64 [ 0.077268] Trying to unpack rootfs image as initramfs... [ 0.089483] Freeing initrd memory: 8780k freed [ 0.091317] platform rtc_cmos: registered platform RTC device (no PNP device found) [ 0.091691] audit: initializing netlink socket (disabled) [ 0.091716] type=2000 audit(1358288557.333:1): initialized [ 0.092036] HugeTLB registered 2 MB page size, pre-allocated 0 pages [ 0.093221] Installing knfsd (copyright (C) 1996 okir@monad.swb.de). [ 0.093916] msgmni has been set to 1987 [ 0.094438] alg: No test for stdrng (krng) [ 0.094504] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253) [ 0.094514] io scheduler noop registered [ 0.094519] io scheduler deadline registered [ 0.094556] io scheduler cfq registered (default) [ 0.094859] Event-channel device installed. [ 0.095612] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled [ 0.096323] brd: module loaded [ 0.097668] loop: module loaded [ 0.098044] Loading iSCSI transport class v2.0-870. [ 0.098442] bnx2fc: Broadcom NetXtreme II FCoE Driver bnx2fc v1.0.12 (Jun 04, 2012) [ 0.138079] isci: Intel(R) C600 SAS Controller Driver - version 1.1.0 [ 0.138172] megaraid cmm: 2.20.2.7 (Release Date: Sun Jul 16 00:01:03 EST 2006) [ 0.138251] megaraid: 2.20.5.1 (Release Date: Thu Nov 16 15:32:35 EST 2006) [ 0.138285] megasas: 06.504.01.00-rc1 Mon. Oct. 1 17:00:00 PDT 2012 [ 0.138324] mpt2sas version 14.100.00.00 loaded [ 0.138433] GDT-HA: Storage RAID Controller Driver. Version: 3.05 [ 0.138464] Broadcom NetXtreme II iSCSI Driver bnx2i v2.7.2.2 (Apr 25, 2012) [ 0.138502] iscsi: registered transport (bnx2i) [ 0.138796] SCSI Media Changer driver v0.25 [ 0.139032] tun: Universal TUN/TAP device driver, 1.6 [ 0.139038] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com> [ 0.139153] cnic: Broadcom NetXtreme II CNIC Driver cnic v2.5.14 (Sep 30, 2012) [ 0.139226] bnx2x: Broadcom NetXtreme II 5771x/578xx 10/20-Gigabit Ethernet Driver bnx2x 1.78.00-0 (2012/09/27) [ 0.139349] Initialising Xen virtual ethernet driver. [ 0.139543] I2O subsystem v1.325 [ 0.139551] i2o: max drivers = 8 [ 0.139694] Fusion MPT base driver 3.04.20 [ 0.139701] Copyright (c) 1999-2008 LSI Corporation [ 0.139717] Fusion MPT SPI Host driver 3.04.20 [ 0.139747] Fusion MPT FC Host driver 3.04.20 [ 0.139785] Fusion MPT SAS Host driver 3.04.20 [ 0.139828] Fusion MPT misc device (ioctl) driver 3.04.20 [ 0.139895] mptctl: Registered with Fusion MPT base driver [ 0.139903] mptctl: /dev/mptctl @ (major,minor=10,220) [ 0.139998] i8042: PNP: No PS/2 controller found. Probing ports directly. [ 0.140826] i8042: No controller found [ 0.141013] mousedev: PS/2 mouse device common for all mice [ 0.200782] rtc_cmos rtc_cmos: rtc core: registered rtc_cmos as rtc0 [ 0.200918] ida_remove called for id=0 which is not allocated. [ 0.200929] rtc_cmos: probe of rtc_cmos failed with error -38 [ 0.201246] device-mapper: ioctl: 4.23.0-ioctl (2012-07-25) initialised: dm-devel@redhat.com [ 0.201387] pktgen: Packet Generator for packet performance testing. Version: 2.74 [ 0.201568] drop_monitor: Initializing network drop monitor service [ 0.201674] TCP: cubic registered [ 0.201680] NET: Registered protocol family 17 [ 0.201789] NET: Registered protocol family 33 [ 0.201795] Key type rxrpc registered [ 0.201799] Key type rxrpc_s registered [ 0.201821] Key type dns_resolver registered [ 0.201826] openvswitch: Open vSwitch switching datapath [ 0.202174] registered taskstats version 1 [ 0.202284] drivers/rtc/hctosys.c: unable to open rtc device (rtc0) [ 0.202697] Freeing unused kernel memory: 596k freed [ 0.202814] Write protecting the kernel read-only data: 8192k [ 0.206418] Freeing unused kernel memory: 1148k freed [ 0.206738] Freeing unused kernel memory: 112k freed Loading, please wait... [ 0.251816] udev[76]: starting version 164
On Tue, 15 Jan 2013 23:46:52 +0100 Roger Pau Monné <roger.pau@citrix.com> wrote:> On 15/01/13 20:49, Mukesh Rathor wrote: > > Hi Roger, > > > > Ah yes, you need the following patch on your linux side. Please keep > > me posted how it goes, and whatever testing/performance stuff you > > do. > > Hello Mukesh, > > I've applied the following patch to the Linux kernel and recompiled, > and now features in elf note seems to be complete (as reported by xl): > > xc: detail: elf_xen_parse_note: FEATURES > "!writable_page_tables|pae_pgdir_above_4gb|writable_descriptor_tables|auto_translated_physmap|supervisor_mode_kernel|hvm_callback_vector" > > But still the domain boots in PV mode. I've attached the output > of 'xl -vvv create config.cfg' and dmesg. I think I've got all the > hypervisor/tools patches applied correctly, but I will check again > tomorrow morning in case I'm missing something.> Booting paravirtualized kernel on XenHmmm. not sure why. Make sure you installed the libraries in the correct 64bit locations (I've 64bit dom0), etc.. You should see: Booting paravirtualized kernel with PVH extensions on Xen LMK. Thanks, Mukesh _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
Roger Pau Monné
2013-Jan-16 08:58 UTC
Re: [RFC PATCH 0/15]: PVH xen: Patches for PVH guests
On 16/01/13 00:55, Mukesh Rathor wrote:> On Tue, 15 Jan 2013 23:46:52 +0100 > Roger Pau Monné <roger.pau@citrix.com> wrote: > >> On 15/01/13 20:49, Mukesh Rathor wrote: >>> Hi Roger, >>> >>> Ah yes, you need the following patch on your linux side. Please keep >>> me posted how it goes, and whatever testing/performance stuff you >>> do. >> >> Hello Mukesh, >> >> I've applied the following patch to the Linux kernel and recompiled, >> and now features in elf note seems to be complete (as reported by xl): >> >> xc: detail: elf_xen_parse_note: FEATURES >> "!writable_page_tables|pae_pgdir_above_4gb|writable_descriptor_tables|auto_translated_physmap|supervisor_mode_kernel|hvm_callback_vector" >> >> But still the domain boots in PV mode. I've attached the output >> of 'xl -vvv create config.cfg' and dmesg. I think I've got all the >> hypervisor/tools patches applied correctly, but I will check again >> tomorrow morning in case I'm missing something. > >> Booting paravirtualized kernel on Xen > > Hmmm. not sure why. Make sure you installed the libraries in the correct > 64bit locations (I've 64bit dom0), etc.. You should see: > > Booting paravirtualized kernel with PVH extensions on XenDom0 seems to also fail booting as PVH mode, but it doesn't print much info regarding the failure (maybe you are able to make more sense out of it than me): __ __ _ _ _____ _ _ _ \ \/ /___ _ __ | || | |___ / _ _ _ __ ___| |_ __ _| |__ | | ___ \ // _ \ '_ \ | || |_ |_ \ __| | | | '_ \/ __| __/ _` | '_ \| |/ _ \ / \ __/ | | | |__ _| ___) |__| |_| | | | \__ \ || (_| | |_) | | __/ /_/\_\___|_| |_| |_|(_)____/ \__,_|_| |_|___/\__\__,_|_.__/|_|\___| (XEN) Xen version 4.3-unstable (root@) (gcc (Debian 4.4.5-8) 4.4.5) Tue Jan 15 23:03:30 GMT 2013 (XEN) Latest ChangeSet: unavailable (XEN) Bootloader: PXELINUX 4.02 debian-20101014 (XEN) Command line: dom0pvh com1=115200,8n1 guest_loglvl=all loglvl=all console=com1 dom0_mem=1024M (XEN) Video information: (XEN) VGA is text mode 80x25, font 8x16 (XEN) VBE/DDC methods: V2; EDID transfer time: 1 seconds (XEN) EDID info not retrieved because of reasons unknown (XEN) Disc information: (XEN) Found 2 MBR signatures (XEN) Found 2 EDD information structures (XEN) Xen-e820 RAM map: (XEN) 0000000000000000 - 0000000000092400 (usable) (XEN) 00000000000f0000 - 0000000000100000 (reserved) (XEN) 0000000000100000 - 00000000dfdf9c00 (usable) (XEN) 00000000dfdf9c00 - 00000000dfe4bc00 (ACPI NVS) (XEN) 00000000dfe4bc00 - 00000000dfe4dc00 (ACPI data) (XEN) 00000000dfe4dc00 - 00000000e0000000 (reserved) (XEN) 00000000f8000000 - 00000000fd000000 (reserved) (XEN) 00000000fe000000 - 00000000fed00400 (reserved) (XEN) 00000000fee00000 - 00000000fef00000 (reserved) (XEN) 00000000ffb00000 - 0000000100000000 (reserved) (XEN) 0000000100000000 - 00000001a0000000 (usable) (XEN) ACPI: RSDP 000FEC30, 0024 (r2 DELL ) (XEN) ACPI: XSDT 000FCCC7, 007C (r1 DELL B10K 15 ASL 61) (XEN) ACPI: FACP 000FCDB7, 00F4 (r3 DELL B10K 15 ASL 61) (XEN) ACPI: DSDT FFE9E951, 4A74 (r1 DELL dt_ex 1000 INTL 20050624) (XEN) ACPI: FACS DFDF9C00, 0040 (XEN) ACPI: SSDT FFEA34D6, 009C (r1 DELL st_ex 1000 INTL 20050624) (XEN) ACPI: APIC 000FCEAB, 015E (r1 DELL B10K 15 ASL 61) (XEN) ACPI: BOOT 000FD009, 0028 (r1 DELL B10K 15 ASL 61) (XEN) ACPI: ASF! 000FD031, 0096 (r32 DELL B10K 15 ASL 61) (XEN) ACPI: MCFG 000FD0C7, 003C (r1 DELL B10K 15 ASL 61) (XEN) ACPI: HPET 000FD103, 0038 (r1 DELL B10K 15 ASL 61) (XEN) ACPI: TCPA 000FD35F, 0032 (r1 DELL B10K 15 ASL 61) (XEN) ACPI: DMAR 000FD391, 00C8 (r1 DELL B10K 15 ASL 61) (XEN) ACPI: SLIC 000FD13B, 0176 (r1 DELL B10K 15 ASL 61) (XEN) ACPI: SSDT DFE4DC00, 058C (r1 INTEL PPM RCM 80000001 INTL 20061109) (XEN) System RAM: 6141MB (6288940kB) (XEN) No NUMA configuration found (XEN) Faking a node at 0000000000000000-00000001a0000000 (XEN) Domain heap initialised (XEN) DMI 2.5 present. (XEN) Using APIC driver default (XEN) ACPI: PM-Timer IO Port: 0x808 (XEN) ACPI: ACPI SLEEP INFO: pm1x_cnt[804,0], pm1x_evt[800,0] (XEN) ACPI: wakeup_vec[dfdf9c0c], vec_size[20] (XEN) ACPI: Local APIC address 0xfee00000 (XEN) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled) (XEN) Processor #0 7:10 APIC version 21 (XEN) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x04] enabled) (XEN) Processor #4 7:10 APIC version 21 (XEN) ACPI: LAPIC (acpi_id[0x03] lapic_id[0x05] disabled) (XEN) ACPI: LAPIC (acpi_id[0x04] lapic_id[0x07] disabled) (XEN) ACPI: LAPIC (acpi_id[0x05] lapic_id[0x00] disabled) (XEN) ACPI: LAPIC (acpi_id[0x06] lapic_id[0x01] disabled) (XEN) ACPI: LAPIC (acpi_id[0x07] lapic_id[0x02] disabled) (XEN) ACPI: LAPIC (acpi_id[0x08] lapic_id[0x03] disabled) (XEN) ACPI: LAPIC (acpi_id[0x09] lapic_id[0x00] disabled) (XEN) ACPI: LAPIC (acpi_id[0x0a] lapic_id[0x00] disabled) (XEN) ACPI: LAPIC (acpi_id[0x0b] lapic_id[0x00] disabled) (XEN) ACPI: LAPIC (acpi_id[0x0c] lapic_id[0x00] disabled) (XEN) ACPI: LAPIC (acpi_id[0x0d] lapic_id[0x00] disabled) (XEN) ACPI: LAPIC (acpi_id[0x0e] lapic_id[0x00] disabled) (XEN) ACPI: LAPIC (acpi_id[0x0f] lapic_id[0x00] disabled) (XEN) ACPI: LAPIC (acpi_id[0x10] lapic_id[0x00] disabled) (XEN) ACPI: LAPIC (acpi_id[0x11] lapic_id[0x00] disabled) (XEN) ACPI: LAPIC (acpi_id[0x12] lapic_id[0x00] disabled) (XEN) ACPI: LAPIC (acpi_id[0x13] lapic_id[0x00] disabled) (XEN) ACPI: LAPIC (acpi_id[0x14] lapic_id[0x00] disabled) (XEN) ACPI: LAPIC (acpi_id[0x15] lapic_id[0x00] disabled) (XEN) ACPI: LAPIC (acpi_id[0x16] lapic_id[0x00] disabled) (XEN) ACPI: LAPIC (acpi_id[0x17] lapic_id[0x00] disabled) (XEN) ACPI: LAPIC (acpi_id[0x18] lapic_id[0x00] disabled) (XEN) ACPI: LAPIC (acpi_id[0x19] lapic_id[0x00] disabled) (XEN) ACPI: LAPIC (acpi_id[0x1a] lapic_id[0x00] disabled) (XEN) ACPI: LAPIC (acpi_id[0x1b] lapic_id[0x00] disabled) (XEN) ACPI: LAPIC (acpi_id[0x1c] lapic_id[0x00] disabled) (XEN) ACPI: LAPIC (acpi_id[0x1d] lapic_id[0x00] disabled) (XEN) ACPI: LAPIC (acpi_id[0x1e] lapic_id[0x00] disabled) (XEN) ACPI: LAPIC (acpi_id[0x1f] lapic_id[0x00] disabled) (XEN) ACPI: LAPIC (acpi_id[0x20] lapic_id[0x00] disabled) (XEN) ACPI: LAPIC_NMI (acpi_id[0xff] high level lint[0x1]) (XEN) ACPI: IOAPIC (id[0x08] address[0xfec00000] gsi_base[0]) (XEN) IOAPIC[0]: apic_id 8, version 32, address 0xfec00000, GSI 0-23 (XEN) ACPI: IOAPIC (id[0x09] address[0xfec80000] gsi_base[24]) (XEN) IOAPIC[1]: apic_id 9, version 32, address 0xfec80000, GSI 24-47 (XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) (XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level) (XEN) ACPI: IRQ0 used by override. (XEN) ACPI: IRQ2 used by override. (XEN) ACPI: IRQ9 used by override. (XEN) Enabling APIC mode: Flat. Using 2 I/O APICs (XEN) ACPI: HPET id: 0x8086a301 base: 0xfed00000 (XEN) Table is not found! (XEN) Using ACPI (MADT) for SMP configuration information (XEN) SMP: Allowing 32 CPUs (30 hotplug CPUs) (XEN) IRQ limits: 48 GSI, 352 MSI/MSI-X (XEN) Using scheduler: SMP Credit Scheduler (credit) (XEN) Detected 2400.170 MHz processor. (XEN) Initing memory sharing. (XEN) mce_intel.c:719: MCA Capability: BCAST 1 SER 0 CMCI 1 firstbank 0 extended MCE MSR 0 (XEN) Intel machine check reporting enabled (XEN) PCI: MCFG configuration 0: base f8000000 segment 0000 buses 00 - 3f (XEN) PCI: MCFG area at f8000000 reserved in E820 (XEN) PCI: Using MCFG for segment 0000 bus 00-3f (XEN) Intel VT-d supported page sizes: 4kB. (XEN) Intel VT-d Snoop Control enabled. (XEN) Intel VT-d Dom0 DMA Passthrough not enabled. (XEN) Intel VT-d Queued Invalidation enabled. (XEN) Intel VT-d Interrupt Remapping enabled. (XEN) Intel VT-d Shared EPT tables not enabled. (XEN) I/O virtualisation enabled (XEN) - Dom0 mode: Relaxed (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 14.318MHz HPET (XEN) Allocated console ring of 16 KiB. (XEN) mwait-idle: MWAIT substates: 0x1120 (XEN) mwait-idle: v0.4 model 0x1a (XEN) mwait-idle: lapic_timer_reliable_states 0x2 (XEN) HPET: 4 timers (0 will be used for broadcast) (XEN) VMX: Supported advanced features: (XEN) - APIC MMIO access virtualisation (XEN) - APIC TPR shadow (XEN) - Extended Page Tables (EPT) (XEN) - Virtual-Processor Identifiers (VPID) (XEN) - Virtual NMI (XEN) - MSR direct-access bitmap (XEN) HVM: ASIDs enabled. (XEN) HVM: VMX enabled (XEN) HVM: Hardware Assisted Paging (HAP) detected (XEN) HVM: HAP page sizes: 4kB, 2MB (XEN) Brought up 2 CPUs (XEN) ACPI sleep modes: S3 (XEN) mcheck_poll: Machine check polling timer started. (XEN) Yay... PVH guest. domid:0 (XEN) *** LOADING DOMAIN 0 *** (XEN) elf_parse_binary: phdr: paddr=0x1000000 memsz=0x7e4000 (XEN) elf_parse_binary: phdr: paddr=0x1800000 memsz=0x8b0f0 (XEN) elf_parse_binary: phdr: paddr=0x188c000 memsz=0x13e00 (XEN) elf_parse_binary: phdr: paddr=0x18a0000 memsz=0x573000 (XEN) elf_parse_binary: memory: 0x1000000 -> 0x1e13000 (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 = 0xffffffff818a0210 (XEN) elf_xen_parse_note: HYPERCALL_PAGE = 0xffffffff81001000 (XEN) elf_xen_parse_note: FEATURES = "!writable_page_tables|pae_pgdir_above_4gb|writable_descriptor_tables|auto_translated_physmap|supervisor_mode_kernel|hvm_callback_vector" (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 = 0xffffffff81e13000 (XEN) virt_entry = 0xffffffff818a0210 (XEN) p2m_base = 0xffffffffffffffff (XEN) Xen kernel: 64-bit, lsb, compat32 (XEN) Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x1e13000 (XEN) PHYSICAL MEMORY ARRANGEMENT: (XEN) Dom0 alloc.: 0000000194000000->0000000198000000 (243562 pages to be allocated) (XEN) Init. ramdisk: 000000019f76a000->000000019ffffa00 (XEN) VIRTUAL MEMORY ARRANGEMENT: (XEN) Loaded kernel: ffffffff81000000->ffffffff81e13000 (XEN) Init. ramdisk: ffffffff81e13000->ffffffff826a8a00 (XEN) Phys-Mach map: ffffffff826a9000->ffffffff828a9000 (XEN) Start info: ffffffff828a9000->ffffffff828aa4b4 (XEN) Page tables: ffffffff828ab000->ffffffff828c4000 (XEN) Boot stack: ffffffff828c4000->ffffffff828c5000 (XEN) TOTAL: ffffffff80000000->ffffffff82c00000 (XEN) ENTRY ADDRESS: ffffffff818a0210 (XEN) Dom0 has maximum 2 VCPUs (XEN) _elf_load_binary: phdr 0 at 0xffffffff81000000 -> 0xffffffff817e4000 (XEN) _elf_load_binary: phdr 1 at 0xffffffff81800000 -> 0xffffffff8188b0f0 (XEN) _elf_load_binary: phdr 2 at 0xffffffff8188c000 -> 0xffffffff8189fe00 (XEN) _elf_load_binary: phdr 3 at 0xffffffff818a0000 -> 0xffffffff81926000 (XEN) Scrubbing Free RAM: ..................................................done. (XEN) Initial low memory virq threshold set at 0x4000 pages. (XEN) Std. Loglevel: All (XEN) Guest Loglevel: All (XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to Xen) (XEN) Freed 256kB init memory. (XEN) <vm_launch_fail> error code 7 (XEN) domain_crash_sync called from vmcs.c:1346 (XEN) Domain 0 (vcpu#0) crashed on cpu#0: (XEN) ----[ Xen-4.3-unstable x86_64 debug=y Not tainted ]---- (XEN) CPU: 0 (XEN) RIP: e033:[<ffffffff818a0210>] (XEN) RFLAGS: 0000000000000202 EM: 1 CONTEXT: pv guest (XEN) rax: 0000000000000000 rbx: ffff82c4802c0000 rcx: ffff82c4802c7f80 (XEN) rdx: ffff82c4801d0106 rsi: 0000000000000000 rdi: ffff82c4801dd2a8 (XEN) rbp: ffff82c480105de0 rsp: ffffffff828c5000 r8: 0000000000000000 (XEN) r9: ffff82c480105e4f r10: ffff82c4802c7f70 r11: 0000000000000000 (XEN) r12: ffff82c4802c7f50 r13: ffff83019e61d000 r14: 0000000000000000 (XEN) r15: ffff82c4801877ad cr0: 000000008005003b cr4: 00000000000026f0 (XEN) cr3: 0000000199ee9000 cr2: 0000000000000000 (XEN) ds: 0000 es: 0000 fs: 0000 gs: 0000 ss: e02b cs: e033 (XEN) Guest stack trace from rsp=ffffffff828c5000: (XEN) Fault while accessing guest memory. (XEN) Domain 0 crashed: rebooting machine in 5 seconds. Thanks, Roger. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
On Wed, 16 Jan 2013 09:58:13 +0100 Roger Pau Monné <roger.pau@citrix.com> wrote:> Dom0 seems to also fail booting as PVH mode, but it doesn't print > much info regarding the failure (maybe you are able to make more > sense out of it than me):> (XEN) <vm_launch_fail> error code 7Hey Roger, thanks for the patience. Hmm.. err code 7 is : "7 VM entry with invalid control field(s)", So we need to see what control fields are in the VMCS. Can you please add to : vm_launch_fail(): void vm_launch_fail(void) { unsigned long error = __vmread(VM_INSTRUCTION_ERROR); printk("<vm_launch_fail> error code %lx\n", error); vmcs_dump_vcpu(current); ... } Just for ease, please boot with one cpu and one vcpu. Also, can you please compile xen with debug=n and try also. I'm also trying on different machine here as I type this. Thanks again, Mukesh _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
Roger Pau Monné
2013-Jan-16 23:15 UTC
Re: [RFC PATCH 0/15]: PVH xen: Patches for PVH guests
On 16/01/13 23:21, Mukesh Rathor wrote:> On Wed, 16 Jan 2013 09:58:13 +0100 > Roger Pau Monné <roger.pau@citrix.com> wrote: > >> Dom0 seems to also fail booting as PVH mode, but it doesn't print >> much info regarding the failure (maybe you are able to make more >> sense out of it than me): > >> (XEN) <vm_launch_fail> error code 7 > > Hey Roger, thanks for the patience. Hmm.. err code 7 is :Thanks to you for looking into it :)> > "7 VM entry with invalid control field(s)", > > So we need to see what control fields are in the VMCS. Can you please > add to : vm_launch_fail(): > > void vm_launch_fail(void) > { > unsigned long error = __vmread(VM_INSTRUCTION_ERROR); > printk("<vm_launch_fail> error code %lx\n", error); > > vmcs_dump_vcpu(current); > ... > }This is the result of adding vmcs_dump_vcpu and using the following boot options, dom0_max_vcpus=1 dom0_vcpus_pin. (XEN) *** Guest State *** (XEN) CR0: actual=0x0000000080010021, shadow=0x0000000080010021, gh_mask=ffffffffffffffff (XEN) CR4: actual=0x0000000000002020, shadow=0x0000000000002020, gh_mask=ffffffffffffffff (XEN) CR3: actual=0x00000000028ab000, target_count=0 (XEN) target0=0000000000000000, target1=0000000000000000 (XEN) target2=0000000000000000, target3=0000000000000000 (XEN) RSP = 0xffffffff828c5000 (0xffffffff828c5000) RIP = 0xffffffff818a0210 (0xffffffff818a0210) (XEN) RFLAGS=0x0000000000000202 (0x0000000000000202) DR7 = 0x0000000000000000 (XEN) Sysenter RSP=0000000000000000 CS:RIP=0000:0000000000000000 (XEN) CS: sel=0x0010, attr=0x0a09b, limit=0xffffffff, base=0x0000000000000000 (XEN) DS: sel=0x0018, attr=0x0c093, limit=0xffffffff, base=0x0000000000000000 (XEN) SS: sel=0x0018, attr=0x0c093, limit=0xffffffff, base=0x0000000000000000 (XEN) ES: sel=0x0000, attr=0x0c093, limit=0xffffffff, base=0x0000000000000000 (XEN) FS: sel=0x0000, attr=0x0c093, limit=0xffffffff, base=0x0000000000000000 (XEN) GS: sel=0x0000, attr=0x0c093, limit=0xffffffff, base=0x0000000000000000 (XEN) GDTR: limit=0x00000000, base=0x0000000000000000 (XEN) LDTR: sel=0x0000, attr=0x00082, limit=0x00000000, base=0x0000000000000000 (XEN) IDTR: limit=0x00000000, base=0x0000000000000000 (XEN) TR: sel=0x0000, attr=0x0008b, limit=0x000000ff, base=0x0000000000000000 (XEN) Guest PAT = 0x0007040600070406 (XEN) TSC Offset = 0000000000000000 (XEN) DebugCtl=0000000000000000 DebugExceptions=0000000000000000 (XEN) Interruptibility=0000 ActivityState=0000 (XEN) *** Host State *** (XEN) RSP = 0xffff82c4802c7f90 RIP = 0xffff82c4801dd160 (XEN) CS=e008 DS=0000 ES=0000 FS=0000 GS=0000 SS=0000 TR=e040 (XEN) FSBase=0000000000000000 GSBase=0000000000000000 TRBase=ffff82c480309580 (XEN) GDTBase=ffff82c48025f000 IDTBase=ffff82c4803049e0 (XEN) CR0=000000008005003b CR3=0000000199ee9000 CR4=00000000000026f0 (XEN) Sysenter RSP=ffff82c4802c7fc0 CS:RIP=e008:ffff82c480228b30 (XEN) Host PAT = 0x0000050100070406 (XEN) *** Control State *** (XEN) PinBased=0000001f CPUBased=b68065f6 SecondaryExec=00000422 (XEN) EntryControls=000053fb ExitControls=000fefff (XEN) ExceptionBitmap=000400ca (XEN) VMEntry: intr_info=00000000 errcode=00000000 ilen=00000000 (XEN) VMExit: intr_info=00000000 errcode=00000000 ilen=00000000 (XEN) reason=00000000 qualification=00000000 (XEN) IDTVectoring: info=00000000 errcode=00000000 (XEN) TPR Threshold = 0x00 (XEN) EPT pointer = 0x0000000199ef401e (XEN) Virtual processor ID = 0x0001> > Just for ease, please boot with one cpu and one vcpu. > > Also, can you please compile xen with debug=n and try also.Here is the output using the same command line with debug=n: (XEN) Yay... PVH guest. domid:0 (XEN) *** LOADING DOMAIN 0 *** (XEN) elf_parse_binary: phdr: paddr=0x1000000 memsz=0x7e4000 (XEN) elf_parse_binary: phdr: paddr=0x1800000 memsz=0x8b0f0 (XEN) elf_parse_binary: phdr: paddr=0x188c000 memsz=0x13e00 (XEN) elf_parse_binary: phdr: paddr=0x18a0000 memsz=0x573000 (XEN) elf_parse_binary: memory: 0x1000000 -> 0x1e13000 (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 = 0xffffffff818a0210 (XEN) elf_xen_parse_note: HYPERCALL_PAGE = 0xffffffff81001000 (XEN) elf_xen_parse_note: FEATURES = "!writable_page_tables|pae_pgdir_above_4gb|writable_descriptor_tables|auto_translated_physmap|supervisor_mode_kernel|hvm_callback_vector" (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 = 0xffffffff81e13000 (XEN) virt_entry = 0xffffffff818a0210 (XEN) p2m_base = 0xffffffffffffffff (XEN) Xen kernel: 64-bit, lsb, compat32 (XEN) Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x1e13000 (XEN) PHYSICAL MEMORY ARRANGEMENT: (XEN) Dom0 alloc.: 0000000194000000->0000000198000000 (243562 pages to be allocated) (XEN) Init. ramdisk: 000000019f76a000->000000019ffffa00 (XEN) VIRTUAL MEMORY ARRANGEMENT: (XEN) Loaded kernel: ffffffff81000000->ffffffff81e13000 (XEN) Init. ramdisk: ffffffff81e13000->ffffffff826a8a00 (XEN) Phys-Mach map: ffffffff826a9000->ffffffff828a9000 (XEN) Start info: ffffffff828a9000->ffffffff828aa4b4 (XEN) Page tables: ffffffff828ab000->ffffffff828c4000 (XEN) Boot stack: ffffffff828c4000->ffffffff828c5000 (XEN) TOTAL: ffffffff80000000->ffffffff82c00000 (XEN) ENTRY ADDRESS: ffffffff818a0210 (XEN) Dom0 has maximum 1 VCPUs (XEN) _elf_load_binary: phdr 0 at 0xffffffff81000000 -> 0xffffffff817e4000 (XEN) ----[ Xen-4.3-unstable x86_64 debug=y Not tainted ]---- (XEN) CPU: 0 (XEN) RIP: e008:[<ffff82c480156f67>] dbg_rw_mem+0x317/0x37c (XEN) RFLAGS: 0000000000010282 CONTEXT: hypervisor (XEN) rax: 0000000000000004 rbx: ffff83019e61d000 rcx: 0000000000000000 (XEN) rdx: ffff82c4802c78a4 rsi: ffffffff81000000 rdi: 0000000000000004 (XEN) rbp: 00000000007e4000 rsp: ffff82c4802c7848 r8: 0000000000000001 (XEN) r9: 0000000000000000 r10: 0000000000000000 r11: ffff82c48022c200 (XEN) r12: ffffffff81000000 r13: ffff83019e886000 r14: ffff83019e886000 (XEN) r15: ffff830000000000 cr0: 000000008005003b cr4: 00000000000026f0 (XEN) cr3: 0000000199ee9000 cr2: 0000000000000004 (XEN) ds: 0000 es: 0000 fs: 0000 gs: 0000 ss: 0000 cs: e008 (XEN) Xen stack trace from rsp=ffff82c4802c7848: (XEN) ffff82c4802c78d8 0000000000000282 0000000000000001 ffff82c4802e9885 (XEN) 0000000100000028 0000000000000000 0000000000000000 ffff82c4802c78a4 (XEN) ffff82c4802c789c ffff82c4802c78a0 0000000000000000 0000000181000000 (XEN) ffffffff817e4000 ffff82c4802c7d98 ffff82c4802c7988 0000000000000000 (XEN) ffff83019e686040 0000000000000005 0000000000200000 ffff82c4802859a0 (XEN) ffff82c4802c7944 ffff82c4802c7940 ffff82c400000000 000000018011856d (XEN) ffff82c4802c0000 ffff82c4802c0000 ffff82c4802c0000 ffff82c4802c0000 (XEN) 00000000007e4000 ffffffff81000000 00000000007e4000 ffff82c4802c7957 (XEN) 000000000017872c ffff83019e61d000 0000000000004896 ffff83019e61d000 (XEN) ffffffff82c00000 0000000000040000 0000000000040000 0000000002b3d0c0 (XEN) ffff82c4802c7e48 ffff82c4802abfff ffffffff828a9000 ffffffff828a9000 (XEN) ffffffff828aa4b4 ffffffff828ab000 ffffffff828c4000 ffffffff828c4000 (XEN) ffffffff828c5000 ffffffff80000000 ffffffff82c00000 0000000000000000 (XEN) 0000000000000000 0000000000000ff0 0000000000000000 ffffffff82c00000 (XEN) 00000000028aa000 ffff830196016000 ffffffff828c5000 ffffffff81000000 (XEN) 0000000000000000 0000000000198000 ffff830196018000 ffff830196017000 (XEN) ffff830196018ff8 0000000000000019 ffffffff828a9000 0000000000000086 (XEN) 00000000000026a9 ffffffff828ab000 0000000000194000 0000000000000896 (XEN) ffff830196015000 0000000000001e13 fffffffe6c896000 ffff82c4802b7860 (XEN) ffffffff81e13000 ffffffff80000000 ffffffff82c00000 0000000000040000 (XEN) Xen call trace: (XEN) [<ffff82c480156f67>] dbg_rw_mem+0x317/0x37c (XEN) (XEN) Pagetable walk from 0000000000000004: (XEN) L4[0x000] = 0000000000000000 ffffffffffffffff (XEN) (XEN) **************************************** (XEN) Panic on CPU 0: (XEN) FATAL PAGE FAULT (XEN) [error_code=0000] (XEN) Faulting linear address: 0000000000000004 (XEN) **************************************** (XEN) (XEN) Reboot in five seconds... Thanks, Roger _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
On Wed, 16 Jan 2013 15:15:37 -0800 (PST) Roger Pau Monné <roger.pau@citrix.com> wrote:> On 16/01/13 23:21, Mukesh Rathor wrote: > > On Wed, 16 Jan 2013 09:58:13 +0100 > > Roger Pau Monné <roger.pau@citrix.com> wrote: > > > (XEN) *** Guest State *** > (XEN) CR0: actual=0x0000000080010021, shadow=0x0000000080010021, > gh_mask=ffffffffffffffff (XEN) CR4: actual=0x0000000000002020,Strange! 7 is invalid control fields. Here are mine just before the first vm launch: *** Control State *** PinBased=0000001f CPUBased=b68065f6 SecondaryExec=00000422 EntryControls=000053fb ExitControls=000fefff ExceptionBitmap=000400ca VMEntry: intr_info=00000000 errcode=00000000 ilen=00000000 VMExit: intr_info=00000000 errcode=00000000 ilen=00000000 reason=00000000 qualification=00000000 IDTVectoring: info=00000000 errcode=00000000 TPR Threshold = 0x00 EPT pointer = 0x000000013ff6501e Virtual processor ID = 0x0000 Which matches exactly what you have. Mine vm_launches fine. I wonder what cpu you have. I can try to find a machine similar to yours here, and try to reproduce.> Here is the output using the same command line with debug=n: >Ok, it didn't work either. So lets just stick to one, debug=y for now. Thanks, Mukesh _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
Roger Pau Monné
2013-Jan-17 09:49 UTC
Re: [RFC PATCH 0/15]: PVH xen: Patches for PVH guests
On 17/01/13 01:40, Mukesh Rathor wrote:> On Wed, 16 Jan 2013 15:15:37 -0800 (PST) > Roger Pau Monné <roger.pau@citrix.com> wrote: > >> On 16/01/13 23:21, Mukesh Rathor wrote: >>> On Wed, 16 Jan 2013 09:58:13 +0100 >>> Roger Pau Monné <roger.pau@citrix.com> wrote: >>> >> (XEN) *** Guest State *** >> (XEN) CR0: actual=0x0000000080010021, shadow=0x0000000080010021, >> gh_mask=ffffffffffffffff (XEN) CR4: actual=0x0000000000002020, > > > Strange! 7 is invalid control fields. Here are mine just before > the first vm launch: > > *** Control State *** > PinBased=0000001f CPUBased=b68065f6 SecondaryExec=00000422 > EntryControls=000053fb ExitControls=000fefff > ExceptionBitmap=000400ca > VMEntry: intr_info=00000000 errcode=00000000 ilen=00000000 > VMExit: intr_info=00000000 errcode=00000000 ilen=00000000 > reason=00000000 qualification=00000000 > IDTVectoring: info=00000000 errcode=00000000 > TPR Threshold = 0x00 > EPT pointer = 0x000000013ff6501e > Virtual processor ID = 0x0000 > > Which matches exactly what you have. Mine vm_launches fine. > I wonder what cpu you have. I can try to find a machine similar > to yours here, and try to reproduce.It's a Xeon W3503: http://ark.intel.com/products/40799/Intel-Xeon-Processor-W3503-4M-Cache-2_40-GHz-4_80-GTs-Intel-QPI _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
Konrad Rzeszutek Wilk
2013-Jan-18 03:22 UTC
Re: [RFC PATCH 0/15]: PVH xen: Patches for PVH guests
On Tue, Jan 15, 2013 at 11:49:27AM -0800, Mukesh Rathor wrote:> On Tue, 15 Jan 2013 17:38:33 +0100 > Roger Pau Monné <roger.pau@citrix.com> wrote: > > > On 14/01/13 23:40, Mukesh Rathor wrote: > > Hi Roger, > > Ah yes, you need the following patch on your linux side. Please keep > me posted how it goes, and whatever testing/performance stuff you do.Jan had some comments about that patch: https://patchwork.kernel.org/patch/1745041/ Please fix it up so I can put it in the Linux tree.> > Don''t forget CONFIG_XEN_X86_PVH btw :). > > Thanks, > Mukesh > > > > >From 7a7b03ff160840edf43e7213d14e4a7620874a73 Mon Sep 17 00:00:00 2001 > From: Mukesh Rathor <mukesh.rathor@oracle.com> > Date: Wed, 14 Nov 2012 18:16:54 -0800 > Subject: [PATCH 13/13] PVH: remove macro FEATURES_PVH and put PVH > strings in the ELFNOTE line, because there''s a null char before > FEATURES_PVH and in the FEATURES_PVH strings since this is not C file > > Signed-off-by: Mukesh Rathor <mukesh.rathor@oracle.com> > --- > arch/x86/xen/xen-head.S | 14 +++++--------- > 1 files changed, 5 insertions(+), 9 deletions(-) > > diff --git a/arch/x86/xen/xen-head.S b/arch/x86/xen/xen-head.S > index 1a6bca1..340fd4e 100644 > --- a/arch/x86/xen/xen-head.S > +++ b/arch/x86/xen/xen-head.S > @@ -13,14 +13,6 @@ > #include <xen/interface/elfnote.h> > #include <asm/xen/interface.h> > > -#ifdef CONFIG_XEN_X86_PVH > -#define FEATURES_PVH "|writable_descriptor_tables" \ > - "|auto_translated_physmap" \ > - "|supervisor_mode_kernel" \ > - "|hvm_callback_vector" > -#else > -#define FEATURES_PVH /* Not supported */ > -#endif > > __INIT > ENTRY(startup_xen) > @@ -104,7 +96,11 @@ NEXT_HYPERCALL(arch_6) > #endif > ELFNOTE(Xen, XEN_ELFNOTE_ENTRY, _ASM_PTR startup_xen) > ELFNOTE(Xen, XEN_ELFNOTE_HYPERCALL_PAGE, _ASM_PTR > hypercall_page) > - ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz > "!writable_page_tables|pae_pgdir_above_4gb"FEATURES_PVH) +#ifdef > CONFIG_XEN_X86_PVH > + ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz > "!writable_page_tables|pae_pgdir_above_4gb|writable_descriptor_tables|auto_translated_physmap|supervisor_mode_kernel|hvm_callback_vector") > +#else > + ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz > "!writable_page_tables|pae_pgdir_above_4gb")+#endif > ELFNOTE(Xen, XEN_ELFNOTE_PAE_MODE, .asciz "yes") > ELFNOTE(Xen, XEN_ELFNOTE_LOADER, .asciz "generic") > ELFNOTE(Xen, XEN_ELFNOTE_L1_MFN_VALID, > -- > 1.7.2.3 > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel >