On 28.09.2007 21:14, Robert Millan wrote: > On Thu, Sep 27, 2007 at 03:56:20PM +0200, Carl-Daniel Hailfinger wrote: >> Please provide a diff between dmesg under LB and proprietary BIOS. I >> suspect some keyboard init is done differently. > > Here.
There's quite some stuff broken. Comments below. > > --- dmesg_lb 2007-09-28 21:13:12.000000000 +0200 > +++ dmesg_bios 2007-09-28 21:13:12.000000000 +0200 > @@ -1,50 +1,76 @@ > Linux version 2.6.22-2-686 (Debian 2.6.22-4) ([EMAIL PROTECTED]) (gcc > version 4.1.3 20070812 (prerelease) (Debian 4.1.2-15)) #1 SMP Fri Aug 31 > 00:24:01 UTC 2007 > BIOS-provided physical RAM map: > - BIOS-e820: 0000000000001000 - 00000000000a0000 (usable) > - BIOS-e820: 0000000000100000 - 0000000060000000 (usable) > -640MB HIGHMEM available. > + BIOS-e820: 0000000000000000 - 000000000009f800 (usable) > + BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved) > + BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved) > + BIOS-e820: 0000000000100000 - 000000005fff0000 (usable) > + BIOS-e820: 000000005fff0000 - 000000005fff3000 (ACPI NVS) > + BIOS-e820: 000000005fff3000 - 0000000060000000 (ACPI data) > + BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved) > + BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved) > +639MB HIGHMEM available. > 896MB LOWMEM available. > -found SMP MP-table at 00000010 > -Entering add_active_range(0, 0, 393216) 0 entries of 256 used > +found SMP MP-table at 000f5650 > +Entering add_active_range(0, 0, 393200) 0 entries of 256 used > Zone PFN ranges: > DMA 0 -> 4096 > Normal 4096 -> 229376 > - HighMem 229376 -> 393216 > + HighMem 229376 -> 393200 > early_node_map[1] active PFN ranges > - 0: 0 -> 393216 > -On node 0 totalpages: 393216 > + 0: 0 -> 393200 > +On node 0 totalpages: 393200 > 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: 1280 pages used for memmap > - HighMem zone: 162560 pages, LIFO batch:31 > -DMI not present or invalid. > + HighMem zone: 1279 pages used for memmap > + HighMem zone: 162545 pages, LIFO batch:31 > +DMI 2.3 present. > +ACPI: RSDP 000F76C0, 0014 (r0 Nvidia) > +ACPI: RSDT 5FFF3040, 0034 (r1 Nvidia AWRDACPI 42302E31 AWRD 0) > +ACPI: FACP 5FFF30C0, 0074 (r1 Nvidia AWRDACPI 42302E31 AWRD 0) > +ACPI: DSDT 5FFF3180, 6264 (r1 NVIDIA AWRDACPI 1000 MSFT 100000E) > +ACPI: FACS 5FFF0000, 0040 > +ACPI: SRAT 5FFF9500, 0090 (r1 AMD HAMMER 1 AMD 1) > +ACPI: MCFG 5FFF9600, 003C (r1 Nvidia AWRDACPI 42302E31 AWRD 0) > +ACPI: APIC 5FFF9440, 007C (r1 Nvidia AWRDACPI 42302E31 AWRD 0) > Nvidia board detected. Ignoring ACPI timer override. > If you got timer trouble try acpi_use_timer_override > -Intel MultiProcessor Specification v1.4 > - Virtual Wire compatibility mode. > -OEM ID: ASUS Product ID: A8NE APIC at: 0xFEE00000 > +ACPI: PM-Timer IO Port: 0x4008 > +ACPI: Local APIC address 0xfee00000 > +ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled) > Processor #0 15:15 APIC version 16 > -I/O APIC #1 Version 17 at 0xFC900000. > +ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] disabled) > +ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1]) > +ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1]) > +ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0]) > +IOAPIC[0]: apic_id 2, version 17, address 0xfec00000, GSI 0-23 > +ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) > +ACPI: BIOS IRQ0 pin2 override ignored. > +ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level) > +ACPI: INT_SRC_OVR (bus 0 bus_irq 14 global_irq 14 high edge) > +ACPI: INT_SRC_OVR (bus 0 bus_irq 15 global_irq 15 high edge) > +ACPI: IRQ9 used by override. > +ACPI: IRQ14 used by override. > +ACPI: IRQ15 used by override. > Enabling APIC mode: Flat. Using 1 I/O APICs > -Processors: 1 > -Allocating PCI resources starting at 70000000 (gap: 60000000:a0000000) > -Built 1 zonelists. Total pages: 390144 > -Kernel command line: root=/dev/hda3 ro > +Using ACPI (MADT) for SMP configuration information > +Allocating PCI resources starting at 68000000 (gap: 60000000:80000000) > +Built 1 zonelists. Total pages: 390129 > +Kernel command line: root=/dev/hda3 ro > mapped APIC to ffffd000 (fee00000) > -mapped IOAPIC to ffffc000 (fc900000) > +mapped IOAPIC to ffffc000 (fec00000) > Enabling fast FPU save and restore... done. > Enabling unmasked SIMD FPU exception support... done. > Initializing CPU#0 > PID hash table entries: 4096 (order: 12, 16384 bytes) > -Detected 2211.367 MHz processor. > +Detected 2211.369 MHz processor. > spurious 8259A interrupt: IRQ7. > Console: colour VGA+ 80x25 > Dentry cache hash table entries: 131072 (order: 7, 524288 bytes) > Inode-cache hash table entries: 65536 (order: 6, 262144 bytes) > -Memory: 1550348k/1572864k available (1688k kernel code, 21364k reserved, > 653k data, 244k init, 655360k highmem) > +Memory: 1550220k/1572800k available (1688k kernel code, 21368k reserved, > 653k data, 244k init, 655296k highmem) > virtual kernel memory layout: > fixmap : 0xfff4e000 - 0xfffff000 ( 708 kB) > pkmap : 0xff800000 - 0xffc00000 (4096 kB) > @@ -54,7 +80,7 @@ > .data : 0xc02a62bf - 0xc03497e4 ( 653 kB) > .text : 0xc0100000 - 0xc02a62bf (1688 kB) > Checking if this processor honours the WP bit even in supervisor mode... Ok. > -Calibrating delay using timer specific routine.. 4429.03 BogoMIPS > (lpj=8858066) > +Calibrating delay using timer specific routine.. 4425.47 BogoMIPS > (lpj=8850948) > Security Framework v1.0.0 initialized > SELinux: Disabled at boot. > Capability LSM initialized > @@ -70,50 +96,86 @@ > SMP alternatives: switching to UP code > Freeing SMP alternatives: 11k freed > ACPI: Core revision 20070126 > -ACPI Exception (tbxface-0618): AE_NO_ACPI_TABLES, While loading namespace > from ACPI tables [20070126] > -ACPI: Unable to load the System Description Tables > CPU0: AMD Athlon(tm) 64 Processor 3500+ stepping 02 > -Total of 1 processors activated (4429.03 BogoMIPS). > +Total of 1 processors activated (4425.47 BogoMIPS). > ENABLING IO-APIC IRQs > -..TIMER: vector=0x31 apic1=0 pin1=2 apic2=0 pin2=0 > -..MP-BIOS bug: 8254 timer not connected to IO-APIC Bad. Can we perform that work in LB? > -...trying to set up timer (IRQ0) through the 8259A ... > -..... (found pin 0) ...works. > +..TIMER: vector=0x31 apic1=0 pin1=0 apic2=-1 pin2=-1 > Brought up 1 CPUs > Booting paravirtualized kernel on bare hardware > NET: Registered protocol family 16 > -PCI: Using configuration type 1 > +ACPI: bus type pci registered > +PCI: Using MMCONFIG > +PCI: No mmconfig possible on device 00:18 > Setting up standard PCI resources > -ACPI: Interpreter disabled. > -Linux Plug and Play Support v0.97 (c) Adam Belay > -pnp: PnP ACPI: disabled > -PnPBIOS: Scanning system for PnP BIOS support... > -PnPBIOS: PnP BIOS support was not detected. > -PCI: Probing PCI hardware > +ACPI: Interpreter enabled > +ACPI: (supports S0 S1 S3 S4 S5) > +ACPI: Using IOAPIC for interrupt routing > +ACPI: PCI Root Bridge [PCI0] (0000:00) > PCI: Probing PCI hardware (bus 00) > PCI: Transparent bridge - 0000:00:09.0 > -PCI: Unable to handle 64-bit address space for bridge 0000:00:0b.0 > -PCI: Unable to handle 64-bit address space for bridge 0000:00:0c.0 > -PCI: Unable to handle 64-bit address space for bridge 0000:00:0d.0 > -PCI: Unable to handle 64-bit address space for bridge 0000:00:0e.0 This is not 64bit space, but a ranges going backwards. Not keyboard related. > -PCI: Using IRQ router default [10de/005c] at 0000:00:09.0 > -PCI->APIC IRQ transform: 0000:00:01.1[A] -> IRQ 10 > -PCI->APIC IRQ transform: 0000:00:02.0[A] -> IRQ 21 > -PCI->APIC IRQ transform: 0000:00:02.1[B] -> IRQ 20 > -PCI->APIC IRQ transform: 0000:00:07.0[A] -> IRQ 23 > -PCI->APIC IRQ transform: 0000:00:08.0[A] -> IRQ 22 > -PCI->APIC IRQ transform: 0000:00:0a.0[A] -> IRQ 23 > -PCI BIOS passed nonexistent PCI bus 1! Must fix, but also not keyboard related. > -PCI: Cannot allocate resource region 5 of device 0000:00:01.1 > +ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT] > +ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.HUB0._PRT] > +ACPI: PCI Interrupt Link [LNK1] (IRQs *3 4 5 7 9 10 11 12 14 15) > +ACPI: PCI Interrupt Link [LNK2] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled. > +ACPI: PCI Interrupt Link [LNK3] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled. > +ACPI: PCI Interrupt Link [LNK4] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled. > +ACPI: PCI Interrupt Link [LNK5] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled. > +ACPI: PCI Interrupt Link [LUBA] (IRQs *3 4 5 7 9 10 11 12 14 15) > +ACPI: PCI Interrupt Link [LUBB] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled. > +ACPI: PCI Interrupt Link [LMAC] (IRQs 3 4 *5 7 9 10 11 12 14 15) > +ACPI: PCI Interrupt Link [LACI] (IRQs 3 4 5 7 9 10 *11 12 14 15) > +ACPI: PCI Interrupt Link [LMCI] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled. > +ACPI: PCI Interrupt Link [LSMB] (IRQs 3 4 *5 7 9 10 11 12 14 15) > +ACPI: PCI Interrupt Link [LUB2] (IRQs 3 4 5 7 9 10 *11 12 14 15) > +ACPI: PCI Interrupt Link [LIDE] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled. > +ACPI: PCI Interrupt Link [LSID] (IRQs 3 4 5 7 9 10 *11 12 14 15) > +ACPI: PCI Interrupt Link [LFID] (IRQs 3 4 *5 7 9 10 11 12 14 15) > +ACPI: PCI Interrupt Link [LPCA] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled. > +ACPI: PCI Interrupt Link [APC1] (IRQs 16) *0 > +ACPI: PCI Interrupt Link [APC2] (IRQs 17) *0, disabled. > +ACPI: PCI Interrupt Link [APC3] (IRQs 18) *0, disabled. > +ACPI: PCI Interrupt Link [APC4] (IRQs 19) *0, disabled. > +ACPI: PCI Interrupt Link [APC5] (IRQs *16), disabled. > +ACPI: PCI Interrupt Link [APCF] (IRQs 20 21 22 23) *0 > +ACPI: PCI Interrupt Link [APCG] (IRQs 20 21 22 23) *0, disabled. > +ACPI: PCI Interrupt Link [APCH] (IRQs 20 21 22 23) *0 > +ACPI: PCI Interrupt Link [APCJ] (IRQs 20 21 22 23) *0 > +ACPI: PCI Interrupt Link [APCK] (IRQs 20 21 22 23) *0, disabled. > +ACPI: PCI Interrupt Link [APCS] (IRQs 20 21 22 23) *0 > +ACPI: PCI Interrupt Link [APCL] (IRQs 20 21 22 23) *0 > +ACPI: PCI Interrupt Link [APCZ] (IRQs 20 21 22 23) *0, disabled. > +ACPI: PCI Interrupt Link [APSI] (IRQs 20 21 22 23) *0 > +ACPI: PCI Interrupt Link [APSJ] (IRQs 20 21 22 23) *0 > +ACPI: PCI Interrupt Link [APCP] (IRQs 20 21 22 23) *0, disabled. > +Linux Plug and Play Support v0.97 (c) Adam Belay > +pnp: PnP ACPI init > +ACPI: bus type pnp registered > +pnp: PnP ACPI: found 15 devices > +ACPI: ACPI bus type pnp unregistered > +PnPBIOS: Disabled by ACPI PNP > +PCI: Using ACPI for IRQ routing > +PCI: If a device doesn't work, try "pci=routeirq". If it helps, post a > report > NET: Registered protocol family 8 > NET: Registered protocol family 20 > +ACPI: RTC can wake from S4 > +pnp: 00:01: ioport range 0x4000-0x407f has been reserved > +pnp: 00:01: ioport range 0x4080-0x40ff has been reserved > +pnp: 00:01: ioport range 0x4400-0x447f has been reserved > +pnp: 00:01: ioport range 0x4480-0x44ff has been reserved > +pnp: 00:01: ioport range 0x4800-0x487f has been reserved > +pnp: 00:01: ioport range 0x4880-0x48ff has been reserved > +pnp: 00:0d: iomem range 0xe0000000-0xefffffff could not be reserved > +pnp: 00:0e: iomem range 0xf0000-0xf3fff could not be reserved > +pnp: 00:0e: iomem range 0xf4000-0xf7fff could not be reserved > +pnp: 00:0e: iomem range 0xf8000-0xfbfff could not be reserved > +pnp: 00:0e: iomem range 0xfc000-0xfffff could not be reserved > +Time: tsc clocksource has been installed. > PCI: Bridge: 0000:00:09.0 > IO window: disabled. > - MEM window: fc000000-fc8fffff > - PREFETCH window: 70000000-700fffff > + MEM window: d0000000-d1ffffff > + PREFETCH window: 68000000-680fffff > PCI: Bridge: 0000:00:0b.0 > IO window: disabled. > -Time: tsc clocksource has been installed. > MEM window: disabled. > PREFETCH window: disabled. > PCI: Bridge: 0000:00:0c.0 > @@ -142,7 +204,7 @@ > checking if image is initramfs... it is > Freeing initrd memory: 5286k freed > audit: initializing netlink socket (disabled) > -audit(1191006556.256:1): initialized > +audit(1191006861.244:1): initialized > highmem bounce pool size: 64 pages > VFS: Disk quotas dquot_6.5.1 > Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) > @@ -151,121 +213,149 @@ > io scheduler deadline registered > io scheduler cfq registered (default) > PCI: Found disabled HT MSI Mapping on 0000:00:0b.0 > -PCI: Found disabled HT MSI Mapping on 0000:00:00.0 > -PCI: MSI quirk detected. MSI disabled on chipset 0000:00:0b.0. Why not enable HT MSI? > +PCI: Found enabled HT MSI Mapping on 0000:00:00.0 > +PCI: Linking AER extended capability on 0000:00:0b.0 > PCI: Found disabled HT MSI Mapping on 0000:00:0c.0 > -PCI: Found disabled HT MSI Mapping on 0000:00:00.0 > -PCI: MSI quirk detected. MSI disabled on chipset 0000:00:0c.0. > +PCI: Found enabled HT MSI Mapping on 0000:00:00.0 > +PCI: Linking AER extended capability on 0000:00:0c.0 > PCI: Found disabled HT MSI Mapping on 0000:00:0d.0 > -PCI: Found disabled HT MSI Mapping on 0000:00:00.0 > -PCI: MSI quirk detected. MSI disabled on chipset 0000:00:0d.0. > +PCI: Found enabled HT MSI Mapping on 0000:00:00.0 > +PCI: Linking AER extended capability on 0000:00:0d.0 > PCI: Found disabled HT MSI Mapping on 0000:00:0e.0 > -PCI: Found disabled HT MSI Mapping on 0000:00:00.0 > -PCI: MSI quirk detected. MSI disabled on chipset 0000:00:0e.0. > -Boot video device is 0000:01:06.0 Look at the boot video device. > +PCI: Found enabled HT MSI Mapping on 0000:00:00.0 > +PCI: Linking AER extended capability on 0000:00:0e.0 > +Boot video device is 0000:05:06.0 The bus numbering difference can probably be explained. > PCI: Setting latency timer of device 0000:00:0b.0 to 64 > assign_interrupt_mode Found MSI capability > Allocate Port Service[0000:00:0b.0:pcie00] > +Allocate Port Service[0000:00:0b.0:pcie03] > PCI: Setting latency timer of device 0000:00:0c.0 to 64 > assign_interrupt_mode Found MSI capability > Allocate Port Service[0000:00:0c.0:pcie00] > +Allocate Port Service[0000:00:0c.0:pcie03] > PCI: Setting latency timer of device 0000:00:0d.0 to 64 > assign_interrupt_mode Found MSI capability > Allocate Port Service[0000:00:0d.0:pcie00] > +Allocate Port Service[0000:00:0d.0:pcie03] > PCI: Setting latency timer of device 0000:00:0e.0 to 64 > assign_interrupt_mode Found MSI capability > Allocate Port Service[0000:00:0e.0:pcie00] > +Allocate Port Service[0000:00:0e.0:pcie03] > isapnp: Scanning for PnP cards... > +Switched to high resolution mode on CPU 0 > isapnp: No Plug & Play device found > Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled > serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A > +00:08: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A > RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize > -PNP: No PS/2 controller found. Probing ports directly. > -i8042.c: Can't read CTR while initializing i8042. > -i8042: probe of i8042 failed with error -5 Now that one is really really bad. You could try to make sure port 0x60,0x64 irq 1 are used as default ports in probing. > +PNP: PS/2 Controller [PNP0303:PS2K] at 0x60,0x64 irq 1 > +PNP: PS/2 controller doesn't have AUX irq; using default 12 > +serio: i8042 KBD port at 0x60,0x64 irq 1 > +serio: i8042 AUX port at 0x60,0x64 irq 12 > mice: PS/2 mouse device common for all mice > TCP bic registered > NET: Registered protocol family 1 > NET: Registered protocol family 17 > Using IPI No-Shortcut mode > Freeing unused kernel memory: 244k freed > -thermal: Unknown symbol acpi_processor_set_thermal_limit > -Clocksource tsc unstable (delta = 504074564 ns) > -Time: pit clocksource has been installed. And that's the missing PM timer. /proc/interrups /proc/ioports /proc/iomem would also be useful to compare. Carl-Daniel -- linuxbios mailing list linuxbios@linuxbios.org http://www.linuxbios.org/mailman/listinfo/linuxbios