linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [RFC] Fix NMI watchdog documentation
@ 2003-05-26  9:21 mikpe
  2003-05-26 16:40 ` APIC on Dell Laptops - WAS: " Disconnect
  2003-05-27  3:19 ` Valdis.Kletnieks
  0 siblings, 2 replies; 20+ messages in thread
From: mikpe @ 2003-05-26  9:21 UTC (permalink / raw)
  To: linux-kernel, lkml; +Cc: Valdis.Kletnieks

On 26 May 2003 01:31:41 -0400, Disconnect <lkml@sigkill.net> wrote:
>> OK, I put together a kernel that had the Latitude blacklist commented out,
>> and it comes up with:
>> 
>> No local APIC present or hardware disabled
>> Initializing CPU#0
>> 
>> So add the Latitude C840 to the "known b0rken" list.
>
>Ditto the Inspiron 8500 - no apic at all (which is different from
>known-broken, since nothing bad happened.)  
...
>Perhaps just a comment above those entries:
>/* Latitude C840 and Inspiron 8500 have no APIC support in hardware */

If these machines are P4-based, then I bet they do have local APICs.
However, if the BIOS boots the kernel with the local APIC disabled
on a P4, we (apic.c) don't try to enable it. The logic behind that
is that "modern" BIOSen _should_ boot with it enabled, unless they're
horribly broken.

So apply the patch below and try the "can we get the machine to hang"
checklist again.

/Mikael

--- linux-2.5.69/arch/i386/kernel/apic.c.~1~	2003-04-20 13:08:15.000000000 +0200
+++ linux-2.5.69/arch/i386/kernel/apic.c	2003-05-26 11:11:19.000000000 +0200
@@ -617,7 +617,7 @@
 		goto no_apic;
 	case X86_VENDOR_INTEL:
 		if (boot_cpu_data.x86 == 6 ||
-		    (boot_cpu_data.x86 == 15 && cpu_has_apic) ||
+		    (boot_cpu_data.x86 == 15) ||
 		    (boot_cpu_data.x86 == 5 && cpu_has_apic))
 			break;
 		goto no_apic;

^ permalink raw reply	[flat|nested] 20+ messages in thread

* APIC on Dell Laptops - WAS: Re: [RFC] Fix NMI watchdog documentation
  2003-05-26  9:21 [RFC] Fix NMI watchdog documentation mikpe
@ 2003-05-26 16:40 ` Disconnect
  2003-05-26 18:38   ` mikpe
  2003-05-27  3:19 ` Valdis.Kletnieks
  1 sibling, 1 reply; 20+ messages in thread
From: Disconnect @ 2003-05-26 16:40 UTC (permalink / raw)
  To: lkml

[-- Attachment #1: Type: text/plain, Size: 3729 bytes --]

Local APIC disabled by BIOS -- reenabling.
Found and enabled local APIC!

And now /proc/cpuinfo and cpuid both show APIC support.

Removed/replaced power, triggered lid-switch/battery-status/etc with no
issues.  (The only thing that caused trouble was Fn-F10, the "eject cd"
button.  Never tried it under Linux before, and the cd isn't in it at
the moment anyway, so I'm betting thats unrelated. But it did cause a
lockup that even sysrq couldn't recover.)

Not 100% clear on what the APIC does, but I'm not sure its doing it ;) 

PCI: Using ACPI for IRQ routing <-- shouldn't this be missing if the
APIC is in use?

(Full dmesg attached, for those who are curious - the unknown-scancode
is for the various laptop buttons - bright/dim, vol, media, battery,
etc.  Except for the volume buttons the only ones that work are the ones
that directly hit the hardware, ala bright/dim.)

Also, for others with an I8500 who might read the dmesg log, don't get
excited; thats not the wireless card they sell (Broadcom 802.11g) its
the older one (Orinoco 802.11b).  They'll sell you one for about $70,
goes right in in place of the unsupported one.

>From single-user:
# cat /proc/interrupts
           CPU0
  0:       8716          XT-PIC  timer
  1:        572          XT-PIC  keyboard
  2:          0          XT-PIC  cascade
  8:          4          XT-PIC  rtc
  9:          0          XT-PIC  acpi
 11:         20          XT-PIC  usb-uhci, usb-uhci, usb-uhci, ehci-hcd,
eth0
 14:       2610          XT-PIC  ide0
NMI:          0
LOC:       8649
ERR:          0
MIS:          0


After booting, building/installing alsa-modules, getting into X, etc etc
etc..
           CPU0
  0:     121238          XT-PIC  timer
  1:       6472          XT-PIC  keyboard
  2:          0          XT-PIC  cascade
  8:          4          XT-PIC  rtc
  9:          9          XT-PIC  acpi
 11:     125522          XT-PIC  usb-uhci, usb-uhci, usb-uhci, ehci-hcd,
eth0, PCI device 104c:ac44 (Texas Instruments), Texas Instruments
PCI1410 PC card Cardbus Controller, orinoco_cs, Intel 82801DB-ICH4
 12:      20693          XT-PIC  PS/2 Mouse
 14:      28381          XT-PIC  ide0
NMI:          0
LOC:     121201
ERR:          0
MIS:          0



On Mon, 2003-05-26 at 05:21, mikpe@csd.uu.se wrote:
> On 26 May 2003 01:31:41 -0400, Disconnect <lkml@sigkill.net> wrote:
> >> OK, I put together a kernel that had the Latitude blacklist commented out,
> >> and it comes up with:
> >> 
> >> No local APIC present or hardware disabled
> >> Initializing CPU#0
> >> 
> >> So add the Latitude C840 to the "known b0rken" list.
> >
> >Ditto the Inspiron 8500 - no apic at all (which is different from
> >known-broken, since nothing bad happened.)  
> ...
> >Perhaps just a comment above those entries:
> >/* Latitude C840 and Inspiron 8500 have no APIC support in hardware */
> 
> If these machines are P4-based, then I bet they do have local APICs.
> However, if the BIOS boots the kernel with the local APIC disabled
> on a P4, we (apic.c) don't try to enable it. The logic behind that
> is that "modern" BIOSen _should_ boot with it enabled, unless they're
> horribly broken.
> 
> So apply the patch below and try the "can we get the machine to hang"
> checklist again.
> 
> /Mikael
> 
> --- linux-2.5.69/arch/i386/kernel/apic.c.~1~	2003-04-20 13:08:15.000000000 +0200
> +++ linux-2.5.69/arch/i386/kernel/apic.c	2003-05-26 11:11:19.000000000 +0200
> @@ -617,7 +617,7 @@
>  		goto no_apic;
>  	case X86_VENDOR_INTEL:
>  		if (boot_cpu_data.x86 == 6 ||
> -		    (boot_cpu_data.x86 == 15 && cpu_has_apic) ||
> +		    (boot_cpu_data.x86 == 15) ||
>  		    (boot_cpu_data.x86 == 5 && cpu_has_apic))
>  			break;
>  		goto no_apic;
-- 
Disconnect <lkml@sigkill.net>

[-- Attachment #2: Type: text/plain, Size: 10661 bytes --]

Linux version 2.4.21-rc3-dis2-apic (dis@slappy) (gcc version 3.2.3) #4 Mon May 26 11:54:32 EDT 2003
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
 BIOS-e820: 000000000009f000 - 00000000000a0000 (reserved)
 BIOS-e820: 0000000000100000 - 000000001ffb0800 (usable)
 BIOS-e820: 000000001ffb0800 - 0000000020000000 (reserved)
 BIOS-e820: 00000000feda0000 - 00000000fee00000 (reserved)
 BIOS-e820: 00000000ffb00000 - 0000000100000000 (reserved)
511MB LOWMEM available.
ACPI: have wakeup address 0xc0001000
On node 0 totalpages: 130992
zone(0): 4096 pages.
zone(1): 126896 pages.
zone(2): 0 pages.
ACPI: RSDP (v000 DELL                       ) @ 0x000fdf00
ACPI: RSDT (v001 DELL    CPi R   10195.01053) @ 0x1fff0000
ACPI: FADT (v001 DELL    CPi R   10195.01053) @ 0x1fff0400
ACPI: DSDT (v001 INT430 SYSFexxx 00000.04097) @ 0x00000000
ACPI: BIOS passes blacklist
ACPI: MADT not present
Kernel command line: root=/dev/hda4 ro resume=/dev/hda3 speedstep_default=2 single
cpufreq: Default forced: performanceLocal APIC disabled by BIOS -- reenabling.
Found and enabled local APIC!
Initializing CPU#0
Detected 1994.170 MHz processor.
Console: colour VGA+ 80x25
Calibrating delay loop... 3971.48 BogoMIPS
Memory: 515768k/523968k available (1300k kernel code, 7812k reserved, 477k data, 96k init, 0k highmem)
Dentry cache hash table entries: 65536 (order: 7, 524288 bytes)
Inode cache hash table entries: 32768 (order: 6, 262144 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer-cache hash table entries: 32768 (order: 5, 131072 bytes)
Page-cache hash table entries: 131072 (order: 7, 524288 bytes)
CPU: Trace cache: 12K uops, L1 D cache: 8K
CPU: L2 cache: 512K
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU:     After generic, caps: bfebfbff 00000000 00000000 00000000
CPU:             Common caps: bfebfbff 00000000 00000000 00000000
CPU: Intel Mobile Intel(R) Pentium(R) 4 - M CPU 2.00GHz stepping 07
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
enabled ExtINT on CPU#0
ESR value before enabling vector: 00000000
ESR value after enabling vector: 00000000
Using local APIC timer interrupts.
calibrating APIC timer ...
..... CPU clock speed is 1994.1762 MHz.
..... host bus clock speed is 99.7086 MHz.
cpu: 0, clocks: 997086, slice: 498543
CPU0<T0:997072,T1:498528,D:1,S:498543,C:997086>
mtrr: v1.40 (20010327) Richard Gooch (rgooch@atnf.csiro.au)
mtrr: detected mtrr type: Intel
ACPI: Subsystem revision 20030509
PCI: PCI BIOS revision 2.10 entry at 0xfc97e, last bus=2
PCI: Using configuration type 1
    ACPI-0292: *** Info: Table [DSDT] replaced by host OS
ACPI: Interpreter enabled
ACPI: Using PIC for interrupt routing
ACPI: System [ACPI] (supports S0 S1 S3 (bios) S4 S5)
ACPI: PCI Root Bridge [PCI0] (00:00)
PCI: Probing PCI hardware (bus 00)
PCI: Ignoring BAR0-3 of IDE controller 00:1f.1
Transparent bridge - Intel Corp. 82801BAM/CAM PCI Bridge
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Link [LNKA] (IRQs 9 10 *11)
ACPI: PCI Interrupt Link [LNKB] (IRQs 5 7, enabled at IRQ 11)
ACPI: PCI Interrupt Link [LNKC] (IRQs 9 10 *11)
ACPI: PCI Interrupt Link [LNKD] (IRQs 5 7 9 10 *11)
ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 9 10 11 12 14 15, disabled)
ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 9 10 *11 12 14 15)
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.AGP_._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PCIE._PRT]
PCI: Probing PCI hardware
ACPI: PCI Interrupt Link [LNKE] enabled at IRQ 10
PCI: Using ACPI for IRQ routing
PCI: if you experience problems, try using option 'pci=noacpi' or even 'acpi=off'
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
cpufreq: P4/Xeon(TM) CPU On-Demand Clock Modulation available
Starting kswapd
Journalled Block Device driver loaded
ACPI: AC Adapter [AC] (on-line)
ACPI: Battery Slot [BAT0] (battery present)
ACPI: Battery Slot [BAT1] (battery absent)
ACPI: Lid Switch [LID]
ACPI: Power Button (CM) [PBTN]
ACPI: Sleep Button (CM) [SBTN]
ACPI: Processor [CPU0] (supports C1 C2 C3, 6 performance states, 8 throttling states)
ACPI: Thermal Zone [THM] (52 C)
pty: 256 Unix98 ptys configured
Real Time Clock Driver v1.10e
pktcdvd: v0.0.2p 03/03/2002 Jens Axboe (axboe@suse.de)
Linux agpgart interface v0.99 (c) Jeff Hartmann
agpgart: Maximum main memory to use for agp memory: 439M
agpgart: Detected Intel i845 chipset
agpgart: AGP aperture is 64M @ 0xf0000000
Uniform Multi-Platform E-IDE driver Revision: 7.00beta3-.2.4
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ICH4: IDE controller at PCI slot 00:1f.1
PCI: Enabling device 00:1f.1 (0005 -> 0007)
ICH4: chipset revision 3
ICH4: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0xbfa0-0xbfa7, BIOS settings: hda:DMA, hdb:pio
    ide1: BM-DMA at 0xbfa8-0xbfaf, BIOS settings: hdc:pio, hdd:pio
hda: HITACHI_DK23EA-30, ATA DISK drive
blk: queue c030e5a0, I/O limit 4095Mb (mask 0xffffffff)
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hda: attached ide-disk driver.
hda: host protected area => 1
hda: 58605120 sectors (30006 MB) w/2048KiB Cache, CHS=3648/255/63, UDMA(100)
Partition check:
 hda: hda1 hda2 hda3 hda4
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 4096 buckets, 32Kbytes
TCP: Hash tables configured (established 32768 bind 65536)
ip_conntrack version 2.1 (4093 buckets, 32744 max) - 292 bytes per conntrack
ip_tables: (C) 2000-2002 Netfilter core team
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
Resume Machine:   This is normal swap space
Swsusp beta 19:   kswsuspd starting
EXT3-fs: INFO: recovery required on readonly filesystem.
EXT3-fs: write access will be enabled during recovery.
kjournald starting.  Commit interval 5 seconds
EXT3-fs: recovery complete.
EXT3-fs: mounted filesystem with ordered data mode.
VFS: Mounted root (ext3 filesystem) readonly.
Freeing unused kernel memory: 96k freed
Adding Swap: 996020k swap-space (priority -1)
EXT3 FS 2.4-0.9.19, 19 August 2002 on ide0(3,4), internal journal
Broadcom 4401 Ethernet Driver bcm4400 ver. 2.0.0 (03/25/03)
eth0: Broadcom BCM4401 100Base-T found at mem faffe000, IRQ 11, node addr 000bdb1b893c
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
usb-uhci.c: $Revision: 1.275 $ time 14:00:36 May 25 2003
usb-uhci.c: High bandwidth mode enabled
PCI: Setting latency timer of device 00:1d.0 to 64
usb-uhci.c: USB UHCI at I/O 0xbf80, IRQ 11
usb-uhci.c: Detected 2 ports
usb.c: new USB bus registered, assigned bus number 1
hub.c: USB hub found
hub.c: 2 ports detected
PCI: Setting latency timer of device 00:1d.1 to 64
usb-uhci.c: USB UHCI at I/O 0xbf40, IRQ 11
usb-uhci.c: Detected 2 ports
usb.c: new USB bus registered, assigned bus number 2
hub.c: USB hub found
hub.c: 2 ports detected
PCI: Setting latency timer of device 00:1d.2 to 64
usb-uhci.c: USB UHCI at I/O 0xbf20, IRQ 11
usb-uhci.c: Detected 2 ports
usb.c: new USB bus registered, assigned bus number 3
hub.c: USB hub found
hub.c: 2 ports detected
usb-uhci.c: v1.275:USB Universal Host Controller Interface driver
usb.c: registered new driver usbkbd
usbkbd.c: :USB HID Boot Protocol keyboard driver
i8k: unable to get SMM Dell signature
i8k: unable to get SMM BIOS version
Dell laptop SMM driver v1.13 14/05/2002 Massimo Dal Zotto (dz@debian.org)
usb.c: registered new driver usbnet
SCSI subsystem driver Revision: 1.00
scsi0 : SCSI host adapter emulation for IDE ATAPI devices
hub.c: new USB device 00:1d.2-1, assigned address 2
usb.c: USB device 2 (vend/prod 0x54c/0x2c) is not claimed by any active driver.
PCI: Setting latency timer of device 00:1d.7 to 64
ehci-hcd 00:1d.7: Intel Corp. 82801DB USB EHCI Controller
ehci-hcd 00:1d.7: irq 11, pci mem e0917c00
usb.c: new USB bus registered, assigned bus number 4
ehci-hcd 00:1d.7: enabled 64bit PCI DMA
PCI: 00:1d.7 PCI cache line size set incorrectly (0 bytes) by BIOS/FW.
PCI: 00:1d.7 PCI cache line size corrected to 128.
ehci-hcd 00:1d.7: USB 2.0 enabled, EHCI 1.00, driver 2003-Jan-22
usb.c: USB disconnect on device 00:1d.2-1 address 2
hub.c: USB hub found
hub.c: 6 ports detected
hub.c: new USB device 00:1d.2-1, assigned address 3
usb.c: USB device 3 (vend/prod 0x54c/0x2c) is not claimed by any active driver.
bcm4400: eth0 NIC Link is Down
keyboard: unknown scancode e0 07
keyboard: unknown scancode e0 07
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
Initializing USB Mass Storage driver...
usb.c: registered new driver usb-storage
scsi1 : SCSI emulation for USB Mass Storage devices
  Vendor: SONY      Model: USB-FDU           Rev: 5.01
  Type:   Direct-Access                      ANSI SCSI revision: 02
WARNING: USB Mass Storage data integrity not assured
USB Mass Storage device found at 3
USB Mass Storage support registered.
Linux Kernel Card Services 3.1.22
  options:  [pci] [cardbus] [pm]
PCI: Enabling device 02:01.0 (0000 -> 0002)
Yenta IRQ list 00f8, PCI irq11
Socket status: 30000086
Yenta IRQ list 0000, PCI irq11
Socket status: 30000010
cs: memory probe 0x0c0000-0x0fffff: excluding 0xc0000-0xcffff 0xe0000-0xfffff
hermes.c: 4 Dec 2002 David Gibson <hermes@gibson.dropbear.id.au>
orinoco.c 0.13b (David Gibson <hermes@gibson.dropbear.id.au> and others)
orinoco_cs.c 0.13b (David Gibson <hermes@gibson.dropbear.id.au> and others)
eth1: Station identity 001f:0001:0008:000a
eth1: Looks like a Lucent/Agere firmware version 8.10
eth1: Ad-hoc demo mode supported
eth1: IEEE standard IBSS ad-hoc mode supported
eth1: WEP supported, 104-bit key
eth1: MAC address 00:02:2D:7C:3C:3F
eth1: Station name "HERMES I"
eth1: ready
eth1: index 0x01: Vcc 3.3, irq 11, io 0x0100-0x013f
keyboard: unknown scancode e0 08
hermes.c: 4 Dec 2002 David Gibson <hermes@gibson.dropbear.id.au>
orinoco.c 0.13b (David Gibson <hermes@gibson.dropbear.id.au> and others)
orinoco_cs.c 0.13b (David Gibson <hermes@gibson.dropbear.id.au> and others)
eth1: Station identity 001f:0001:0008:000a
eth1: Looks like a Lucent/Agere firmware version 8.10
eth1: Ad-hoc demo mode supported
eth1: IEEE standard IBSS ad-hoc mode supported
eth1: WEP supported, 104-bit key
eth1: MAC address 00:02:2D:7C:3C:3F
eth1: Station name "HERMES I"
eth1: ready
eth1: index 0x01: Vcc 3.3, irq 11, io 0x0100-0x013f
eth1: New link status: Connected (0001)
PCI: Setting latency timer of device 00:1f.5 to 64
intel8x0: clocking to 48000

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: APIC on Dell Laptops - WAS: Re: [RFC] Fix NMI watchdog documentation
  2003-05-26 16:40 ` APIC on Dell Laptops - WAS: " Disconnect
@ 2003-05-26 18:38   ` mikpe
  2003-05-26 19:44     ` Disconnect
  0 siblings, 1 reply; 20+ messages in thread
From: mikpe @ 2003-05-26 18:38 UTC (permalink / raw)
  To: Disconnect; +Cc: lkml

Disconnect writes:
 > Local APIC disabled by BIOS -- reenabling.
 > Found and enabled local APIC!
 > 
 > And now /proc/cpuinfo and cpuid both show APIC support.
 > 
 > Removed/replaced power, triggered lid-switch/battery-status/etc with no
 > issues.  (The only thing that caused trouble was Fn-F10, the "eject cd"
 > button.  Never tried it under Linux before, and the cd isn't in it at
 > the moment anyway, so I'm betting thats unrelated. But it did cause a
 > lockup that even sysrq couldn't recover.)

Nice.

 > Not 100% clear on what the APIC does, but I'm not sure its doing it ;) 
 > 
 > PCI: Using ACPI for IRQ routing <-- shouldn't this be missing if the
 > APIC is in use?

Nope. local APIC != I/O APIC. Disable ACPI, or enable IO_APIC (and hope it's there).

 > (Full dmesg attached, for those who are curious - the unknown-scancode
 > is for the various laptop buttons - bright/dim, vol, media, battery,
 > etc.  Except for the volume buttons the only ones that work are the ones
 > that directly hit the hardware, ala bright/dim.)
 > 
 > Also, for others with an I8500 who might read the dmesg log, don't get

dmidecode data would be nice, for the whitelist rules.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: APIC on Dell Laptops - WAS: Re: [RFC] Fix NMI watchdog documentation
  2003-05-26 18:38   ` mikpe
@ 2003-05-26 19:44     ` Disconnect
  2003-05-27 20:25       ` Disconnect
  0 siblings, 1 reply; 20+ messages in thread
From: Disconnect @ 2003-05-26 19:44 UTC (permalink / raw)
  To: lkml

[-- Attachment #1: Type: text/plain, Size: 2018 bytes --]

On Mon, 2003-05-26 at 14:38, mikpe@csd.uu.se wrote:
> Disconnect writes:
>  > Local APIC disabled by BIOS -- reenabling.
>  > Found and enabled local APIC!
>  > 
>  > And now /proc/cpuinfo and cpuid both show APIC support.
>  > 
>  > Removed/replaced power, triggered lid-switch/battery-status/etc with no
>  > issues.  (The only thing that caused trouble was Fn-F10, the "eject cd"
>  > button.  Never tried it under Linux before, and the cd isn't in it at
>  > the moment anyway, so I'm betting thats unrelated. But it did cause a
>  > lockup that even sysrq couldn't recover.)
> 
> Nice.

>  > Not 100% clear on what the APIC does, but I'm not sure its doing it ;) 
>  > 
>  > PCI: Using ACPI for IRQ routing <-- shouldn't this be missing if the
>  > APIC is in use?
> 
> Nope. local APIC != I/O APIC. Disable ACPI, or enable IO_APIC (and hope it's there).

I'm betting it doesn't have an IO-APIC (its a laptop, no SMP, etc) ..
any way to tell if the APIC is working/enabled?  (For that matter, all
google could tell me about was the IO-APIC, which is handy to know but
not particularly helpful here.)

>  > (Full dmesg attached, for those who are curious - the unknown-scancode
>  > is for the various laptop buttons - bright/dim, vol, media, battery,
>  > etc.  Except for the volume buttons the only ones that work are the ones
>  > that directly hit the hardware, ala bright/dim.)
>  > 
>  > Also, for others with an I8500 who might read the dmesg log, don't get
> 
> dmidecode data would be nice, for the whitelist rules.

Attached (I pulled out the service tag and express service code, both of
which are local to the individual device.)

Also, not sure what (if anything) would be different with the A01 bios;
their changelog seems to focus mostly on fixing a sound bug (which,
unfortunately, I didn't have until -after- the fix... sigh.)

Their changelog is online ( support.dell.com 'small business' ->
'Inspiron 8500' -> 'FlashBIOS updates') but there's not much to it.

-- 
Disconnect <lkml@sigkill.net>

[-- Attachment #2: dmidecode.txt --]
[-- Type: text/plain, Size: 10200 bytes --]

# dmidecode 1.8
SYSID present.
	Revision: 0
1 structure.
SYSID table at 0x000F8CD1.
SMBIOS 2.3 present.
DMI 2.3 present.
59 structures occupying 2398 bytes.
DMI table at 0x000F8D10.
Handle 0xDA00
	DMI type 218, 101 bytes.
	b2 00 0d 1f 0f 17 40 7d 00 00 00 00 00 7e 00 02 	......@}.....~..
	00 00 00 40 00 04 00 01 00 41 00 04 00 00 00 90 	...@.....A......
	00 05 00 00 00 91 00 05 00 01 00 92 00 05 00 02 	................
	00 00 80 00 80 01 00 00 a0 00 a0 01 00 05 80 05 	................
	80 01 00 01 f0 01 f0 00 00 02 f0 02 f0 00 00 03 	................
	f0 03 f0 00 00 04 f0 04 f0 00 00 ff ff 00 00 00 	................
	00                                              	.               
Handle 0x0000
	DMI type 0, 20 bytes.
	BIOS Information Block
		Vendor: Dell Computer Corporation
		Version: A02
		Release: 04/29/2003
		BIOS base: 0xF0000
		ROM size: 512K
		Capabilities:
			Flags: 0x001700007D019F90
Handle 0x0100
	DMI type 1, 25 bytes.
	System Information Block
		Vendor: Dell Computer Corporation
		Product: Inspiron 8500                   
		Version: 
		Serial Number: [removed svc tag]
Handle 0x0200
	DMI type 2, 9 bytes.
	Board Information Block
		Vendor: Dell Computer Corporation
		Product: 00U838
		Version:    
		Serial Number: .[removed svc tag].[removed express svc code].
Handle 0x0300
	DMI type 3, 13 bytes.
	Chassis Information Block
		Vendor: Dell Computer Corporation
		Chassis Type: Portable
		Version: 
		Serial Number: [removed svc tag]
		Asset Tag: 
Handle 0x0301
	DMI type 126, 13 bytes.
	Inactive
Handle 0x0400
	DMI type 4, 32 bytes.
	Processor
		Socket Designation: Microprocessor
		Processor Type: Central Processor
		Processor Family: 
		Processor Manufacturer: Intel
		Processor Version: 
Handle 0x0700
	DMI type 7, 19 bytes.
	Cache
		Socket: 
		L1 Internal Cache: write-back
		L1 Cache Size: 8K
		L1 Cache Maximum: 8K
		L1 Cache Type: Unknown 
Handle 0x0701
	DMI type 7, 19 bytes.
	Cache
		Socket: 
		L2 Internal Cache: 
		L2 Cache Size: 512K
		L2 Cache Maximum: 512K
		L2 Cache Type: Pipeline burst 
Handle 0x0800
	DMI type 8, 9 bytes.
	Port Connector
		Internal Designator: PARALLEL
		Internal Connector Type: None
		External Designator: 
		External Connector Type: DB-25 pin female
		Port Type: Parallel Port PS/2
Handle 0x0801
	DMI type 8, 9 bytes.
	Port Connector
		Internal Designator: SERIAL1
		Internal Connector Type: None
		External Designator: 
		External Connector Type: DB-9 pin male
		Port Type: Serial Port 16550A Compatible
Handle 0x0803
	DMI type 126, 9 bytes.
	Inactive
Handle 0x0804
	DMI type 8, 9 bytes.
	Port Connector
		Internal Designator: USB
		Internal Connector Type: None
		External Designator: 
		External Connector Type: Access Bus (USB)
		Port Type: USB
Handle 0x0805
	DMI type 126, 9 bytes.
	Inactive
Handle 0x0806
	DMI type 8, 9 bytes.
	Port Connector
		Internal Designator: MONITOR
		Internal Connector Type: None
		External Designator: 
		External Connector Type: DB-15 pin female
		Port Type: Video Port
Handle 0x0808
	DMI type 126, 9 bytes.
	Inactive
Handle 0x0809
	DMI type 8, 9 bytes.
	Port Connector
		Internal Designator: IrDA
		Internal Connector Type: None
		External Designator: 
		External Connector Type: Infrared
		Port Type: Other
Handle 0x080A
	DMI type 126, 9 bytes.
	Inactive
Handle 0x080B
	DMI type 8, 9 bytes.
	Port Connector
		Internal Designator: FireWire
		Internal Connector Type: None
		External Designator: 
		External Connector Type: 1394
		Port Type: FireWire (IEEE P1394)
Handle 0x080C
	DMI type 8, 9 bytes.
	Port Connector
		Internal Designator: Modem
		Internal Connector Type: None
		External Designator: 
		External Connector Type: RJ-11
		Port Type: Modem Port
Handle 0x080D
	DMI type 8, 9 bytes.
	Port Connector
		Internal Designator: Ethernet
		Internal Connector Type: None
		External Designator: 
		External Connector Type: RJ-45
		Port Type: Network Port
Handle 0x0900
	DMI type 9, 13 bytes.
	Card Slot
		Slot: PCMCIA 0
		Type: 32bit PCMCIA 
		Status: Available.
		Slot Features: 5v 3.3v PCCard16 CardBus Zoom-Video ModemRingResume 
Handle 0x0902
	DMI type 126, 13 bytes.
	Inactive
Handle 0x0904
	DMI type 9, 13 bytes.
	Card Slot
		Slot: MiniPCI
		Type: 32bit 
		Status: Available.
		Slot Features: 5v 3.3v 
Handle 0x0A00
	DMI type 10, 6 bytes.
	On Board Devices Information
		Description: ATI Radeon 9000 : Enabled
		Type: Video
Handle 0x0A01
	DMI type 10, 6 bytes.
	On Board Devices Information
		Description: Sigmatel 9750 : Enabled
		Type: Sound
Handle 0x0B00
	DMI type 11, 5 bytes.
	OEM Data
		Dell System
		5[0015]
Handle 0x0D00
	DMI type 13, 22 bytes.
	BIOS Language Information
		Installable Languages: 1
			en|US|iso8859-1
		Currently Installed Language: en|US|iso8859-1
Handle 0x1000
	DMI type 16, 15 bytes.
	Physical Memory Array
		Location: System board or motherboard
		Use: System memory
		Error Correction Type: None
		Maximum Capacity: 1048576 kB
		Error Information Handle: Not Provided
		Number of Devices: 2
Handle 0x1100
	DMI type 17, 27 bytes.
	Memory Device
		Array Handle: 0x1000
		Error Information Handle: Not Provided
		Total Width: 64 bits
		Data Width: 64 bits
		Size: 256 Mbyte
		Form Factor: DIMM
		Locator: DIMM_A
		Bank Locator: 
		Type: DDR
		Type Detail: Synchronous 
		Speed: 266 MHz (3.8 ns)
		Manufacturer: 
		Serial Number: 
		Asset Tag: 
		Part Number:                 
Handle 0x1101
	DMI type 17, 27 bytes.
	Memory Device
		Array Handle: 0x1000
		Error Information Handle: Not Provided
		Total Width: 64 bits
		Data Width: 64 bits
		Size: 256 Mbyte
		Form Factor: DIMM
		Locator: DIMM_B
		Bank Locator: 
		Type: DDR
		Type Detail: Synchronous 
		Speed: 266 MHz (3.8 ns)
		Manufacturer: 
		Serial Number: 
		Asset Tag: 
		Part Number:                 
Handle 0x1300
	DMI type 19, 15 bytes.
	Memory Array Mapped Address
Handle 0x1301
	DMI type 19, 15 bytes.
	Memory Array Mapped Address
Handle 0x1400
	DMI type 20, 19 bytes.
	Memory Device Mapped Address
Handle 0x1401
	DMI type 20, 19 bytes.
	Memory Device Mapped Address
Handle 0x1402
	DMI type 20, 19 bytes.
	Memory Device Mapped Address
Handle 0x1500
	DMI type 21, 7 bytes.
	Built-In Pointing Device
Handle 0x1600
	DMI type 22, 26 bytes.
	Portable Battery
		Location: Sys. Battery Bay
		Manufacturer: Sony Corp.      
		Manufacture Date: 
		Serial Number: 
		Name: DELL 0005P14    
Handle 0x1601
	DMI type 126, 26 bytes.
	Inactive
Handle 0x1602
	DMI type 126, 26 bytes.
	Inactive
Handle 0x1B00
	DMI type 27, 12 bytes.
	Cooling Device
		Device Type: Fan
		Device Status: OK
Handle 0x1C00
	DMI type 28, 20 bytes.
	Temperature Sensor
		Description: CPU Internal Temperature
		Device Location: Processor
		Device Status: OK
		Maximum Value: 127.0
		Minimum Value: 0.0
		Resolution:    100.0
		Tolerance:     0.5
		Accuracy:      Unknown
Handle 0x1F00
	DMI type 31, 28 bytes.
	Boot Integrity Services Entry Point
Handle 0x2000
	DMI type 32, 11 bytes.
	System Boot Information
Handle 0xD000
	DMI type 208, 10 bytes.
	01 04 fe 00 3e 01                               	....>.          
Handle 0xD100
	DMI type 209, 12 bytes.
	00 00 00 03 04 07 80 05                         	........        
Handle 0xD200
	DMI type 210, 12 bytes.
	f8 03 04 03 06 80 04 05                         	........        
Handle 0xD300
	DMI type 211, 13 bytes.
	01 03 02 01 00 00 00 00 02                      	.........       
Handle 0xD800
	DMI type 216, 9 bytes.
	01 03 01 f0 03                                  	.....           
Handle 0xD900
	DMI type 217, 8 bytes.
	01 02 01 03                                     	....            
Handle 0xDB00
	DMI type 219, 8 bytes.
	03 01 02 03                                     	....            
Handle 0xDB80
	DMI type 126, 8 bytes.
	Inactive
Handle 0xDB81
	DMI type 126, 8 bytes.
	Inactive
Handle 0xDC00
	DMI type 220, 22 bytes.
	01 f0 00 00 02 f0 00 00 00 00 03 f0 04 f0 00 00 	................
	00 00                                           	..              
Handle 0xDD00
	DMI type 221, 19 bytes.
	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    	............... 
Handle 0xD400
	DMI type 212, 227 bytes.
	70 00 71 00 00 10 2d 2e 5c 00 78 bf 40 5d 00 78 	p.q...-.\.x.@].x
	bf 00 5e 00 23 fe 01 5f 00 23 fe 00 65 00 21 f7 	..^.#.._.#..e.!.
	00 66 00 21 f7 08 f1 00 21 fc 00 f2 00 21 fc 01 	.f.!....!....!..
	f3 00 21 fc 02 0f 00 26 f8 00 11 00 26 f8 01 05 	..!....&....&...
	00 26 f8 02 12 00 26 f8 03 06 00 26 f8 04 31 00 	.&....&....&..1.
	26 8f 00 32 00 26 8f 10 33 00 26 8f 20 34 00 26 	&..2.&..3.&. 4.&
	8f 30 35 00 26 8f 40 07 00 25 f8 00 0b 00 25 f8 	.05.&.@..%....%.
	01 0c 00 25 f8 02 0d 00 25 f8 04 28 00 23 f3 00 	...%....%..(.#..
	29 00 23 f3 04 2a 00 23 f3 08 2b 00 58 00 00 2c 	).#..*.#..+.X..,
	00 59 00 00 e7 00 1d f3 04 e6 00 1d f3 00 0e 01 	.Y..............
	23 fd 00 0f 01 23 fd 02 9b 00 23 ef 10 9c 00 23 	#....#....#....#
	ef 00 87 00 11 fd 02 88 00 11 fd 00 e8 00 23 df 	..............#.
	00 e9 00 23 df 20 12 01 34 fb 04 13 01 34 fb 00 	...#. ..4....4..
	08 00 1d df 00 03 00 1d df 00 ff ff 00 00 00    	............... 
Handle 0xD401
	DMI type 212, 132 bytes.
	70 00 71 00 03 40 49 4a 42 00 48 7f 80 43 00 48 	p.q..@IJB.H..C.H
	7f 00 55 00 47 bf 00 6d 00 47 bf 40 0c 01 46 fb 	..U.G..m.G.@..F.
	04 0d 01 46 fb 00 14 01 46 e7 00 15 01 46 e7 08 	...F....F....F..
	16 01 46 e7 10 0a 01 48 ef 10 0b 01 48 ef 00 2d 	..F....H....H..-
	00 48 df 20 2e 00 48 df 00 a8 00 48 fc 01 a9 00 	.H. ..H....H....
	48 fc 00 b2 00 48 fc 02 11 01 48 bf 00 10 01 48 	H....H....H....H
	bf 40 f0 00 46 3f 20 ed 00 46 3f 00 ea 00 67 f3 	.@..F? ..F?...g.
	00 eb 00 67 f3 04 ec 00 67 f3 08 ff ff 00 00 00 	...g....g.......
Handle 0xDE00
	DMI type 222, 13 bytes.
	01 02 ff ff 00 00 00 00 00                      	.........       
Handle 0x7F00
	DMI type 127, 4 bytes.
	End-of-Table
PCI Interrupt Routing 1.0 present.
	Table Size: 176 bytes
	Router ID: 00:1f.0
	Exclusive IRQs: None
	Compatible Router: 8086:1234
ACPI 1.0 present.
	OEM ID: DELL  
RSD table at 0x1FFF0000.
PNP 1.0 present.
	Event Notification: Polling
	Event Notification Flag Address: 0x000004B4
	Real Mode Code Address: F000:E2F1
	Real Mode Data Address: 0040:0000
	Protected Mode Code Address: 0x000FE2F4
	Protected Mode Data Address: 0x00000040
BIOS32 Service Directory present.
	Calling Interface Address: 0x000FFE90

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [RFC] Fix NMI watchdog documentation
  2003-05-26  9:21 [RFC] Fix NMI watchdog documentation mikpe
  2003-05-26 16:40 ` APIC on Dell Laptops - WAS: " Disconnect
@ 2003-05-27  3:19 ` Valdis.Kletnieks
  1 sibling, 0 replies; 20+ messages in thread
From: Valdis.Kletnieks @ 2003-05-27  3:19 UTC (permalink / raw)
  To: mikpe; +Cc: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2542 bytes --]

On Mon, 26 May 2003 11:21:38 +0200, mikpe@csd.uu.se said:

> --- linux-2.5.69/arch/i386/kernel/apic.c.~1~	2003-04-20 13:08:15.000000000 +
0200
> +++ linux-2.5.69/arch/i386/kernel/apic.c	2003-05-26 11:11:19.000000000 +
0200
> @@ -617,7 +617,7 @@
>  		goto no_apic;
>  	case X86_VENDOR_INTEL:
>  		if (boot_cpu_data.x86 == 6 ||
> -		    (boot_cpu_data.x86 == 15 && cpu_has_apic) ||
> +		    (boot_cpu_data.x86 == 15) ||

OK, there's good news and bad news.  After doing that and lopping out the
dmi_scan.c blacklist entry, we get these msgs on boot (diffing against
a dmesg from before the above:

1c1
< Linux version 2.5.69 (valdis@turing-police.cc.vt.edu) (gcc version 3.2.3 20030422 (Red Hat Linux 3.2.3-4)) #4 Sun May 25 16:22:44 EDT 2003
---
> Linux version 2.5.69 (valdis@turing-police.cc.vt.edu) (gcc version 3.2.3 20030422 (Red Hat Linux 3.2.3-4)) #5 Mon May 26 20:03:44 EDT 2003
24c24,25
< No local APIC present or hardware disabled
---
> Local APIC disabled by BIOS -- reenabling.
> Found and enabled local APIC!
27c28
< Detected 1595.314 MHz processor.
---
> Detected 1595.413 MHz processor.
30c31
< Memory: 254416k/262024k available (2520k kernel code, 6888k reserved, 969k data, 144k init, 0k highmem)
---
> Memory: 254416k/262024k available (2520k kernel code, 6880k reserved, 969k data, 144k init, 0k highmem)
40c41
< CPU:     After generic, caps: 3febf9ff 00000000 00000000 00000080
---
> CPU:     After generic, caps: 3febfbff 00000000 00000000 00000080
48a50,56
> enabled ExtINT on CPU#0
> ESR value before enabling vector: 00000000
> ESR value after enabling vector: 00000000
> Using local APIC timer interrupts.
> calibrating APIC timer ...
> ..... CPU clock speed is 1595.0017 MHz.
> ..... host bus clock speed is 99.0688 MHz.

So yes Virginia, there is a local APIC on the C840.

Now the bad news - out of 7 or 8 tries, the above was the only boot that lived
long enough for me to get a single-user prompt and do a dmesg into a file.
That try hung about 10 seconds later.  It never hung at the same place twice,
and always hung hard enough to require the "power button for 5 seconds to
poweroff" sledgehammer.  The common factor seemed to be hangs while talking
to the IDE drive - while mounting /, while checking the partition table,
etc.

One question - in apic.c, I see where clear_local_APIC() is called in
init_bsp_APIC(), connect_bsp_APIC(), and disable_local_APIC().  I however
don't see where/how it's called in the init_local_APIC() codepath, nor can
I convince myself that it obviously *shouldn't* be called...


[-- Attachment #2: Type: application/pgp-signature, Size: 226 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: APIC on Dell Laptops - WAS: Re: [RFC] Fix NMI watchdog documentation
  2003-05-26 19:44     ` Disconnect
@ 2003-05-27 20:25       ` Disconnect
  0 siblings, 0 replies; 20+ messages in thread
From: Disconnect @ 2003-05-27 20:25 UTC (permalink / raw)
  To: lkml

On Mon, 2003-05-26 at 14:38, mikpe@csd.uu.se wrote:
> Disconnect writes:
>  > Local APIC disabled by BIOS -- reenabling.
>  > Found and enabled local APIC!
>  > 
>  > And now /proc/cpuinfo and cpuid both show APIC support.
>  > 
>  > Removed/replaced power, triggered lid-switch/battery-status/etc with no
>  > issues.  (The only thing that caused trouble was Fn-F10, the "eject cd"
>  > button.  Never tried it under Linux before, and the cd isn't in it at
>  > the moment anyway, so I'm betting thats unrelated. But it did cause a
>  > lockup that even sysrq couldn't recover.)
> 
> Nice.

..and it gets better. Not sure what the exact problem is (updated DRM, X
etc) but Fn-F8 (CRT/LCD) hardlocks. With the no-APIC kernel (same new
DRM and so forth) it just hesitates (not sure if it works or not,
haven't got a monitor handy.)  It worked (or at least didn't lock up)
when I initially tried it, but now I can reproduce it well before X
comes up.

Looks like it should be dropped from the whitelist :(  (To recap, this
is the Inspiron 8500 w/ A02 bios)

-- 
Disconnect <lkml@sigkill.net>


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [RFC] Fix NMI watchdog documentation
  2003-05-26  2:36 ` Valdis.Kletnieks
@ 2003-05-26  5:31   ` Disconnect
  0 siblings, 0 replies; 20+ messages in thread
From: Disconnect @ 2003-05-26  5:31 UTC (permalink / raw)
  To: lkml

On Sun, 2003-05-25 at 22:36, Valdis.Kletnieks@vt.edu wrote:
> On Sun, 25 May 2003 12:50:28 +0200, mikpe@csd.uu.se said:
> 
> > The blacklist rule is a catch-all since we don't have detailed DMI
> > data on all Inspiron/Latitude models, and at the time, _all_ of them
> > were broken. Looking through my records, Inspiron 8000 and 8100, and
> > Latitude C600, C610, C640, C800, and C810 are known to be broken. Note
> > that this includes at least one P4-based machine (C640), so it's not
> > restricted to "old" mobile P3s.
> 
> OK, I put together a kernel that had the Latitude blacklist commented out,
> and it comes up with:
> 
> No local APIC present or hardware disabled
> Initializing CPU#0
> 
> So add the Latitude C840 to the "known b0rken" list.

Ditto the Inspiron 8500 - no apic at all (which is different from
known-broken, since nothing bad happened.)  

For cleanliness sake it would be nice to have specific model info in the
blacklist ("your hardware doesn't have a frobber" is nicer than "the
frobber on your hardware causes your pets to catch fire"), but since the
hardware doesn't exist anyway the end result is the same. (And the code
is a lot more readable.)

Perhaps just a comment above those entries:
/* Latitude C840 and Inspiron 8500 have no APIC support in hardware */

Eventually it might even turn into a proper whitelist/blacklist
collection.

-- 
Disconnect <lkml@sigkill.net>


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [RFC] Fix NMI watchdog documentation
  2003-05-25 10:50 mikpe
@ 2003-05-26  2:36 ` Valdis.Kletnieks
  2003-05-26  5:31   ` Disconnect
  0 siblings, 1 reply; 20+ messages in thread
From: Valdis.Kletnieks @ 2003-05-26  2:36 UTC (permalink / raw)
  To: mikpe; +Cc: lkml, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 663 bytes --]

On Sun, 25 May 2003 12:50:28 +0200, mikpe@csd.uu.se said:

> The blacklist rule is a catch-all since we don't have detailed DMI
> data on all Inspiron/Latitude models, and at the time, _all_ of them
> were broken. Looking through my records, Inspiron 8000 and 8100, and
> Latitude C600, C610, C640, C800, and C810 are known to be broken. Note
> that this includes at least one P4-based machine (C640), so it's not
> restricted to "old" mobile P3s.

OK, I put together a kernel that had the Latitude blacklist commented out,
and it comes up with:

No local APIC present or hardware disabled
Initializing CPU#0

So add the Latitude C840 to the "known b0rken" list.

[-- Attachment #2: Type: application/pgp-signature, Size: 226 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [RFC] Fix NMI watchdog documentation
@ 2003-05-25 10:50 mikpe
  2003-05-26  2:36 ` Valdis.Kletnieks
  0 siblings, 1 reply; 20+ messages in thread
From: mikpe @ 2003-05-25 10:50 UTC (permalink / raw)
  To: lkml; +Cc: linux-kernel

On 25 May 2003 01:52:16 -0400, Disconnect <lkml@sigkill.net> wrote:
>I was reading that code the other day (just out of curiosity, believe it
>or not) and I'm wondering how recently that has been tested - most of
>the blacklist/oddness workarounds listed in dmi_scan.c are
>model-specific, but the APIC entry is any Dell Inspiron or Latitude.  
>
>I'm going to remove the test tomorrow sometime and see what happens -
>lots has changed since the Inspiron 8000, including a migration to
>p4-mobile, so its worth seeing if the newer Dells are fixed.  If so,
>I'll submit a patch to make that more model-specific (probably I'll just
>add a whitelist function - no_local_apic_kills_bios or some such; seems
>better than listing every dell inspiron individually..)
>
>I'm encouraged by the complete lack of APM or any of the 'enter bios
>while running' options present on the older laptops; according to the
>comments, even if the APIC kills the bios on entry/exit, it won't matter
>since you can't trigger it to begin with..

You'll also enter BIOS (System Management Mode actually) when inserting
or removing the power cord, or when thermal events occur, and possibly
also when suspending.

The blacklist rule is a catch-all since we don't have detailed DMI
data on all Inspiron/Latitude models, and at the time, _all_ of them
were broken. Looking through my records, Inspiron 8000 and 8100, and
Latitude C600, C610, C640, C800, and C810 are known to be broken. Note
that this includes at least one P4-based machine (C640), so it's not
restricted to "old" mobile P3s.

The only non-broken Dell laptop that I know of is the Latitude D600
(Centrino), and that was reported only two months ago.

I'm all for adding an explicit white-list to dmi_scan.c. For starters,
the D600 should be included. Partial dmidecode data for it is included
below.

(There is also a generic problem in that apm can enter the BIOS
asynchronously if you configure DISPLAY_BLANK or CPU_IDLE, or build
apm as a module and unload it. Both DISPLAY_BLANK and unloading the
module are known lock-up triggers if the local APIC is enabled.)

/Mikael

Handle 0x0100
	DMI type 1, 25 bytes.
	System Information
		Manufacturer: Dell Computer Corporation
		Product Name: Latitude D600                   
Handle 0x0200
	DMI type 2, 9 bytes.
	Base Board Information
		Manufacturer: Dell Computer Corporation
		Product Name: 03U652

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [RFC] Fix NMI watchdog documentation
@ 2003-05-25 10:49 mikpe
  0 siblings, 0 replies; 20+ messages in thread
From: mikpe @ 2003-05-25 10:49 UTC (permalink / raw)
  To: Valdis.Kletnieks; +Cc: linux-kernel

On Sat, 24 May 2003 23:29:15 -0400, Valdis.Kletnieks@vt.edu wrote:
>CONFIG_X86_UP_APIC=y
>CONFIG_X86_UP_IOAPIC=y
>CONFIG_X86_LOCAL_APIC=y
>CONFIG_X86_IO_APIC=y
>
>but 'dmesg' on my Dell Latitude C840 laptop tells me:
>
>Dell Latitude with broken BIOS detected. Refusing to enable the local APIC.
>
>Is this nmi_watchdog="forget about it dave" time, or is there some way to
>get this to work?

The blacklist rule treats all Latitudes the same, since most of
them are broken. Your C840 may or may not actually work. Simply
remove the blacklist entry in dmi_scan.c and run some tests:
- does it hang at boot?
- does the kernel fail to enable the local APIC? (it's HW absent
  in many mobile CPUs)
- does it hang when the power cord is attached or detached?
- does it hang when the BIOS setup hotkey is pressed?
  (Fn-F1 on my ancient Latitude, may be different now)
- does it hang under long periods of heavy load?
- does it hang when idle for a long time?
- does it hang at suspend or resume?

If it survives these tests, with nmi_watchdog=0 and =2, then
please tell us about it so we can white-list this particular model.

/Mikael

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [RFC] Fix NMI watchdog documentation
  2003-05-25  5:03           ` Zwane Mwaikambo
@ 2003-05-25  5:52             ` Disconnect
  0 siblings, 0 replies; 20+ messages in thread
From: Disconnect @ 2003-05-25  5:52 UTC (permalink / raw)
  To: lkml

On Sun, 2003-05-25 at 01:03, Zwane Mwaikambo wrote: 
> On Sun, 25 May 2003 Valdis.Kletnieks@vt.edu wrote:
> 
> > On Sat, 24 May 2003 23:36:26 EDT, Zwane Mwaikambo said:
> > 
> > > > Dell Latitude with broken BIOS detected. Refusing to enable the local APIC.
> > 
> > > It's known broken with that configuration and hence blacklisted.
> > 
> > Yes, I know it's blacklisted.  The question I intended to ask was "Is the
> > entire concept of IOAPIC irretrievably scrozzled on this machine, or is there
> > sufficient minimum functionality to get nmi_watchdog working?"
> 
> You don't have an IOAPIC at all, but the Local APIC has been known to 
> cause problems. So forget about nmi_watchdog.
> 
> 	Zwane

I was reading that code the other day (just out of curiosity, believe it
or not) and I'm wondering how recently that has been tested - most of
the blacklist/oddness workarounds listed in dmi_scan.c are
model-specific, but the APIC entry is any Dell Inspiron or Latitude.  

I'm going to remove the test tomorrow sometime and see what happens -
lots has changed since the Inspiron 8000, including a migration to
p4-mobile, so its worth seeing if the newer Dells are fixed.  If so,
I'll submit a patch to make that more model-specific (probably I'll just
add a whitelist function - no_local_apic_kills_bios or some such; seems
better than listing every dell inspiron individually..)

I'm encouraged by the complete lack of APM or any of the 'enter bios
while running' options present on the older laptops; according to the
comments, even if the APIC kills the bios on entry/exit, it won't matter
since you can't trigger it to begin with..

-- 

Disconnect <lkml@sigkill.net>


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [RFC] Fix NMI watchdog documentation
  2003-05-25  4:48         ` Valdis.Kletnieks
@ 2003-05-25  5:03           ` Zwane Mwaikambo
  2003-05-25  5:52             ` Disconnect
  0 siblings, 1 reply; 20+ messages in thread
From: Zwane Mwaikambo @ 2003-05-25  5:03 UTC (permalink / raw)
  To: Valdis.Kletnieks; +Cc: Linux Kernel Mailing List

On Sun, 25 May 2003 Valdis.Kletnieks@vt.edu wrote:

> On Sat, 24 May 2003 23:36:26 EDT, Zwane Mwaikambo said:
> 
> > > Dell Latitude with broken BIOS detected. Refusing to enable the local APIC.
> 
> > It's known broken with that configuration and hence blacklisted.
> 
> Yes, I know it's blacklisted.  The question I intended to ask was "Is the
> entire concept of IOAPIC irretrievably scrozzled on this machine, or is there
> sufficient minimum functionality to get nmi_watchdog working?"

You don't have an IOAPIC at all, but the Local APIC has been known to 
cause problems. So forget about nmi_watchdog.

	Zwane
-- 
function.linuxpower.ca

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [RFC] Fix NMI watchdog documentation
  2003-05-25  3:36       ` Zwane Mwaikambo
@ 2003-05-25  4:48         ` Valdis.Kletnieks
  2003-05-25  5:03           ` Zwane Mwaikambo
  0 siblings, 1 reply; 20+ messages in thread
From: Valdis.Kletnieks @ 2003-05-25  4:48 UTC (permalink / raw)
  To: Zwane Mwaikambo; +Cc: Linux Kernel Mailing List

[-- Attachment #1: Type: text/plain, Size: 422 bytes --]

On Sat, 24 May 2003 23:36:26 EDT, Zwane Mwaikambo said:

> > Dell Latitude with broken BIOS detected. Refusing to enable the local APIC.

> It's known broken with that configuration and hence blacklisted.

Yes, I know it's blacklisted.  The question I intended to ask was "Is the
entire concept of IOAPIC irretrievably scrozzled on this machine, or is there
sufficient minimum functionality to get nmi_watchdog working?"


[-- Attachment #2: Type: application/pgp-signature, Size: 226 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [RFC] Fix NMI watchdog documentation
  2003-05-25  3:29     ` Valdis.Kletnieks
@ 2003-05-25  3:36       ` Zwane Mwaikambo
  2003-05-25  4:48         ` Valdis.Kletnieks
  0 siblings, 1 reply; 20+ messages in thread
From: Zwane Mwaikambo @ 2003-05-25  3:36 UTC (permalink / raw)
  To: Valdis.Kletnieks; +Cc: Linux Kernel Mailing List

On Sat, 24 May 2003 Valdis.Kletnieks@vt.edu wrote:

> but 'dmesg' on my Dell Latitude C840 laptop tells me:
> 
> Dell Latitude with broken BIOS detected. Refusing to enable the local APIC.
> 
> Is this nmi_watchdog="forget about it dave" time, or is there some way to
> get this to work?

It's known broken with that configuration and hence blacklisted.

	Zwane
-- 
function.linuxpower.ca

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [RFC] Fix NMI watchdog documentation
  2003-05-24 19:11   ` Zwane Mwaikambo
  2003-05-24 19:43     ` Carl-Daniel Hailfinger
@ 2003-05-25  3:29     ` Valdis.Kletnieks
  2003-05-25  3:36       ` Zwane Mwaikambo
  1 sibling, 1 reply; 20+ messages in thread
From: Valdis.Kletnieks @ 2003-05-25  3:29 UTC (permalink / raw)
  To: Zwane Mwaikambo; +Cc: Linux Kernel Mailing List

[-- Attachment #1: Type: text/plain, Size: 664 bytes --]

On Sat, 24 May 2003 15:11:06 EDT, Zwane Mwaikambo said:

> Forgot this bit;
> 
> w/ CONFIG_X86_LOCAL_APIC=y you only have nmi_watchdog=2
> 
> w/ CONFIG_X86_IO_APIC=y you have nmi_watchdog=1 and 2
> 
> w/ CONFIG_SMP you have nmi_watchdog=1 and 2 as it depends on 
> CONFIG_X86_IO_APIC

% grep APIC /usr/src/linux-2.5.69/.config
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_UP_APIC=y
CONFIG_X86_UP_IOAPIC=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y

but 'dmesg' on my Dell Latitude C840 laptop tells me:

Dell Latitude with broken BIOS detected. Refusing to enable the local APIC.

Is this nmi_watchdog="forget about it dave" time, or is there some way to
get this to work?

[-- Attachment #2: Type: application/pgp-signature, Size: 226 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [RFC] Fix NMI watchdog documentation
  2003-05-24 19:11   ` Zwane Mwaikambo
@ 2003-05-24 19:43     ` Carl-Daniel Hailfinger
  2003-05-25  3:29     ` Valdis.Kletnieks
  1 sibling, 0 replies; 20+ messages in thread
From: Carl-Daniel Hailfinger @ 2003-05-24 19:43 UTC (permalink / raw)
  To: Zwane Mwaikambo
  Cc: Linux Kernel Mailing List, linux-smp, Ingo Molnar,
	Marc-Christian Petersen

Zwane Mwaikambo wrote:
> On Sat, 24 May 2003, Zwane Mwaikambo wrote:
> 
> 
>>For nmi_watchdog=1 the NMI watchdog uses the programmable interval timer
>>to trigger interrupt events via the IOAPIC. with nmi_watchdog=2 we use the 
>>performance counters on the processor to trigger these events. IOAPICs 
>>are generally found on SMP motherboards (but there are UP boards with 
>>them, it's chipset dependent). Generally i686+ (save some Athlons and a 
>>few other processors) will work with nmi_watchdog=2.
> 
> 
> Forgot this bit;
> 
> w/ CONFIG_X86_LOCAL_APIC=y you only have nmi_watchdog=2
> 
> w/ CONFIG_X86_IO_APIC=y you have nmi_watchdog=1 and 2
> 
> w/ CONFIG_SMP you have nmi_watchdog=1 and 2 as it depends on 
> CONFIG_X86_IO_APIC

Marc-Christian Petersen wrote:
> the nmi_watchdog is always compiled in if you select "CONFIG_X86_LOCAL_APIC"
> 
> see "arch/i386/kernel/Makefile"

Thanks to all who responded. I will prepare a patch for
Documentation/nmi_watchdog.txt to clarify it and send the patch to Linus
and Marcelo.


Regards,
Carl-Daniel
-- 
http://www.hailfinger.org/


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [RFC] Fix NMI watchdog documentation
  2003-05-24 19:07 Carl-Daniel Hailfinger
  2003-05-24 19:08 ` Zwane Mwaikambo
@ 2003-05-24 19:12 ` Marc-Christian Petersen
  1 sibling, 0 replies; 20+ messages in thread
From: Marc-Christian Petersen @ 2003-05-24 19:12 UTC (permalink / raw)
  To: Carl-Daniel Hailfinger, Linux Kernel Mailing List, linux-smp,
	Ingo Molnar

On Saturday 24 May 2003 21:07, Carl-Daniel Hailfinger wrote:

Hi Carl-Daniel,

> Documentation/nmi_watchdog.txt does not say which CONFIG_XYZ option has
> to be enabled to use the NMI watchdog, but it mentions that IO-APIC is
> somewhat related.
>
> Documentation/Configure.help is equally unclear. The NMI watchdog is
> mentioned as related to CONFIG_SMP, and the help text for
> CONFIG_X86_UP_APIC says: "The local APIC supports [..] the NMI watchdog"
> That does not necessarily mean that NMI is compiled in once local APIC
> support is selected.
>
> Can someone please shed some light on this issue? I'm willing to create
> a patch to fix the docs once I know if the NMI watchdog is compiled in
> alsways or on what it depends.
the nmi_watchdog is always compiled in if you select "CONFIG_X86_LOCAL_APIC"

see "arch/i386/kernel/Makefile"

ciao, Marc



^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [RFC] Fix NMI watchdog documentation
  2003-05-24 19:08 ` Zwane Mwaikambo
@ 2003-05-24 19:11   ` Zwane Mwaikambo
  2003-05-24 19:43     ` Carl-Daniel Hailfinger
  2003-05-25  3:29     ` Valdis.Kletnieks
  0 siblings, 2 replies; 20+ messages in thread
From: Zwane Mwaikambo @ 2003-05-24 19:11 UTC (permalink / raw)
  To: Carl-Daniel Hailfinger; +Cc: Linux Kernel Mailing List, linux-smp, Ingo Molnar

On Sat, 24 May 2003, Zwane Mwaikambo wrote:

> For nmi_watchdog=1 the NMI watchdog uses the programmable interval timer
> to trigger interrupt events via the IOAPIC. with nmi_watchdog=2 we use the 
> performance counters on the processor to trigger these events. IOAPICs 
> are generally found on SMP motherboards (but there are UP boards with 
> them, it's chipset dependent). Generally i686+ (save some Athlons and a 
> few other processors) will work with nmi_watchdog=2.

Forgot this bit;

w/ CONFIG_X86_LOCAL_APIC=y you only have nmi_watchdog=2

w/ CONFIG_X86_IO_APIC=y you have nmi_watchdog=1 and 2

w/ CONFIG_SMP you have nmi_watchdog=1 and 2 as it depends on 
CONFIG_X86_IO_APIC

	Zwane

-- 
function.linuxpower.ca

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [RFC] Fix NMI watchdog documentation
  2003-05-24 19:07 Carl-Daniel Hailfinger
@ 2003-05-24 19:08 ` Zwane Mwaikambo
  2003-05-24 19:11   ` Zwane Mwaikambo
  2003-05-24 19:12 ` Marc-Christian Petersen
  1 sibling, 1 reply; 20+ messages in thread
From: Zwane Mwaikambo @ 2003-05-24 19:08 UTC (permalink / raw)
  To: Carl-Daniel Hailfinger; +Cc: Linux Kernel Mailing List, linux-smp, Ingo Molnar

On Sat, 24 May 2003, Carl-Daniel Hailfinger wrote:

> Documentation/nmi_watchdog.txt does not say which CONFIG_XYZ option has
> to be enabled to use the NMI watchdog, but it mentions that IO-APIC is
> somewhat related.
> 
> Documentation/Configure.help is equally unclear. The NMI watchdog is
> mentioned as related to CONFIG_SMP, and the help text for
> CONFIG_X86_UP_APIC says: "The local APIC supports [..] the NMI watchdog"
> That does not necessarily mean that NMI is compiled in once local APIC
> support is selected.
> 
> Can someone please shed some light on this issue? I'm willing to create
> a patch to fix the docs once I know if the NMI watchdog is compiled in
> alsways or on what it depends.

For nmi_watchdog=1 the NMI watchdog uses the programmable interval timer
to trigger interrupt events via the IOAPIC. with nmi_watchdog=2 we use the 
performance counters on the processor to trigger these events. IOAPICs 
are generally found on SMP motherboards (but there are UP boards with 
them, it's chipset dependent). Generally i686+ (save some Athlons and a 
few other processors) will work with nmi_watchdog=2.

	Zwane
-- 
function.linuxpower.ca

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [RFC] Fix NMI watchdog documentation
@ 2003-05-24 19:07 Carl-Daniel Hailfinger
  2003-05-24 19:08 ` Zwane Mwaikambo
  2003-05-24 19:12 ` Marc-Christian Petersen
  0 siblings, 2 replies; 20+ messages in thread
From: Carl-Daniel Hailfinger @ 2003-05-24 19:07 UTC (permalink / raw)
  To: Linux Kernel Mailing List, linux-smp, Ingo Molnar

Hello,

Documentation/nmi_watchdog.txt does not say which CONFIG_XYZ option has
to be enabled to use the NMI watchdog, but it mentions that IO-APIC is
somewhat related.

Documentation/Configure.help is equally unclear. The NMI watchdog is
mentioned as related to CONFIG_SMP, and the help text for
CONFIG_X86_UP_APIC says: "The local APIC supports [..] the NMI watchdog"
That does not necessarily mean that NMI is compiled in once local APIC
support is selected.

Can someone please shed some light on this issue? I'm willing to create
a patch to fix the docs once I know if the NMI watchdog is compiled in
alsways or on what it depends.


Regards,
Carl-Daniel
-- 
http://www.hailfinger.org/


^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2003-05-27 20:12 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-05-26  9:21 [RFC] Fix NMI watchdog documentation mikpe
2003-05-26 16:40 ` APIC on Dell Laptops - WAS: " Disconnect
2003-05-26 18:38   ` mikpe
2003-05-26 19:44     ` Disconnect
2003-05-27 20:25       ` Disconnect
2003-05-27  3:19 ` Valdis.Kletnieks
  -- strict thread matches above, loose matches on Subject: below --
2003-05-25 10:50 mikpe
2003-05-26  2:36 ` Valdis.Kletnieks
2003-05-26  5:31   ` Disconnect
2003-05-25 10:49 mikpe
2003-05-24 19:07 Carl-Daniel Hailfinger
2003-05-24 19:08 ` Zwane Mwaikambo
2003-05-24 19:11   ` Zwane Mwaikambo
2003-05-24 19:43     ` Carl-Daniel Hailfinger
2003-05-25  3:29     ` Valdis.Kletnieks
2003-05-25  3:36       ` Zwane Mwaikambo
2003-05-25  4:48         ` Valdis.Kletnieks
2003-05-25  5:03           ` Zwane Mwaikambo
2003-05-25  5:52             ` Disconnect
2003-05-24 19:12 ` Marc-Christian Petersen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).