Distribution: Debian/stable Hardware Environment: Cyrix 6x86MX PR200+ on a VXProII motherboard # lspci 0000:00:05.0 Host bridge: Hint Corp VXPro II Chipset 0000:00:05.1 ISA bridge: Hint Corp VXPro II Chipset 0000:00:05.2 IDE interface: Hint Corp VXPro II IDE 0000:00:08.0 VGA compatible controller: Alliance Semiconductor Corporation ProVideo 6422 (rev 02) 0000:00:0a.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10) Problem Description: On 2.6 kernels I've tested: # cat /proc/cpuinfo processor : 0 vendor_id : unknown cpu family : 4 model : 0 model name : 486 stepping : unknown fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : no cpuid level : -1 wp : yes flags : bogomips : 164.86 On 2.4.27-2 (debian): # cat /proc/cpuinfo processor : 0 vendor_id : CyrixInstead cpu family : 6 model : 1 model name : 6x86MX 2.5x Core/Bus Clock stepping : 4 cpu MHz : 0.000 fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : yes fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu de tsc msr cx8 pge cmov mmx cyrix_arr ds_cpl est cid bogomips : 166.29 SR
Aha. Enabling Cyrix CPU ID in BIOS solves this. 2.4 Kernels still correctly Identify the CPU without this, though... SR
I'll see what the difference is, but if it requires too much code to fix, i'd recommend sticking with the BIOS option.
Can you paste the output of dmesg after booting (with cpuid disabled in bios please)
My guess as to whats happening so far :- In 2.4, identify_cpu called id_and_try_enable_cpuid() In 2.6, we do the work that id_and_try_enable_cpuid() did in cyrix_identify(), which is too late.
# dmesg Linux version 2.6.12-gabi (stefanor@imago) (gcc version 3.3.5 (Debian 1:3.3.5-13)) #1 Wed Jun 22 00:46:19 SAST 2005 BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 000000000009fc00 (usable) BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved) BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 0000000004000000 (usable) BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved) BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved) BIOS-e820: 00000000fffe0000 - 0000000100000000 (reserved) 64MB LOWMEM available. On node 0 totalpages: 16384 DMA zone: 4096 pages, LIFO batch:1 Normal zone: 12288 pages, LIFO batch:7 HighMem zone: 0 pages, LIFO batch:1 DMI not present. Allocating PCI resources starting at 04000000 (gap: 04000000:fac00000) Built 1 zonelists Kernel command line: root=/dev/hda1 ro Initializing CPU#0 PID hash table entries: 512 (order: 9, 8192 bytes) Using pit for high-res timesource Console: colour VGA+ 80x25 Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) Memory: 61104k/65536k available (2089k kernel code, 4008k reserved, 873k data, 152k init, 0k highmem) Checking if this processor honours the WP bit even in supervisor mode... Ok. Calibrating delay loop... 164.35 BogoMIPS (lpj=82176) Mount-cache hash table entries: 512 CPU: After generic identify, caps: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 CPU: After all inits, caps: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 CPU: 486 Checking 'hlt' instruction... OK. NET: Registered protocol family 16 PCI: PCI BIOS revision 2.10 entry at 0xfdb31, last bus=0 mtrr: v2.0 (20020519) Linux Plug and Play Support v0.97 (c) Adam Belay PnPBIOS: Scanning system for PnP BIOS support... PnPBIOS: Found PnP BIOS installation structure at 0xc00f8730 PnPBIOS: PnP BIOS version 1.0, entry 0xf0000:0x808e, dseg 0xf0000 PnPBIOS: Missing SMALL_TAG_ENDDEP tag PnPBIOS: Missing SMALL_TAG_ENDDEP tag PnPBIOS: Missing SMALL_TAG_ENDDEP tag PnPBIOS: Missing SMALL_TAG_ENDDEP tag PnPBIOS: 14 nodes reported by PnP BIOS; 14 recorded by driver PCI: Probing PCI hardware PCI: Probing PCI hardware (bus 00) Boot video device is 0000:00:08.0 pnp: 00:0d: ioport range 0x4d0-0x4d1 has been reserved pnp: 00:0d: ioport range 0xcf8-0xcff has been reserved pnp: 00:0d: ioport range 0x3f7-0x3f7 has been reserved pnp: 00:0d: ioport range 0x108-0x109 has been reserved apm: BIOS version 1.2 Flags 0x0b (Driver version 1.16ac) VFS: Disk quotas dquot_6.5.1 Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) Initializing Cryptographic API isapnp: Scanning for PnP cards... isapnp: Card 'ESS ES1868 Plug and Play AudioDrive' isapnp: 1 Plug & Play card detected total lp: driver loaded but no devices found Real Time Clock Driver v1.12 Non-volatile memory driver v1.2 ppdev: user-space parallel port driver Software Watchdog Timer: 0.07 initialized. soft_noboot=0 soft_margin=60 sec (nowayout= 0) Hangcheck: starting hangcheck timer 0.9.0 (tick is 180 seconds, margin is 60 seconds). Hangcheck: Using monotonic_clock(). PNP: PS/2 controller doesn't have AUX irq; using default 0xc PNP: PS/2 Controller [PNP0303] at 0x60,0x64 irq 112 serio: i8042 KBD port at 0x60,0x64 irq 1 Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing disabled ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A ttyS2 at I/O 0x3e8 (irq = 4) is a 16550A ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A ttyS2 at I/O 0x3e8 (irq = 4) is a 16550A parport: PnPBIOS parport detected. parport0: PC-style at 0x378 (0x778), irq 7, dma 3 [PCSPP,TRISTATE,COMPAT,ECP,DMA] lp0: using parport0 (interrupt-driven). io scheduler noop registered io scheduler deadline registered Floppy drive(s): fd0 is 1.44M FDC 0 is an 8272A PPP generic driver version 2.4.2 PPP Deflate Compression module registered PPP BSD Compression module registered 8139cp: 10/100 PCI Ethernet driver v1.2 (Mar 22, 2004) 8139cp: pci dev 0000:00:0a.0 (id 10ec:8139 rev 10) is not an 8139C+ compatible chip 8139cp: Try the "8139too" driver instead. 8139too Fast Ethernet driver 0.9.27 eth0: RealTek RTL8139 at 0xc480ef00, 00:02:44:14:d4:78, IRQ 10 eth0: Identified 8139 chip type 'RTL-8139C' Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx HINT_IDE: IDE controller at PCI slot 0000:00:05.2 HINT_IDE: chipset revision 0 HINT_IDE: not 100% native mode: will probe irqs later HINT_IDE: dma_base is invalid ide0: HINT_IDE Bus-Master DMA disabled (BIOS) HINT_IDE: dma_base is invalid ide1: HINT_IDE Bus-Master DMA disabled (BIOS) Probing IDE interface ide0... hda: WDC AC24300L, ATA DISK drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 Probing IDE interface ide1... hdc: Compaq CRD-8322B, ATAPI CD/DVD-ROM drive ide1 at 0x170-0x177,0x376 on irq 15 pnp: Device 01:01.03 activated. ide3: generic PnP IDE interface ide2: I/O resource 0x3EE-0x3EE not free. ide2: ports already in use, skipping probe Probing IDE interface ide3... Probing IDE interface ide4... Probing IDE interface ide5... hda: max request size: 128KiB hda: 8421840 sectors (4311 MB) w/256KiB Cache, CHS=8912/15/63 hda: cache flushes not supported hda: hda1 hda2 < hda5 > hdc: ATAPI 32X CD-ROM drive, 128kB Cache Uniform CD-ROM driver Revision: 3.20 mice: PS/2 mouse device common for all mice input: PC Speaker md: linear personality registered as nr 1 md: raid0 personality registered as nr 2 md: raid1 personality registered as nr 3 md: raid10 personality registered as nr 9 md: md driver 0.90.1 MAX_MD_DEVS=256, MD_SB_DISKS=27 device-mapper: 4.4.0-ioctl (2005-01-12) initialised: dm-devel@redhat.com Advanced Linux Sound Architecture Driver Version 1.0.9rc2 (Thu Mar 24 10:33:39 2005 UTC). pnp: Device 01:01.00 activated. pnp: Device 01:01.01 activated. ALSA device list: #0: ESS AudioDrive ES1868 at 0x220, irq 5, dma1 1, dma2 0 NET: Registered protocol family 2 input: AT Translated Set 2 keyboard on isa0060/serio0 IP: routing cache hash table of 512 buckets, 4Kbytes TCP established hash table entries: 4096 (order: 3, 32768 bytes) TCP bind hash table entries: 4096 (order: 2, 16384 bytes) TCP: Hash tables configured (established 4096 bind 4096) ip_tables: (C) 2000-2002 Netfilter core team NET: Registered protocol family 1 NET: Registered protocol family 17 md: Autodetecting RAID arrays. md: autorun ... md: ... autorun DONE. ReiserFS: hda1: found reiserfs format "3.6" with standard journal ReiserFS: hda1: using ordered data mode ReiserFS: hda1: journal params: device hda1, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30 ReiserFS: hda1: checking transaction log (hda1) ReiserFS: hda1: Using r5 hash to sort names VFS: Mounted root (reiserfs filesystem) readonly. Freeing unused kernel memory: 152k freed Adding 176672k swap on /dev/hda5. Priority:-1 extents:1 eth0: link up, 100Mbps, full-duplex, lpa 0x45E1 Hangcheck: hangcheck value past margin!
So... are we planning on fixing 2.6 or should we close this one off?
I'd rather avoid fixing this if it's possible to use BIOS workaround.