Hello,
I'm using Xen 4.0.0 compiled from source with the 2.6.31.13 kernel
that it pulls down on its own. I added support for the aacraid driver
to the kernel using 'make menuconfig' from the
build-linux-2.6-pvops_x86_64 subdirectory, and then built and
installed the whole thing using 'make install' from the xen-4.0.0
directory. I compiled this support natively, so I am not using an
initrd. I'm fairly confident that I've compiled the kernel correctly
because it boots without Xen. With Xen, I am unable to boot fully
because the linux kernel gets stuck because it has no root filesystem.
This I surmise is because the aacraid driver is not initializing
correctly.
I logged the linux kernel messages via the serial port both with and
without Xen, and narrowed down the first disk-related difference
between them.
WORKING, NON-XEN:
[ 3.141977] Adaptec aacraid driver 1.1-5[2461]-ms
[ 3.146768] aacraid 0000:02:0e.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
[ 3.155385] IRQ 18/aacraid: IRQF_DISABLED is not guaranteed on shared IRQs
[ 3.352307] AAC0: kernel 5.2-0[15323] Sep 21 2007
[ 3.357084] AAC0: monitor 5.2-0[15323]
[ 3.360905] AAC0: bios 5.2-0[15323]
[ 3.364466] AAC0: serial 7C3110F43BB
[ 3.368113] AAC0: Non-DASD support enabled.
[ 3.372366] AAC0: 64bit support enabled.
[ 3.376360] AAC0: 64 Bit DAC enabled
[ 3.387168] scsi0 : aacraid
[ 3.390319] scsi 0:0:1:0: Direct-Access Adaptec ArraySAS
V1.0 PQ: 0 ANSI: 2
[ 3.404997] scsi 0:1:0:0: Direct-Access FUJITSU MAX3147RC
0104 PQ: 0 ANSI: 3
BROKEN, WITH-XEN:
[ 3.424099] Adaptec aacraid driver 1.1-5[2461]-ms
[ 3.428901] xen_set_ioapic_routing: irq 18 gsi 18 vector 18 ioapic
0 pin 18 triggering 1 polarity 1
[ 3.438085] aacraid 0000:02:0e.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
[ 3.447573] IRQ 18/aacraid: IRQF_DISABLED is not guaranteed on shared IRQs
[ 3.644349] AAC0: kernel 5.2-0[15323] Sep 21 2007
[ 3.649161] AAC0: monitor 5.2-0[15323]
[ 3.653013] AAC0: bios 5.2-0[15323]
[ 3.656602] AAC0: serial 7C3110F43BB
[ 3.660277] AAC0: Non-DASD support enabled.
[ 3.664560] AAC0: 64bit support enabled.
[ 3.668557] AAC0: 64 Bit DAC enabled
[ 3.679626] scsi0 : aacraid
[ 3.683518] scsi 0:0:1:0: Direct-Access Adaptec ArraySAS
V1.0 PQ: 0 ANSI: 2
[ 3.700562] scsi scan: INQUIRY result too short (5), using 36
[ 3.706381] scsi 0:1:0:0: Direct-Access
PQ: 0 ANSI: 0
For some reason if I enable serial output for the Xen kernel then it
prevents the linux kernel's serial messages from appearing. Thus,
these Xen bootup messages are from a different boot (not sure why it
would matter), but the failure mode is identical:
__ __ _ _ ___ ___
\ \/ /___ _ __ | || | / _ \ / _ \
\ // _ \ '_ \ | || |_| | | | | | |
/ \ __/ | | | |__ _| |_| | |_| |
/_/\_\___|_| |_| |_|(_)___(_)___/
(XEN) Xen version 4.0.0 (root@) (gcc version 4.3.2 (Debian 4.3.2-1.1)
) Tue Apr 13 09:08:06 EDT 2010
(XEN) Latest ChangeSet: unavailable
(XEN) Command line: iommu=1 com1=115200,8n1 console=com1,vga
(XEN) Video information:
(XEN) VGA is text mode 80x25, font 8x16
(XEN) VBE/DDC methods: V2; EDID transfer time: 1 seconds
(XEN) Disc information:
(XEN) Found 1 MBR signatures
(XEN) Found 1 EDD information structures
(XEN) Xen-e820 RAM map:
(XEN) 0000000000000000 - 000000000009c400 (usable)
(XEN) 000000000009c400 - 00000000000a0000 (reserved)
(XEN) 00000000000e8000 - 0000000000100000 (reserved)
(XEN) 0000000000100000 - 00000000db7ad440 (usable)
(XEN) 00000000db7ad440 - 00000000db7af4a0 (ACPI NVS)
(XEN) 00000000db7af4a0 - 00000000e0000000 (reserved)
(XEN) 00000000f4000000 - 00000000f8000000 (reserved)
(XEN) 00000000fe000000 - 00000000fed40000 (reserved)
(XEN) 00000000fed45000 - 0000000100000000 (reserved)
(XEN) 0000000100000000 - 00000001fc000000 (usable)
(XEN) 00000001fc000000 - 0000000200000000 (reserved)
(XEN) 0000000200000000 - 000000021c000000 (usable)
(XEN) ACPI: RSDP 000E5410, 0014 (r0 COMPAQ)
(XEN) ACPI: RSDT DB7D1540, 0044 (r1 HPQOEM SLIC-BPC 20091216 0)
(XEN) ACPI: FACP DB7D15E8, 0074 (r1 COMPAQ IBEXPEAK 1 0)
(XEN) ACPI Warning (tbfadt-0444): Optional field "Pm2ControlBlock" has
zero address or length: 0000000000000050/0 [20070126]
(XEN) ACPI: DSDT DB7D1A4F, A606 (r1 COMPAQ DSDT_PRJ 1 MSFT 100000E)
(XEN) ACPI: FACS DB7D1500, 0040
(XEN) ACPI: APIC DB7D165C, 00BC (r1 COMPAQ IBEXPEAK 1 0)
(XEN) ACPI: ASF! DB7D1718, 0063 (r32 COMPAQ IBEXPEAK 1 0)
(XEN) ACPI: MCFG DB7D177B, 003C (r1 COMPAQ IBEXPEAK 1 0)
(XEN) ACPI: TCPA DB7D17B7, 0032 (r1 COMPAQ IBEXPEAK 1 0)
(XEN) ACPI: SLIC DB7D17E9, 0176 (r1 HPQOEM SLIC-BPC 1 0)
(XEN) ACPI: HPET DB7D195F, 0038 (r1 COMPAQ IBEXPEAK 1 0)
(XEN) ACPI: DMAR DB7D1997, 00B8 (r1 COMPAQ IBEXPEAK 1 0)
(XEN) System RAM: 7964MB (8156060kB)
(XEN) Domain heap initialised
(XEN) Processor #0 6:5 APIC version 21
(XEN) Processor #1 6:5 APIC version 21
(XEN) Processor #4 6:5 APIC version 21
(XEN) Processor #5 6:5 APIC version 21
(XEN) IOAPIC[0]: apic_id 1, version 32, address 0xfec00000, GSI 0-23
(XEN) Enabling APIC mode: Flat. Using 1 I/O APICs
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Detected 3457.923 MHz processor.
(XEN) Initing memory sharing.
(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) - Unrestricted Guest
(XEN) HVM: ASIDs enabled.
(XEN) HVM: VMX enabled
(XEN) HVM: Hardware Assisted Paging detected.
(XEN) Intel VT-d Snoop Control not supported.
(XEN) Intel VT-d DMA Passthrough not supported.
(XEN) Intel VT-d Queued Invalidation not supported.
(XEN) Intel VT-d Interrupt Remapping not supported.
(XEN) I/O virtualisation enabled
(XEN) I/O virtualisation for PV guests disabled
(XEN) Enabled directed EOI with ioapic_ack_old on!
(XEN) Total of 4 processors activated.
(XEN) ENABLING IO-APIC IRQs
(XEN) -> Using old ACK method
(XEN) TSC is reliable, synchronization unnecessary
(XEN) Platform timer is 14.318MHz HPET
ÿ(XEN) Brought up 4 CPUs
(XEN) [VT-D]iommu.c:818: iommu_fault_status: Faul
Yes, they stop like that. I don't know what Xen does to the serial
port but it appears to stop working. I can make a video of the screen
and manually harvest some more info if really necessary.
Do I need to change some setting somewhere to tell the system to give
the RAID card a little more time?
I am using 'iommu=1' on the Xen command line, but my understanding is
that such support is built into Xen 4.0 by default anyways. Is the
IOMMU breaking things? Seems very odd to me since this kernel works
fine without Xen.
The RAID card I'm using is a PCIe Adaptec SAS-3405. The machine is an
HP Elite 8100 minitower desktop PC.
Many thanks for any helpful hints or suggestions!
-Jon
_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users
|