Re: ATAng doesn't boot on my notebook - panic

From: Vladimir B. Grebenschikov <vova_at_fbsd.ru>
Date: Tue, 07 Oct 2003 13:42:58 +0400
В пн, 06.10.2003, в 22:48, Vladimir B. Grebenschikov пишет:

> Soren, please help.
> 
> I can't boot kernel after ATAng. It founds one extra ATA device 
> (I have no ata1-slave attached) and then panics.
> 
> All details in PR kern/57156.

I have workarounded problem by disabling slave ATA devices
(I have no slaves so it is acceptable for me):

RCS file: /ext/ncvs/src/sys/dev/ata/ata-all.c,v
retrieving revision 1.190
diff -u -r1.190 ata-all.c
--- sys/dev/ata/ata-all.c       27 Sep 2003 12:00:58 -0000      1.190
+++ sys/dev/ata/ata-all.c       6 Oct 2003 19:00:14 -0000
_at__at_ -577,11 +577,12 _at__at_
 ata_identify_devices(struct ata_channel *ch)
 {
     if (ch->devices & ATA_ATA_SLAVE) {
-       if (ata_getparam(&ch->device[SLAVE], ATA_ATA_IDENTIFY))
+/*     if (ata_getparam(&ch->device[SLAVE], ATA_ATA_IDENTIFY)) */
            ch->devices &= ~ATA_ATA_SLAVE;
 #ifdef DEV_ATADISK
-       else
-           ch->device[SLAVE].attach = ad_attach;
+/*     else
+           ch->device[SLAVE].attach = ad_attach; 
+*/
 #endif
     }
     if (ch->devices & ATA_ATAPI_SLAVE) {


> In short:
> 
> ad0: setting UDMA33 on Intel PIIX4 chip
> GEOM: create disk ad0 dp=0xc1d00970
> ad0: <TOSHIBA MK4019GAX/FA002D> ATA-5 disk at ata0-master
> ad0: 38154MB (78140160 sectors), 77520 C, 16 H, 63 S, 512 B
> ad0: 16 secs/int, 1 depth queue, UDMA33
> GEOM: new disk ad0
> [0] f:00 typ:6 s(CHS):0/1/1 e(CHS):969/239/63 s:63 l:14666337
> [1] f:00 typ:160 s(CHS):970/0/1 e(CHS):996/239/63 s:14666400 l:408240
> [2] f:80 typ:165 s(CHS):997/0/1 e(CHS):1023/239/63 s:15074640 l:41942880
> [3] f:00 typ:165 s(CHS):1023/0/1 e(CHS):1023/239/63 s:57017520
> l:21122640
> GEOM: Configure ad0s1, start 32256 length 7509164544 end 7509196799
> GEOM: Configure ad0s2, start 7509196800 length 209018880 end 7718215679
> GEOM: Configure ad0s3, start 7718215680 length 21474754560 end
> 9192970239
> GEOM: Configure ad0s4, start 29192970240 length 10814791680 end
> 40007761919
> GEOM: Configure ad0s3a, start 0 length 134217728 end 134217727
> GEOM: Configure ad0s3b, start 134217728 length 268435456 end 402653183
> GEOM: Configure ad0s3c, start 0 length 21474754560 end 21474754559
> GEOM: Configure ad0s3e, start 402653184 length 6442450944 end 6845104127
> GEOM: Configure ad0s3f, start 6845104128 length 14629650432 end
> 1474754559
> GEOM: Configure ad0s4c, start 0 length 10814791680 end 10814791679
> GEOM: Configure ad0s4e, start 0 length 134217728 end 134217727
> GEOM: Configure ad0s4f, start 134217728 length 8915517440 end 9049735167
> ata1-slave: pio=0x08 wdma=0xffffffff udma=0xffffffff cable=40pin
> ata1-master: pio=0x09 wdma=0xffffffff udma=0xffffffff cable=40pin
> ad1: FAILURE - SETFEATURES status=51<READY,DSC,ERROR> error=4<ABORTED>
> ad1: FAILURE - SETFEATURES status=51<READY,DSC,ERROR> error=4<ABORTED>
> ad1: FAILURE - SETFEATURES status=51<READY,DSC,ERROR> error=4<ABORTED>
> ad1: FAILURE setting PIO1 on Intel PIIX4 chip
> GEOM: create disk ad1 dp=0xc1d4b770
> ad1: <MEMORYSTICK 4M 8K/SONY1.00> ATA-0 disk at ata1-master
> ad1: 3MB (7904 sectors), 247 C, 2 H, 16 S, 512 B
> ad1: 1 secs/int, 1 depth queue, BIOSPIO
> GEOM: new disk ad1
> ad2: WARNING - SETFEATURES recovered from missing interrupt
> [0] f:80 typ:1 s(CHS):0/1/12 e(CHS):245/1/16 s:27 l:7845
> [1] f:00 typ:0 s(CHS):0/0/0 e(CHS):0/0/0 s:0 l:0
> [2] f:00 typ:0 s(CHS):0/0/0 e(CHS):0/0/0 s:0 l:0
> [3] f:00 typ:0 s(CHS):0/0/0 e(CHS):0/0/0 s:0 l:0
> GEOM: Configure ad1s1, start 13824 length 4016640 end 4030463
> ad2: WARNING - SETFEATURES recovered from missing interrupt
> ad2: WARNING - SETFEATURES recovered from missing interrupt
> ad2: setting PIO0 on Intel PIIX4 chip
> GEOM: create disk ad2 dp=0xc1d4b970
> ad2: </> ATA-0 disk at ata1-slave
> 
> Fatal trap 18: integer divide fault while in kernel mode
> instruction pointer     = 0x8:0xc03fa088
> stack pointer           = 0x10:0xc05c5c54
> frame pointer           = 0x10:0xc05c5cd0
> code segment            = base 0x0, limit 0xfffff, type 0x1b
>                         = DPL 0, pres 1, def32 1, gran 1
> processor eflags        = interrupt enabled, resume, IOPL = 0
> current process         = 0 (swapper)
> kernel: type 18 trap, code=0
> Stopped at      __qdivrem+0x38: divl    %ecx,%eax
> db> tra
> __qdivrem(0,0,0,0,0) at __qdivrem+0x38
> __udivdi3(0,0,0,0,0) at __udivdi3+0x2e
> ad_attach(c1c712d4,1,c0ac6c50,c0445310,c05c5d74) at ad_attach+0x4aa
> ata_boot_attach(0,c02392d6,c046392c,0,c0445310) at ata_boot_attach+0x6f
> run_interrupt_driven_config_hooks(0,0,c0ac46f8,c0ac46f8,5c2c00) at
> run_interrupt_driven_config_hooks+0x2b
> mi_startup() at mi_startup+0xa1
> begin() at begin+0x2c
> db>
> 
> Any solution or workaround ?
-- 
Vladimir B. Grebenschikov <vova_at_fbsd.ru>
SWsoft Inc.
Received on Tue Oct 07 2003 - 01:31:23 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:24 UTC