[LinuxBIOS] Enabling APIC

Corey Osgood corey.osgood at gmail.com
Sat Sep 22 00:49:04 CEST 2007


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 at 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 at 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 at 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


-------------- next part --------------
A non-text attachment was scrubbed...
Name: APIC.dsl
Type: text/x-dsl
Size: 3146 bytes
Desc: not available
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20070921/64716625/attachment.dsl>


More information about the coreboot mailing list