Hi Guys,
I've mad a fair bit of progress (for me!!) on the EPIA-N(L)/CN400 build.
I've got to within a Gnat's proverbial of getting a linux distro to boot.
I'm still missing something to get the IRQs through to the CPU, or at least I think that's what's going on.
Below are the initial debug/info messages from the kernel (up to the first point where things look suspicious i.e. Timer not connected to IOAPIC).
Up to this point things look (almost)identical to the dmesg when booting from Award.
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
Initializing cgroup subsys cpuset Initializing cgroup subsys cpu Linux version 2.6.25-14.fc9.i686 (mockbuild@) (gcc version 4.3.0 20080428 (Red Hat 4.3.0-8) (GCC) ) #1 SMP Thu May 1 06:28:41 EDT 20 08 BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 0000000000001000 type 16 BIOS-e820: 0000000000001000 - 00000000000a0000 (usable) BIOS-e820: 0000000000100000 - 000000003bff0000 (usable) BIOS-e820: 000000003bff0000 - 000000003c000000 type 16 BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved) BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved) 63MB HIGHMEM available. 896MB LOWMEM available. Scan SMP from c0000000 for 1024 bytes. Scan SMP from c009fc00 for 1024 bytes. Scan SMP from c00f0000 for 65536 bytes. Using x86 segment limits to approximate NX protection Entering add_active_range(0, 0, 245744) 0 entries of 256 used Zone PFN ranges: DMA 0 -> 4096 Normal 4096 -> 229376 HighMem 229376 -> 245744 Movable zone start PFN for each node early_node_map[1] active PFN ranges 0: 0 -> 245744 On node 0 totalpages: 245744 DMA zone: 32 pages used for memmap DMA zone: 0 pages reserved DMA zone: 4064 pages, LIFO batch:0 Normal zone: 1760 pages used for memmap Normal zone: 223520 pages, LIFO batch:31 HighMem zone: 127 pages used for memmap HighMem zone: 16241 pages, LIFO batch:3 Movable zone: 0 pages used for memmap DMI not present or invalid. Using APIC driver default ACPI: RSDP 000F0400, 0024 (r2 CORE ) ACPI: RSDT 3BFF0424, 002C (r1 CORE RSDT 0 CORE 0) ACPI: FACP 3BFF14C1, 00F4 (r4 COREBO COREBOOT 0 CORE 2A) ACPI: DSDT 3BFF04C0, 1001 (r1 CBT-V2 CBT-DSDT 1 INTL 20061109) ACPI: FACS 3BFF0480, 0040 ACPI: APIC 3BFF15B5, 005A (r1 CORE MADT 0 CORE 0) ACPI: no DMI BIOS year, acpi=force is required to enable ACPI ACPI: acpi=force override ACPI: PM-Timer IO Port: 0x408 ACPI: Local APIC address 0xfee00000 ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled) Processor #0 6:9 APIC version 17 ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1]) ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0]) IOAPIC[0]: apic_id 2, version 3, address 0xfec00000, GSI 0-23 ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level) ACPI: IRQ0 used by override. ACPI: IRQ2 used by override. ACPI: IRQ9 used by override. Enabling APIC mode: Flat. Using 1 I/O APICs Using ACPI (MADT) for SMP configuration information Allocating PCI resources starting at 40000000 (gap: 3c000000:c2c00000) PM: Registered nosave memory: 00000000000a0000 - 0000000000100000 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 243825 Kernel command line: ro root=/dev/sda5 acpi=force console=ttyS0,115200n8 debug mapped APIC to ffffb000 (fee00000) mapped IOAPIC to ffffa000 (fec00000) Enabling fast FPU save and restore... done. Enabling unmasked SIMD FPU exception support... done. Initializing CPU#0 CPU 0 irqstacks, hard=c07b9000 soft=c0799000 PID hash table entries: 4096 (order: 12, 16384 bytes) Detected 800.042 MHz processor. Console: colour VGA+ 80x25 console [ttyS0] enabled Dentry cache hash table entries: 131072 (order: 7, 524288 bytes) Inode-cache hash table entries: 65536 (order: 6, 262144 bytes) Memory: 966672k/982976k available (2236k kernel code, 15640k reserved, 1121k data, 284k init, 65472k highmem) virtual kernel memory layout: fixmap : 0xffc53000 - 0xfffff000 (3760 kB) pkmap : 0xff400000 - 0xff800000 (4096 kB) vmalloc : 0xf8800000 - 0xff3fe000 ( 107 MB) lowmem : 0xc0000000 - 0xf8000000 ( 896 MB) .init : 0xc074f000 - 0xc0796000 ( 284 kB) .data : 0xc062f37d - 0xc0747800 (1121 kB) .text : 0xc0400000 - 0xc062f37d (2236 kB) Checking if this processor honours the WP bit even in supervisor mode...Ok. CPA: page pool initialized 1 of 1 pages preallocated SLUB: Genslabs=12, HWalign=32, Order=0-1, MinObjects=4, CPUs=1, Nodes=1 Calibrating delay using timer specific routine.. 1602.08 BogoMIPS (lpj=801043) Security Framework initialized SELinux: Initializing. SELinux: Starting in permissive mode selinux_register_security: Registering secondary module capability Capability LSM initialized as secondary Mount-cache hash table entries: 512 Initializing cgroup subsys ns Initializing cgroup subsys cpuacct CPU: L1 I Cache: 64K (32 bytes/line), D cache 64K (32 bytes/line) CPU: L2 Cache: 64K (32 bytes/line) Compat vDSO mapped to ffffe000. Checking 'hlt' instruction... OK. SMP alternatives: switching to UP code Freeing SMP alternatives: 20k freed ACPI: Core revision 20070126 CPU0: Centaur VIA Nehemiah stepping 0a Total of 1 processors activated (1602.08 BogoMIPS). ENABLING IO-APIC IRQs ..TIMER: vector=0x31 apic1=0 pin1=2 apic2=-1 pin2=-1 ..MP-BIOS bug: 8254 timer not connected to IO-APIC <<------- Whoops !!! ...trying to set up timer (IRQ0) through the 8259A ... failed. ...trying to set up timer as Virtual Wire IRQ... works. <<------- Hmm I thought I'd done this ? Brought up 1 CPUs
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
I guess either the timer's not running or the IOAPIC setup is wrong somehow.
I don't understand how the timer IRQ/IOAPIC relationship is defined, is this just hardwired as part of the PC-AT / IA32 architecture ?
Anyway (having previously seem that my pci irq fixups in CBOOT seem to have worked OK) I can see that the PCI routing Table is also as expected::
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
ACPI FADT declares the system doesn't support MSI, so disable it ACPI: bus type pci registered PCI: Using configuration type 1 Setting up standard PCI resources ACPI: EC: Look up EC in DSDT ACPI: Interpreter enabled ACPI: (supports S0 S5) ACPI: Using IOAPIC for interrupt routing ACPI: PCI Root Bridge [PCI0] (0000:00) ACPI: PCI Interrupt Routing Table [_SB_.PCI0._PRT] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 6 7 *10 11 12) ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 6 7 10 *11 12) ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 6 7 10 11 *12) ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 6 7 10 *11 12), disabled. ACPI: PCI Interrupt Link [ATAI] (IRQs *20) ACPI: PCI Interrupt Link [USBI] (IRQs *21) ACPI: PCI Interrupt Link [VT8I] (IRQs *22) ACPI: PCI Interrupt Link [NICI] (IRQs *23)
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
ACPI: PCI Interrupt Link [USBI] enabled at IRQ 21 ACPI: PCI Interrupt 0000:00:10.4[C] -> Link [USBI] -> GSI 21 (level, low) -> IRQ 21 ehci_hcd 0000:00:10.4: EHCI Host Controller ehci_hcd 0000:00:10.4: new USB bus registered, assigned bus number 1 ehci_hcd 0000:00:10.4: irq 21, io mem 0xfebffd00 ehci_hcd 0000:00:10.4: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004 usb usb1: configuration #1 chosen from 1 choice hub 1-0:1.0: USB hub found hub 1-0:1.0: 8 ports detected usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb1: Product: EHCI Host Controller usb usb1: Manufacturer: Linux 2.6.25-14.fc9.i686 ehci_hcd usb usb1: SerialNumber: 0000:00:10.4 Loading ohci-hcdohci_hcd: 2006 August 04 USB 1.1 'Open' Host Controller (OHCI) Driver <<--- Hmm a bit scrambled module Loading uhci-hcdUSB Universal Host Controller Interface driver v3.0 module ACPI: PCI Interrupt 0000:00:10.0[A] -> Link [USBI] -> GSI 21 (level, low) -> IRQ 21 uhci_hcd 0000:00:10.0: UHCI Host Controller uhci_hcd 0000:00:10.0: new USB bus registered, assigned bus number 2 uhci_hcd 0000:00:10.0: irq 21, io base 0x00001000 usb usb2: configuration #1 chosen from 1 choice hub 2-0:1.0: USB hub found hub 2-0:1.0: 2 ports detected usb usb2: New USB device found, idVendor=1d6b, idProduct=0001 usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb2: Product: UHCI Host Controller usb usb2: Manufacturer: Linux 2.6.25-14.fc9.i686 uhci_hcd usb usb2: SerialNumber: 0000:00:10.0 [snip]
uhci_hcd 0000:00:10.0: Unlink after no-IRQ? Controller is probably using the wrong IRQ. <<---- Whoops !!
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
Hence my conclusion that there is still some link I am missing. How does the irq_tables relate to all of this ? The Award BIOS includes an MPTable, is this likely to be significant ?
Any help appreciated .
Thanks, Jon SELEX Sensors and Airborne Systems Limited Registered Office: Sigma House, Christopher Martin Road, Basildon, Essex SS14 3EL A company registered in England & Wales. Company no. 02426132 ******************************************************************** This email and any attachments are confidential to the intended recipient and may also be privileged. If you are not the intended recipient please delete it from your system and notify the sender. You should not copy it or use it for any purpose nor disclose or distribute its contents to any other person. ********************************************************************