Okay, finally managed to get the kernel panic out to go to the serial console, and I'm not sure what's going on. This happens with the ACPI base either at 0x400 or 0x500, with either a fixed factory dsdt or Rudolf's modified, or without any ACPI at all. This kernel boots with the factory BIOS, and another kernel (gentoo's genkernel) boots as far as registering the NIC before it hangs, with ACPI disabled (via acpi=off), but does the same thing as here with ACPI enabled. This kernel does the same thing, hang at NIC registration, with the noapic and nolapic parameters. Note the "No local APIC present or hardware disabled" line, although apic is enabled, as far as I can tell, in LinuxBIOS. I've also attached APIC.dsl, dumped out of the factory BIOS. Perhaps you can make something out of it? I'm lost.
Setting up local apic... apic_id: 0x00 done. CPU #0 Initialized PCI: 00:0a.0 init PCI: 00:10.4 init Devices initialized Copying IRQ routing tables to 0xf0000...done. Verifing copy of IRQ routing tables at 0xf0000...done Checking IRQ routing table consistency... check_pirq_routing_table() - irq_routing_table located at: 0x000f0000 done. ACPI: Writing ACPI tables at f0400... ACPI: * FACS ACPI: * DSDT @ 000f04a2 Length 58a0 ACPI: * FADT ACPI: added table 1/6 Length now 40 ACPI: done. Moving GDT to 0x500...ok Wrote linuxbios table at: 00000530 - 00000b68 checksum 9790
Welcome to elfboot, the open sourced starter. January 2002, Eric Biederman. Version 1.3
rom_stream: 0xfffd0000 - 0xfffe7fff Found ELF candidate at offset 0 header_offset is 0 Try to load at offset 0x0 malloc Enter, size 32, free_mem_ptr 00020538 malloc 0x00020538 New segment addr 0x100000 size 0x486e0 offset 0xc0 filesize 0xb268 (cleaned up) New segment addr 0x100000 size 0x486e0 offset 0xc0 filesize 0xb268 lb: [0x0000000000004000, 0x0000000000024000) malloc Enter, size 32, free_mem_ptr 00020558 malloc 0x00020558 New segment addr 0x1486e0 size 0x48 offset 0xb340 filesize 0x48 (cleaned up) New segment addr 0x1486e0 size 0x48 offset 0xb340 filesize 0x48 lb: [0x0000000000004000, 0x0000000000024000) Dropping non PT_LOAD segment Dropping non PT_LOAD segment Loading Segment: addr: 0x0000000000100000 memsz: 0x00000000000486e0 filesz: 0x000000000000b268 [ 0x0000000000100000, 000000000010b268, 0x00000000001486e0) <- 00000000000000c0 Clearing Segment: addr: 0x000000000010b268 memsz: 0x000000000003d478 Loading Segment: addr: 0x00000000001486e0 memsz: 0x0000000000000048 filesz: 0x0000000000000048 [ 0x00000000001486e0, 0000000000148728, 0x0000000000148728) <- 000000000000b340 Loaded segments verified segments closed down stream Jumping to boot code at 0x1091d4 entry = 0x001091d4 lb_start = 0x00004000 lb_size = 0x00020000 adjust = 0x1bfdc000 buffer = 0x1bfc0000 elf_boot_notes = 0x00019f40 adjusted_boot_notes = 0x1bff5f40 FILO version 0.5 (amp@ampmobile) Fri Sep 21 00:10:24 EDT 2007 boot: hda1:/vmlinuz root=/dev/hda2 ide=nodma console=ttyS0,115200 earlyprintk=ttyS0,115200 hda: LBA 2079MB: CF 2GB Mounted ext2fs Found Linux version 2.6.22-gentoo-r5 (root@carpc) #1 Thu Sep 20 19:52:09 EDT 2007 bzImage. Loading kernel... ok Jumping to entry point... Linux version 2.6.22-gentoo-r5 (root@carpc) (gcc version 4.1.2 (Gentoo 4.1.2 p1.0.1)) #1 Thu Sep 20 19:52:09 EDT 2007 BIOS-provided physical RAM map: BIOS-e820: 0000000000000bcc - 00000000000a0000 (usable) BIOS-e820: 0000000000100000 - 000000001c000000 (usable) 448MB LOWMEM available. Zone PFN ranges: DMA 0 -> 4096 Normal 4096 -> 114688 early_node_map[1] active PFN ranges 0: 0 -> 114688 DMI not present or invalid. ACPI: RSDP 000F0400, 0014 (r0 LXBIOS) ACPI: RSDT 000F0424, 0028 (r1 LXBIOS RSDT 0 NONE 0) ACPI: FACP 000F5D42, 00F4 (r1 LXBIOS LXBACPI 0 LXB 0) ACPI: DSDT 000F04A2, 58A0 (r1 CN700 AWRDACPI 1000 INTL 20060912) ACPI: FACS 000F0460, 0042 ACPI: PM-Timer IO Port: 0x508 Allocating PCI resources starting at 20000000 (gap: 1c000000:e4000000) Built 1 zonelists. Total pages: 113792 Kernel command line: root=/dev/hda2 ide=nodma console=ttyS0,115200 earlyprintk=ttyS0,115200 ide_setup: ide=nodma : Prevented DMA No local APIC present or hardware disabled Enabling fast FPU save and restore... done. Enabling unmasked SIMD FPU exception support... done. Initializing CPU#0 PID hash table entries: 2048 (order: 11, 8192 bytes) Detected 800.025 MHz processor. Console: colour VGA+ 80x25 Dentry cache hash table entries: 65536 (order: 6, 262144 bytes) Inode-cache hash table entries: 32768 (order: 5, 131072 bytes) Memory: 450212k/458752k available (2247k kernel code, 8052k reserved, 1052k data, 168k init, 0k highmem) virtual kernel memory layout: fixmap : 0xfffb7000 - 0xfffff000 ( 288 kB) vmalloc : 0xdc800000 - 0xfffb5000 ( 567 MB) lowmem : 0xc0000000 - 0xdc000000 ( 448 MB) .init : 0xc043c000 - 0xc0466000 ( 168 kB) .data : 0xc0331d1b - 0xc0438fec (1052 kB) .text : 0xc0100000 - 0xc0331d1b (2247 kB) Checking if this processor honours the WP bit even in supervisor mode... Ok. Calibrating delay using timer specific routine.. 1601.85 BogoMIPS (lpj=800929) Mount-cache hash table entries: 512 CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line) CPU: L2 Cache: 128K (64 bytes/line) Compat vDSO mapped to ffffe000. CPU: Centaur VIA Esther processor 1000MHz stepping 09 Checking 'hlt' instruction... OK. ACPI: Core revision 20070126 Parsing all Control Methods: Table [DSDT](id 0001) - 759 Objects with 65 Devices 211 Methods 40 Regions tbxface-0587 [02] tb_load_namespace : ACPI Tables successfully acquired ACPI: setting ELCR to 0200 (from 0000) evxfevnt-0079 [02] enable : System is already in ACPI mode divide error: 0000 [#1] Modules linked in: CPU: 0 EIP: 0060:[<c012b83d>] Not tainted VLI EFLAGS: 00010046 (2.6.22-gentoo-r5 #1) EIP is at clockevent_delta2ns+0x35/0x6e eax: 007fffff ebx: 00000000 ecx: 007fffff edx: 00000000 esi: 00000000 edi: 00000000 ebp: 007fffff esp: c1441ef4 ds: 007b es: 007b fs: 0000 gs: 0000 ss: 0068 Process swapper (pid: 1, ti=c1440000 task=c1432a30 task.ti=c1440000) Stack: 00000000 05f5a5a0 00000000 00000000 00000000 c04431df c1436bfc 00441f34 0000000a c1436c0c ffffffff c0110e22 00000000 c1441f64 00000000 c1441f64 c0462b14 c04434c4 0000000f 00000000 00000001 00000000 00000000 00000000 Call Trace: [<c04431df>] setup_boot_APIC_clock+0x211/0x420 [<c0110e22>] setup_local_APIC+0x1ff/0x22d [<c04434c4>] APIC_init_uniprocessor+0xd6/0xe0 [<c043c5ce>] kernel_init+0x0/0x217 [<c043c612>] kernel_init+0x44/0x217 [<c01039e2>] ret_from_fork+0x6/0x1c [<c043c5ce>] kernel_init+0x0/0x217 [<c043c5ce>] kernel_init+0x0/0x217 [<c0104657>] kernel_thread_helper+0x7/0x10 ======================= Code: 83 ec 04 8b 42 14 8b 72 10 88 c1 0f a5 fd d3 e7 a8 20 0f 45 ef 0f 45 fb 89 f8 89 ea 89 d1 31 d2 85 c9 89 04 24 74 08 8 EIP: [<c012b83d>] clockevent_delta2ns+0x35/0x6e SS:ESP 0068:c1441ef4 Kernel panic - not syncing: Attempted to kill init!
Help?
-Corey