Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 3 Dec 2014 14:47:34 +0100
From:      =?windows-1252?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>
To:        "David P. Discher" <dpd@dpdtech.com>
Cc:        freebsd-xen@freebsd.org
Subject:   Re: Attempting to Get Xen FreeBSD Dom0 working
Message-ID:  <547F1476.8080305@citrix.com>
In-Reply-To: <DCB954B5-0E45-4DE6-AAC4-C5ACF7FD90A7@dpdtech.com>
References:  <481F7D02-BFE9-4E35-A475-5A8A05A801CE@dpdtech.com> <547DFCC0.6030003@citrix.com> <DCB954B5-0E45-4DE6-AAC4-C5ACF7FD90A7@dpdtech.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hello,

El 02/12/14 a les 22.26, David P. Discher ha escrit:
> On Dec 2, 2014, at 9:54 AM, Roger Pau Monné <roger.pau@citrix.com> wrote:

<SNIP>

> 
> Below is the boot. One thing I’m not getting, is serial output from the Xen kernel. The IPMI SOL is on 0x3e8 (com3), and using com3 doesn’t seem to get the xen kernel to output anything.

You can try using the following::

com1=115200,8n1,0x3e8 console=com1

> Can you or someone point me to how to get the line numbers ?  Since this is panic-ing before swap on/dumpon … I’m not sure out to get the dump and load into kgdb with the symbols.  My guess is that I need to use remote debugging to do this. 

You can do it with nm and addr2line, but I don't think I need those any
more, thanks :).

> 
> OK load /boot/xen
> /boot/xen data=0x1dc260+0x4dda0 /
> OK load kernel
> /boot/kernel/kernel size=0x149f35d
> OK load zfs
> /boot/kernel/zfs.ko size 0x2f3d90 at 0x185c000
> loading required module 'opensolaris'
> /boot/kernel/opensolaris.ko size 0xdff0 at 0x1b50000
> OK load if_tap
> /boot/kernel/if_tap.ko size 0xa6a8 at 0x1b5e000
> OK boot
> Booting...
> GDB: no debug ports present
> KDB: debugger backends: ddb
> KDB: current backend: ddb
> SMAP type=01 base=0000000000000000 len=0000000000099400
> SMAP type=02 base=0000000000099400 len=0000000000006c00
> SMAP type=02 base=00000000000e0000 len=0000000000020000
> SMAP type=01 base=0000000000100000 len=000000007ff66000
> SMAP type=09 base=00000000df78e000 len=0000000000002000
> SMAP type=03 base=00000000df790000 len=000000000000e000
> SMAP type=04 base=00000000df79e000 len=0000000000032000
> SMAP type=02 base=00000000df7d0000 len=0000000000010000
> SMAP type=02 base=00000000df7ec000 len=0000000010814000
> SMAP type=02 base=00000000fee00000 len=0000000000001000
> SMAP type=02 base=00000000ffc00000 len=0000000000400000
> Table 'FACP' at 0xdf790290
> Table 'APIC' at 0xdf790390
> APIC: Found table at 0xdf790390
> APIC: Using the Xen PV enumerator.
> SMP: Added CPU 0 (BSP)
> SMP: Added CPU 2 (AP)
> SMP: Added CPU 4 (AP)
> SMP: Added CPU 6 (AP)
> Copyright (c) 1992-2014 The FreeBSD Project.
> Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
> 	The Regents of the University of California. All rights reserved.
> FreeBSD is a registered trademark of The FreeBSD Foundation.
> FreeBSD 11.0-CURRENT #1 6039027(pvh_dom0_v8): Tue Dec  2 04:26:58 UTC 2014
>     root@borg.dpdtech.com:/usr/obj/usr/src/sys/GENERIC amd64
> FreeBSD clang version 3.4.1 (tags/RELEASE_34/dot1-final 208032) 20140512
> WARNING: WITNESS option enabled, expect reduced performance.
> Preloaded elf multiboot kernel "/boot/xen" at 0xffffffff81bf4000.
> Preloaded elf kernel "/boot/kernel/kernel" at 0xffffffff81bf4168.
> Preloaded elf obj module "/boot/kernel/zfs.ko" at 0xffffffff81bf4240.
> Preloaded elf obj module "/boot/kernel/opensolaris.ko" at 0xffffffff81bf4a68.
> Preloaded elf obj module "/boot/kernel/if_tap.ko" at 0xffffffff81bf5098.
> Hypervisor: Origin = "XenVMMXenVMM"
> Calibrating TSC clock ... TSC clock: 2400007932 Hz
> CPU: Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz (2400.01-MHz K8-class CPU)
>   Origin="GenuineIntel"  Id=0x206c2  Family=0x6  Model=0x2c  Stepping=2
>   Features=0x1fcbebff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT>
>   Features2=0x82982283<SSE3,PCLMULQDQ,EST,SSSE3,CX16,SSE4.1,SSE4.2,POPCNT,AESNI,HV>
>   AMD Features=0x20100800<SYSCALL,NX,LM>
>   AMD Features2=0x1<LAHF>
>   TSC: P-state invariant, performance statistics
> Data TLB: 4 KB pages, 4-way set associative, 64 entries
> L2 cache: 256 kbytes, 8-way associative, 64 bytes/line
> real memory  = 2147901440 (2048 MB)
> Physical memory chunk(s):
> 0x0000000000010000 - 0x0000000000098fff, 561152 bytes (137 pages)
> 0x0000000000100000 - 0x00000000001fffff, 1048576 bytes (256 pages)
> 0x000000000234b000 - 0x000000007cbd9fff, 2055794688 bytes (501903 pages)
> avail memory = 2032517120 (1938 MB)
> INTR: Adding local APIC 2 as a target
> INTR: Adding local APIC 4 as a target
> INTR: Adding local APIC 6 as a target
> FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
> FreeBSD/SMP: 1 package(s) x 4 core(s)
>  cpu0 (BSP): APIC ID:  0
>  cpu1 (AP): APIC ID:  2
>  cpu2 (AP): APIC ID:  4
>  cpu3 (AP): APIC ID:  6
> x86bios:  IVT 0x000000-0x0004ff at 0xfffff80000000000
> x86bios: SSEG 0x098000-0x098fff at 0xfffffe007b7f8000
> x86bios:  ROM 0x0a0000-0x0fefff at 0xfffff800000a0000
> random device not loaded; using insecure entropy
> ULE: setup cpu 0
> ULE: setup cpu 1
> ULE: setup cpu 2
> ULE: setup cpu 3
> Xen interrupt system initialized
> Table 'FACP' at 0xdf790290
> Table 'APIC' at 0xdf790390
> APIC: Found table at 0xdf790390
> ACPI: RSDP 0x00000000000FAAB0 000024 (v02 ACPIAM)
> ACPI: XSDT 0x00000000DF790100 00007C (v01 SMCI            20100917 MSFT 00000097)
> ACPI: FACP 0x00000000DF790290 0000F4 (v03 091710 FACP1846 20100917 MSFT 00000097)
> ACPI BIOS Warning (bug): 32/64X length mismatch in FADT/Gpe0Block: 128/64 (20140926/tbfadt-646)
> ACPI: DSDT 0x00000000DF790630 0066F5 (v01 10009  10009000 00000000 INTL 20051117)
> ACPI: FACS 0x00000000DF79E000 000040
> ACPI: APIC 0x00000000DF790390 0000D2 (v01 091710 APIC1846 20100917 MSFT 00000097)
> ACPI: MCFG 0x00000000DF790470 00003C (v01 091710 OEMMCFG  20100917 MSFT 00000097)
> ACPI: OEMB 0x00000000DF79E040 00007B (v01 091710 OEMB1846 20100917 MSFT 00000097)
> ACPI: HPET 0x00000000DF79A630 000038 (v01 091710 OEMHPET  20100917 MSFT 00000097)
> ACPI: XMAR 0x00000000DF79E0C0 000128 (v01 AMI    OEMDMAR  00000001 MSFT 00000097)
> ACPI: SSDT 0x00000000DF7A0040 000363 (v01 DpgPmm CpuPm    00000012 INTL 20051117)
> ACPI: EINJ 0x00000000DF79A670 000130 (v01 AMIER  AMI_EINJ 20100917 MSFT 00000097)
> ACPI: BERT 0x00000000DF79A800 000030 (v01 AMIER  AMI_BERT 20100917 MSFT 00000097)
> ACPI: ERST 0x00000000DF79A830 0001B0 (v01 AMIER  AMI_ERST 20100917 MSFT 00000097)
> ACPI: HEST 0x00000000DF79A9E0 0000A8 (v01 AMIER  ABC_HEST 20100917 MSFT 00000097)
> MADT: Interrupt override: source 0, irq 2
> xen: register IRQ#2
> MADT: Interrupt override: source 9, irq 20
> xen: register IRQ#20
> cpu0 BSP XEN PV LAPIC
> snd_unit_init() u=0x00ff8000 [512] d=0x00007c00 [32] c=0x000003ff [1024]
> feeder_register: snd_unit=-1 snd_maxautovchans=16 latency=5 feeder_rate_min=1 feeder_rate_max=2016000 feeder_rate_round=25
> wlan: <802.11 Link Layer>
> Hardware, Intel Secure Key RNG: RDRAND is not present
> Hardware, VIA Nehemiah Padlock RNG: VIA Padlock RNG not present
> kbd: new array size 4
> kbd1 at kbdmux0
> mem: <memory>
> nfslock: pseudo-device
> null: <full device, null device, zero device>
> Falling back to <Software, Yarrow> random adaptor
> random: <Software, Yarrow> initialized
> VESA: calling BIOS POST
> module_register_init: MOD_LOAD (vesa, 0xffffffff80dac160, 0) error 6
> io: <I/O>
> VMBUS: load
> hptrr: RocketRAID 17xx/2xxx SATA controller driver v1.2
> hptnr: R750/DC7280 controller driver v1.0.1
> hpt27xx: RocketRAID 27xx controller driver v1.1
> xenpv0: <Xen PV bus> on motherboard
> Grant table initialized
> xc0: <Xen Console> on xenpv0
> xen_et0: <Xen PV Clock> on xenpv0
> Event timer "XENTIMER" frequency 1000000000 Hz quality 950
> Timecounter "XENTIMER" frequency 1000000000 Hz quality 950
> xen_et0: registered as a time-of-day clock (resolution 10000000us, adjustment 5.000000000s)
> pvcpu0: <Xen PV CPU> on xenpv0
> pvcpu1: <Xen PV CPU> on xenpv0
> pvcpu2: <Xen PV CPU> on xenpv0
> pvcpu3: <Xen PV CPU> on xenpv0
> xenstore0: <XenStore> on xenpv0
> xsd_dev0: <Xenstored user-space device> on xenpv0
> evtchn0: <Xen event channel user-space device> on xenpv0
> privcmd0: <Xen privileged interface user-space device> on xenpv0
> isa0: <ISA bus> on xenpv0
> acpi0: <SMCI > on motherboard
> ACPI: All ACPI Tables successfully acquired
> PCIe: Memory Mapped configuration base @ 0xe0000000
> acpi0: could not allocate interrupt
> ACPI Exception: AE_ALREADY_EXISTS, Unable to install System Control Interrupt handler (20140926/evevent-152)
> acpi0: Could not enable ACPI: AE_ALREADY_EXISTS

This looks very suspicious, ACPI fails to initialize. Could you also
provide the boot log of the same system booting with boot_verbose
without Xen?

> device_attach: acpi0 attach returned 6
> qpi0: <QPI system bus> on motherboard
> pcib0: <QPI Host-PCI bridge> pcibus 255 on qpi0
> pci255: <Xen PCI bus> on pcib0
> pci255: domain=0, physical bus=255
> found->	vendor=0x8086, dev=0x2c70, revid=0x02
> 	domain=0, bus=255, slot=0, func=0
> 	class=06-00-00, hdrtype=0x00, mfdev=1
> 	cmdreg=0x0006, statreg=0x0000, cachelnsz=0 (dwords)
> 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
> found->	vendor=0x8086, dev=0x2d81, revid=0x02
> 	domain=0, bus=255, slot=0, func=1
> 	class=06-00-00, hdrtype=0x00, mfdev=1
> 	cmdreg=0x0006, statreg=0x0000, cachelnsz=0 (dwords)
> 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
> found->	vendor=0x8086, dev=0x2d90, revid=0x02
> 	domain=0, bus=255, slot=2, func=0
> 	class=06-00-00, hdrtype=0x00, mfdev=1
> 	cmdreg=0x0006, statreg=0x0000, cachelnsz=0 (dwords)
> 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
> found->	vendor=0x8086, dev=0x2d91, revid=0x02
> 	domain=0, bus=255, slot=2, func=1
> 	class=06-00-00, hdrtype=0x00, mfdev=1
> 	cmdreg=0x0006, statreg=0x0000, cachelnsz=0 (dwords)
> 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
> found->	vendor=0x8086, dev=0x2d92, revid=0x02
> 	domain=0, bus=255, slot=2, func=2
> 	class=06-00-00, hdrtype=0x00, mfdev=1
> 	cmdreg=0x0006, statreg=0x0000, cachelnsz=0 (dwords)
> 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
> found->	vendor=0x8086, dev=0x2d93, revid=0x02
> 	domain=0, bus=255, slot=2, func=3
> 	class=06-00-00, hdrtype=0x00, mfdev=1
> 	cmdreg=0x0006, statreg=0x0000, cachelnsz=0 (dwords)
> 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
> found->	vendor=0x8086, dev=0x2d94, revid=0x02
> 	domain=0, bus=255, slot=2, func=4
> 	class=06-00-00, hdrtype=0x00, mfdev=1
> 	cmdreg=0x0006, statreg=0x0000, cachelnsz=0 (dwords)
> 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
> found->	vendor=0x8086, dev=0x2d95, revid=0x02
> 	domain=0, bus=255, slot=2, func=5
> 	class=06-00-00, hdrtype=0x00, mfdev=1
> 	cmdreg=0x0006, statreg=0x0000, cachelnsz=0 (dwords)
> 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
> found->	vendor=0x8086, dev=0x2d98, revid=0x02
> 	domain=0, bus=255, slot=3, func=0
> 	class=06-00-00, hdrtype=0x00, mfdev=1
> 	cmdreg=0x0006, statreg=0x0000, cachelnsz=0 (dwords)
> 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
> found->	vendor=0x8086, dev=0x2d99, revid=0x02
> 	domain=0, bus=255, slot=3, func=1
> 	class=06-00-00, hdrtype=0x00, mfdev=1
> 	cmdreg=0x0006, statreg=0x0000, cachelnsz=0 (dwords)
> 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
> found->	vendor=0x8086, dev=0x2d9a, revid=0x02
> 	domain=0, bus=255, slot=3, func=2
> 	class=06-00-00, hdrtype=0x00, mfdev=1
> 	cmdreg=0x0006, statreg=0x0000, cachelnsz=0 (dwords)
> 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
> found->	vendor=0x8086, dev=0x2d9c, revid=0x02
> 	domain=0, bus=255, slot=3, func=4
> 	class=06-00-00, hdrtype=0x00, mfdev=1
> 	cmdreg=0x0006, statreg=0x0000, cachelnsz=0 (dwords)
> 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
> found->	vendor=0x8086, dev=0x2da0, revid=0x02
> 	domain=0, bus=255, slot=4, func=0
> 	class=06-00-00, hdrtype=0x00, mfdev=1
> 	cmdreg=0x0006, statreg=0x0000, cachelnsz=0 (dwords)
> 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
> found->	vendor=0x8086, dev=0x2da1, revid=0x02
> 	domain=0, bus=255, slot=4, func=1
> 	class=06-00-00, hdrtype=0x00, mfdev=1
> 	cmdreg=0x0006, statreg=0x0000, cachelnsz=0 (dwords)
> 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
> found->	vendor=0x8086, dev=0x2da2, revid=0x02
> 	domain=0, bus=255, slot=4, func=2
> 	class=06-00-00, hdrtype=0x00, mfdev=1
> 	cmdreg=0x0006, statreg=0x0000, cachelnsz=0 (dwords)
> 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
> found->	vendor=0x8086, dev=0x2da3, revid=0x02
> 	domain=0, bus=255, slot=4, func=3
> 	class=06-00-00, hdrtype=0x00, mfdev=1
> 	cmdreg=0x0006, statreg=0x0000, cachelnsz=0 (dwords)
> 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
> found->	vendor=0x8086, dev=0x2da8, revid=0x02
> 	domain=0, bus=255, slot=5, func=0
> 	class=06-00-00, hdrtype=0x00, mfdev=1
> 	cmdreg=0x0006, statreg=0x0000, cachelnsz=0 (dwords)
> 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
> found->	vendor=0x8086, dev=0x2da9, revid=0x02
> 	domain=0, bus=255, slot=5, func=1
> 	class=06-00-00, hdrtype=0x00, mfdev=1
> 	cmdreg=0x0006, statreg=0x0000, cachelnsz=0 (dwords)
> 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
> found->	vendor=0x8086, dev=0x2daa, revid=0x02
> 	domain=0, bus=255, slot=5, func=2
> 	class=06-00-00, hdrtype=0x00, mfdev=1
> 	cmdreg=0x0006, statreg=0x0000, cachelnsz=0 (dwords)
> 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
> found->	vendor=0x8086, dev=0x2dab, revid=0x02
> 	domain=0, bus=255, slot=5, func=3
> 	class=06-00-00, hdrtype=0x00, mfdev=1
> 	cmdreg=0x0006, statreg=0x0000, cachelnsz=0 (dwords)
> 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
> found->	vendor=0x8086, dev=0x2db0, revid=0x02
> 	domain=0, bus=255, slot=6, func=0
> 	class=06-00-00, hdrtype=0x00, mfdev=1
> 	cmdreg=0x0006, statreg=0x0000, cachelnsz=0 (dwords)
> 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
> found->	vendor=0x8086, dev=0x2db1, revid=0x02
> 	domain=0, bus=255, slot=6, func=1
> 	class=06-00-00, hdrtype=0x00, mfdev=1
> 	cmdreg=0x0006, statreg=0x0000, cachelnsz=0 (dwords)
> 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
> found->	vendor=0x8086, dev=0x2db2, revid=0x02
> 	domain=0, bus=255, slot=6, func=2
> 	class=06-00-00, hdrtype=0x00, mfdev=1
> 	cmdreg=0x0006, statreg=0x0000, cachelnsz=0 (dwords)
> 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
> found->	vendor=0x8086, dev=0x2db3, revid=0x02
> 	domain=0, bus=255, slot=6, func=3
> 	class=06-00-00, hdrtype=0x00, mfdev=1
> 	cmdreg=0x0006, statreg=0x0000, cachelnsz=0 (dwords)
> 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
> 
> 
> Fatal trap 12: page fault while in kernel mode
> cpuid = 0; apic id = 00
> fault virtual address	= 0x18
> fault code		= supervisor read data, page not present
> instruction pointer	= 0x20:0xffffffff803376f1
> stack pointer	        = 0x28:0xffffffff823228d0
> frame pointer	        = 0x28:0xffffffff82322940
> code segment		= base 0x0, limit 0xfffff, type 0x1b
> 			= DPL 0, pres 1, long 1, def32 0, gran 1
> processor eflags	= interrupt enabled, resume, IOPL = 0
> current process		= 0 (swapper)
> [ thread pid 0 tid 100000 ]
> Stopped at      AcpiNsWalkNamespace+0x31:       movq    0x18(%rsi),%rax
> db>

The good news is that I think I have a patch that solves this, but I'm
afraid we will also have to debug the ACPI error shown above in order to
get your system to a working state.

Could you please try the following patch on top of my pvh_dom0_v8 branch?

https://people.freebsd.org/~royger/xen_pci.patch

Roger.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?547F1476.8080305>