Re: x86-64 with nvidia MCP51 chipset: kernel does not find HPET
From: Prakash Punnoor
Date: Wed Nov 15 2006 - 15:54:53 EST
Am Montag 30 Oktober 2006 20:00 schrieb Lee Revell:
> On Mon, 2006-10-30 at 11:07 -0600, Langsdorf, Mark wrote:
> > > I have a 6 month old x86-64 machine with nvidia MCP51 chipset on which
> > > the kernel does not detect the HPET. According to HPET maintainer
> > > Clemens Ladisch, this machine certainly has one, but it cannot be
> > > enabled for lack of hardware documentation.
> > >
> > > Is there anything I can do to help debug this?
> >
[...]
> But, with some help from anonymous sources, I have been able to find the
> HPET and make it work using a userspace driver that pokes registers by
> mmap'ing /dev/mem. So we just need a way to tell the kernel it's there.
> Presumably this would require a PCI quirk.
>
> Is this likely to be worth the trouble?
The new bios 0504 for my Asus M2NPV-VM has an bios option to enable HPET. Now
Linux finds it (sorry for kmail line mangling):
diff -u 0405.txt 0504.txt
--- 0405.txt 2006-11-15 21:38:40.000000000 +0100
+++ 0504.txt 2006-11-15 21:48:27.000000000 +0100
@@ -8,19 +8,20 @@
BIOS-e820: 000000007bef0000 - 000000007bef3000 (ACPI NVS)
BIOS-e820: 000000007bef3000 - 000000007bf00000 (ACPI data)
BIOS-e820: 000000007c000000 - 0000000080000000 (reserved)
- BIOS-e820: 00000000f0000000 - 00000000f4000000 (reserved)
+ BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved)
BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved)
Entering add_active_range(0, 0, 159) 0 entries of 256 used
Entering add_active_range(0, 256, 507632) 1 entries of 256 used
end_pfn_map = 1048576
-DMI 2.3 present.
-ACPI: RSDP (v000 Nvidia ) @ 0x00000000000f75e0
-ACPI: RSDT (v001 Nvidia AWRDACPI 0x42302e31 AWRD 0x00000000) @
0x000000007bef3040
-ACPI: FADT (v001 Nvidia AWRDACPI 0x42302e31 AWRD 0x00000000) @
0x000000007bef30c0
-ACPI: SSDT (v001 PTLTD POWERNOW 0x00000001 LTP 0x00000001) @
0x000000007befb280
-ACPI: MCFG (v001 Nvidia AWRDACPI 0x42302e31 AWRD 0x00000000) @
0x000000007befb4c0
-ACPI: MADT (v001 Nvidia AWRDACPI 0x42302e31 AWRD 0x00000000) @
0x000000007befb1c0
-ACPI: DSDT (v001 NVIDIA AWRDACPI 0x00001000 MSFT 0x0100000e) @
0x0000000000000000
+DMI 2.4 present.
+ACPI: RSDP (v002 Nvidia ) @ 0x00000000000f7560
+ACPI: XSDT (v001 Nvidia ASUSACPI 0x42302e31 AWRD 0x00000000) @
0x000000007bef30c0
+ACPI: FADT (v003 Nvidia ASUSACPI 0x42302e31 AWRD 0x00000000) @
0x000000007befb3c0
+ACPI: SSDT (v001 PTLTD POWERNOW 0x00000001 LTP 0x00000001) @
0x000000007befb5c0
+ACPI: HPET (v001 Nvidia ASUSACPI 0x42302e31 AWRD 0x00000098) @
0x000000007befb800
+ACPI: MCFG (v001 Nvidia ASUSACPI 0x42302e31 AWRD 0x00000000) @
0x000000007befb880
+ACPI: MADT (v001 Nvidia ASUSACPI 0x42302e31 AWRD 0x00000000) @
0x000000007befb500
+ACPI: DSDT (v001 NVIDIA ASUSACPI 0x00001000 MSFT 0x0100000e) @
0x0000000000000000
Entering add_active_range(0, 0, 159) 0 entries of 256 used
Entering add_active_range(0, 256, 507632) 1 entries of 256 used
Zone PFN ranges:
@@ -57,11 +58,12 @@
ACPI: IRQ14 used by override.
ACPI: IRQ15 used by override.
Setting APIC routing to flat
+ACPI: HPET id: 0x10de8201 base: 0xfefff000
Using ACPI (MADT) for SMP configuration information
Nosave address range: 000000000009f000 - 00000000000a0000
Nosave address range: 00000000000a0000 - 00000000000f0000
Nosave address range: 00000000000f0000 - 0000000000100000
-Allocating PCI resources starting at 88000000 (gap: 80000000:70000000)
+Allocating PCI resources starting at 88000000 (gap: 80000000:60000000)
PERCPU: Allocating 32128 bytes of per cpu data
Built 1 zonelists. Total pages: 499166
Kernel command line: root=/dev/sda5 init=/sbin/initng enable_8254_timer lapic
@@ -70,8 +72,8 @@
Console: colour VGA+ 80x25
Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes)
Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes)
-Memory: 1993004k/2030528k available (3612k kernel code, 36784k reserved,
1435k data, 236k init)
-Calibrating delay using timer specific routine.. 4010.44 BogoMIPS
(lpj=2005221)
+Memory: 1993004k/2030528k available (3612k kernel code, 36788k reserved,
1435k data, 236k init)
+Calibrating delay using timer specific routine.. 4012.35 BogoMIPS
(lpj=2006178)
Mount-cache hash table entries: 256
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 512K (64 bytes/line)
@@ -80,11 +82,11 @@
Freeing SMP alternatives: 28k freed
ACPI: Core revision 20060707
Using local APIC timer interrupts.
-result 12526481
-Detected 12.526 MHz APIC timer.
+result 12528046
+Detected 12.528 MHz APIC timer.
Booting processor 1/2 APIC 0x1
Initializing CPU#1
-Calibrating delay using timer specific routine.. 4007.76 BogoMIPS
(lpj=2003881)
+Calibrating delay using timer specific routine.. 4008.33 BogoMIPS
(lpj=2004167)
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 512K (64 bytes/line)
CPU: Physical Processor ID: 0
@@ -94,13 +96,12 @@
CPU 1: synchronized TSC with CPU 0 (last diff 0 cycles, maxerr 507 cycles)
Brought up 2 CPUs
testing NMI watchdog ... OK.
-Disabling vsyscall due to use of PM timer
-time.c: Using 3.579545 MHz WALL PM GTOD PM timer.
-time.c: Detected 2004.237 MHz processor.
-migration_cost=215
+time.c: Using 25.000000 MHz WALL HPET GTOD HPET timer.
+time.c: Detected 2004.485 MHz processor.
+migration_cost=193
NET: Registered protocol family 16
ACPI: bus type pci registered
-PCI: Using MMCONFIG at f0000000
+PCI: Using MMCONFIG at e0000000
PCI: No mmconfig possible on device 00:18
ACPI: Interpreter enabled
ACPI: Using IOAPIC for interrupt routing
@@ -153,13 +154,15 @@
ACPI: PCI Interrupt Link [APSJ] (IRQs 20 21 22 23) *0, disabled.
Linux Plug and Play Support v0.97 (c) Adam Belay
pnp: PnP ACPI init
-pnp: PnP ACPI: found 16 devices
+pnp: PnP ACPI: found 17 devices
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
PCI: Using ACPI for IRQ routing
PCI: If a device doesn't work, try "pci=routeirq". If it helps, post a
report
+hpet0: at MMIO 0xfefff000, IRQs 2, 8, 31
+hpet0: 3 32-bit timers, 25000000 Hz
pnp: 00:01: ioport range 0x4000-0x407f could not be reserved
pnp: 00:01: ioport range 0x4080-0x40ff has been reserved
pnp: 00:01: ioport range 0x4400-0x447f has been reserved
@@ -228,13 +231,14 @@
ACPI: Thermal Zone [THRM] (40 C)
lp: driver loaded but no devices found
Real Time Clock Driver v1.12ac
+hpet_resources: 0xfefff000 is busy
Non-volatile memory driver v1.2
Software Watchdog Timer: 0.07 initialized. soft_noboot=0 soft_margin=60 sec
(nowayout= 0)
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
-00:07: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
-00:08: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
+00:08: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
+00:09: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
parport: PnPBIOS parport detected.
parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE,EPP]
lp0: using parport0 (interrupt-driven).
--
(°= =°)
//\ Prakash Punnoor /\\
V_/ \_V
Attachment:
pgp00000.pgp
Description: PGP signature