Messages in this thread | | | From | Frantisek Dufka <> | Subject | Buggy HLT instruction in Cyrix M2 or error in ATAPI CDROM code ? | Date | Sat, 16 Oct 1999 11:17:13 +0100 |
| |
Hello,
I upgraded my Intel P150 (2x75Mhz) with Cyrix MII 300+ (3x75) and since then I have problem reading from CDROM. The problem occurrs only when the CPU is idle. Transfer rate drops from 600KB/s to approx. 30KB/s and there are following random errors in syslog:
Oct 15 14:01:02 arthur kernel: hdb: command error: status=0x51 { DriveReady Seek Complete Error } Oct 15 14:01:02 arthur kernel: hdb: command error: error=0x54 Oct 15 14:01:02 arthur kernel: ATAPI device hdb: Oct 15 14:01:02 arthur kernel: Error: Illegal request -- (Sense key=0x05) Oct 15 14:01:02 arthur kernel: Illegal mode for this track or incompatible med ium -- (asc=0x64, ascq=0x00) Oct 15 14:01:41 arthur kernel: hdb: command error: status=0x51 { DriveReady Seek Complete Error } Oct 15 14:01:41 arthur kernel: hdb: command error: error=0x54 Oct 15 14:01:41 arthur kernel: end_request: I/O error, dev 03:40 (hdb), sector 1 1424 Oct 15 14:01:41 arthur kernel: ATAPI device hdb: Oct 15 14:01:41 arthur kernel: Error: Illegal request -- (Sense key=0x05) Oct 15 14:01:41 arthur kernel: Illegal mode for this track or incompatible med ium -- (asc=0x64, ascq=0x00)
I tried to turn off SUSP_HLT flag in the CPU with set6x86 -p 0xC2 -s 0x08. The transfer rate went up to cca. 100 KB/s and there were maybe less errors in syslog.
The problem does not occurr when I boot with 'no-hlt' kernel option or when the CPU is not idle - i.e. running "nice /bin/sh -c 'while true ; do true; done &'" immediately stops all the errors and the transfer rate goes back to 600KB/s.
The most interesting is that there are NO problems with hard drive. Maybe the faster CDROM (say 44x) will work OK ?
I tried following kernels with the same results : 2.0.36, 2.2.12, 2.2.13pre17 (all compiled on debian with gcc 2.7.2.3) and 2.2.5-22 from Red Hat
My system is :
P5VX-Be motherboard, 64 MB RAM CPU: Cyrix M II 3x Core/Bus Clock stepping 04 PIIX3: IDE controller on PCI bus 00 dev 39 hdb: GCD-R540C, ATAPI CDROM drive hdc: Maxtor 90680D4, ATA DISK drive
CPU setup is :
6x86 CCR0: 0x2 NC1 set (address region 640Kb-1Mb non-cacheable) CCR1: 0x92 NO_LOCK set CCR2: 0x88 SUSP_HLT set (low power suspend mode enabled) CCR3: 0x10 CCR4: 0x87 DTE cache disabled, no I/O recovery time CCR5: 0xa1 slow LOOP disabled, allocate cache lines on write misses
6x86 Address Region Register dump: ARR0: address = 0xA0000 , size = 128 KB RCR = 0x9 : not cached, write gathering ARR1: address = 0xC0000 , size = 256 KB RCR = 0x1 : not cached ARR2: disabled ARR3: address = 0xA8000 , size = 32 KB RCR = 0x9 : not cached, write gathering ARR4: disabled ARR5: disabled ARR6: address = 0xE0000000 , size = 2 MB RCR = 0x9 : not cached, write gathering ARR7: address = 0x0 , size = 64 MB RCR = 0x9 : cached, write gathering
I want to be environment-friendly and keep my CPU cool, can anyone help me with this ? :-)
thanks,
Frantisek Dufka dufkaf@prfnw.upol.cz
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |