For information,
I have tried the new linux-2.4.20-rc2-ac1 version and it shows the
same problems as 2.4.20-rc1-ac4. That is, the kernel does not boot
with the following message:
-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----
ALI15x3: simplex device: DMA forced
ide1: bm-dma at 0x1400-0x140f, BIOS settings: hdc: DMA, hdd: DMA
blk: queue c029d6a0, I/O limit 4095MB (mask 0xffff..ff)
unable to handle kernel NULL pointer dereference at vistual address 00000010
printing eip:Nc0107cab
*pde = 000000000N
Oops: 0000
CPU: 0
EIP: 0010:[<c0107cab>] no tainted
EFLAGS: 00010002
eax: 00000000 ebx: 00001fe0 ecx: 000000001 edx: 000000ff
esi: 00000212 edi: c029da4v ebp: 0000000ff esp: c1a13f64
s: 0018 es: 0018 ss: 0018
Process swapper (pid: 1, stackpage=c1a30000)
stack: 0000000ff 0000000001 ....
call Trace: [<c019ee85>] [<c019fa98>] [<c0105021>] [<c01054a9>]
code: 8b 40 10 ff d0 83 c4 04 56 9d 83 3d 84 dc 27 c0 00 75 0f 89
<0>kernel panic: Attempted to kill init
-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----
Sincerely,
--
Manuel
On Wed, 2002-11-20 at 08:44, Manuel Serrano wrote:
> For information,
>
> I have tried the new linux-2.4.20-rc2-ac1 version and it shows the
> same problems as 2.4.20-rc1-ac4. That is, the kernel does not boot
Can you look up the EIP and call trace values in system.map or feed the
oops data to ksymoops >
Hello Alan,
I have tried the new 2.4.20-rc2-ac3 and I'm still unable to boot the kernel.
I have the following error message (this is a copy so it might contain
typos)...
-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----
ALI15X3: simplex device: DMA forced
ide1: BM-DMA at 0x1408-0x140f, BIOS settings: hdc:DMA, hdd:DMA
hda: IC25N..., ATA DISK drive
blk: queue c029d6a0, I/O limit 4095Mb (mask 0xffffffff)
Unable to handle kernel NULL pointer dereference at virtual address 00000010
printing eip:
c0107cab
*pde = 00000000
Ooops: 00000
CPU: 0
EIP: 0010:[<c0107cab>] Not tainted
EFLAGS: 00010002
eax: 00000000 ebx: 00001fe0 ecx: 00000001 edx: 000000ff
esi: 00000212 edi: c029da4c ebp: 000000ff esp: c1a13f64
ds: 0018 es: 0018 ss: 0018
Process swapper (pid: 1, stackpage=c1a13000)
Stack: 000000ff 00000001 c029da4c c019ed05 000000ff 00000001 c1a13fa0 c029da4c
0000e000 00000286 c019f91c c029da4c c0275554 c0267fd8 00000000 00000001
00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001
Call Trace: [<c019ed05>] [<c019f91c>] [<c0105021>] [<c01054a9>]
Code: 0b 40 10 ff d0 83 c4 04 56 9d 83 3d 84 dc 27 c0 00 75 0f 89
<0>Kernel panic: Attempted to kill init!
-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----
> Can you look up the EIP and call trace values in system.map or feed the
> oops data to ksymoops >
Here is what I got with ksymoops:
-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----
sh-2.05b# ksymoops --vmlinux=/usr/src/linux-2.4.20-rc2-ac3/vmlinux --system-map=/usr/src/linux-2.4.20-rc2-ac3/System.map -L -K /tmp/Oops.file
ksymoops 2.4.7 on i686 2.4.20-pre10-ac2. Options used
-v /usr/src/linux-2.4.20-rc2-ac3/vmlinux (specified)
-K (specified)
-L (specified)
-o /lib/modules/2.4.20-pre10-ac2/ (default)
-m /usr/src/linux-2.4.20-rc2-ac3/System.map (specified)
No modules in ksyms, skipping objects
Unable to handle kernel NULL pointer dereference at virtual address 00000010
c0107cab
*pde = 00000000
CPU: 0
EIP: 0010:[<c0107cab>] Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010002
eax: 00000000 ebx: 00001fe0 ecx: 00000001 edx: 000000ff
esi: 00000212 edi: c029da4c ebp: 000000ff esp: c1a13f64
ds: 0018 es: 0018 ss: 0018
Process swapper (pid: 1, stackpage=c1a13000)
Stack: 000000ff 00000001 c029da4c c019ed05 000000ff 00000001 c1a13fa0 c029da4c
0000e000 00000286 c019f91c c029da4c c0275554 c0267fd8 00000000 00000001
00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001
Call Trace: [<c019ed05>] [<c019f91c>] [<c0105021>] [<c01054a9>]
Code: 0b 40 10 ff d0 83 c4 04 56 9d 83 3d 84 dc 27 c0 00 75 0f 89
>>EIP; c0107cab <disable_irq+2f/54> <=====
>>edi; c029da4c <ide_hwifs+46c/2c38>
Trace; c019ed05 <probe_hwif+b8/2ee>
Trace; c019f91c <ideprobe_init+4d/9a>
Trace; c0105021 <init+7/fe>
Trace; c01054a9 <kernel_thread+28/35>
Code; c0107cab <disable_irq+2f/54>
00000000 <_EIP>:
Code; c0107cab <disable_irq+2f/54> <=====
0: 0b 40 10 or 0x10(%eax),%eax <=====
Code; c0107cae <disable_irq+32/54>
3: ff d0 call *%eax
Code; c0107cb0 <disable_irq+34/54>
5: 83 c4 04 add $0x4,%esp
Code; c0107cb3 <disable_irq+37/54>
8: 56 push %esi
Code; c0107cb4 <disable_irq+38/54>
9: 9d popf
Code; c0107cb5 <disable_irq+39/54>
a: 83 3d 84 dc 27 c0 00 cmpl $0x0,0xc027dc84
Code; c0107cbc <disable_irq+40/54>
11: 75 0f jne 22 <_EIP+0x22>
Code; c0107cbe <disable_irq+42/54>
13: 89 00 mov %eax,(%eax)
<0>Kernel panic: Attempted to kill init!
-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----
Please tell me if I can do something else (in particular, I'm not pretty
sure of the way to invoke ksymoops).
Sincerely,
--
Manuel
Manuel Serrano <[email protected]> writes:
> Stack: 000000ff 00000001 c029da4c c019ed05 000000ff 00000001 c1a13fa0 c029da4c
> 0000e000 00000286 c019f91c c029da4c c0275554 c0267fd8 00000000 00000001
> 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001
> Call Trace: [<c019ed05>] [<c019f91c>] [<c0105021>] [<c01054a9>]
> Code: 0b 40 10 ff d0 83 c4 04 56 9d 83 3d 84 dc 27 c0 00 75 0f 89
>
>
> >>EIP; c0107cab <disable_irq+2f/54> <=====
>
> >>edi; c029da4c <ide_hwifs+46c/2c38>
Looks like the same problem on my VAIO-U3. The following log is on
2.5.47.
ACPI: PCI Interrupt Link [LNK6] enabled at IRQ 9
ACPI: PCI Interrupt Link [LNK7] enabled at IRQ 9
ACPI: No IRQ known for interrupt pin A of device 00:10.0 - using IRQ 255
PCI: Using ACPI for IRQ routing
[...]
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ALI15X3: IDE controller at PCI slot 00:10.0
ACPI: No IRQ known for interrupt pin A of device 00:10.0 - using IRQ 255
ALI15X3: chipset revision 196
ALI15X3: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0x1400-0x1407, BIOS settings: hda:DMA, hdb:pio
ALI15X3: simplex device: DMA forced
ide1: BM-DMA at 0x1408-0x140f, BIOS settings: hdc:DMA, hdd:DMA
hda: TOSHIBA MK2003GAH, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hda: host protected area => 1
hda: 39062520 sectors (20000 MB), CHS=2431/255/63, UDMA(100)
hda: hda1 hda2 hda3
register interface 'mouse' with class 'input
It seems ACPI assigned 255 to IRQ, so disable_irq() did oops.
The following is my stupid patch. I hope this info helps.
--- linux-2.5.47/drivers/ide/ide-probe.c~ide-kludge 2002-11-14 02:41:40.000000000 +0900
+++ linux-2.5.47-hirofumi/drivers/ide/ide-probe.c 2002-11-14 02:41:40.000000000 +0900
@@ -654,6 +654,8 @@ void probe_hwif (ide_hwif_t *hwif)
* We must always disable IRQ, as probe_for_drive will assert IRQ, but
* we'll install our IRQ driver much later...
*/
+ if (hwif->irq == 255)
+ hwif->irq = 0;
irqd = hwif->irq;
if (irqd)
disable_irq(hwif->irq);
--
OGAWA Hirofumi <[email protected]>
On Fri, 22 Nov 2002 23:53:33 +0900
OGAWA Hirofumi <[email protected]> wrote:
> Manuel Serrano <[email protected]> writes:
>
> > Stack: 000000ff 00000001 c029da4c c019ed05 000000ff 00000001 c1a13fa0 c029da4c
> > 0000e000 00000286 c019f91c c029da4c c0275554 c0267fd8 00000000 00000001
> > 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001
> > Call Trace: [<c019ed05>] [<c019f91c>] [<c0105021>] [<c01054a9>]
> > Code: 0b 40 10 ff d0 83 c4 04 56 9d 83 3d 84 dc 27 c0 00 75 0f 89
> >
> >
> > >>EIP; c0107cab <disable_irq+2f/54> <=====
> >
> > >>edi; c029da4c <ide_hwifs+46c/2c38>
>
> Looks like the same problem on my VAIO-U3. The following log is on
> 2.5.47.
>
> ACPI: PCI Interrupt Link [LNK6] enabled at IRQ 9
> ACPI: PCI Interrupt Link [LNK7] enabled at IRQ 9
> ACPI: No IRQ known for interrupt pin A of device 00:10.0 - using IRQ 255
> PCI: Using ACPI for IRQ routing
>
> [...]
>
> Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
> ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
> ALI15X3: IDE controller at PCI slot 00:10.0
> ACPI: No IRQ known for interrupt pin A of device 00:10.0 - using IRQ 255
> ALI15X3: chipset revision 196
> ALI15X3: not 100% native mode: will probe irqs later
> ide0: BM-DMA at 0x1400-0x1407, BIOS settings: hda:DMA, hdb:pio
> ALI15X3: simplex device: DMA forced
> ide1: BM-DMA at 0x1408-0x140f, BIOS settings: hdc:DMA, hdd:DMA
> hda: TOSHIBA MK2003GAH, ATA DISK drive
> ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
> hda: host protected area => 1
> hda: 39062520 sectors (20000 MB), CHS=2431/255/63, UDMA(100)
> hda: hda1 hda2 hda3
> register interface 'mouse' with class 'input
>
> It seems ACPI assigned 255 to IRQ, so disable_irq() did oops.
> The following is my stupid patch. I hope this info helps.
>
> --- linux-2.5.47/drivers/ide/ide-probe.c~ide-kludge 2002-11-14 02:41:40.000000000 +0900
> +++ linux-2.5.47-hirofumi/drivers/ide/ide-probe.c 2002-11-14 02:41:40.000000000 +0900
> @@ -654,6 +654,8 @@ void probe_hwif (ide_hwif_t *hwif)
> * We must always disable IRQ, as probe_for_drive will assert IRQ, but
> * we'll install our IRQ driver much later...
> */
> + if (hwif->irq == 255)
> + hwif->irq = 0;
> irqd = hwif->irq;
> if (irqd)
> disable_irq(hwif->irq);
> --
> OGAWA Hirofumi <[email protected]>
You patch helps a lot because the new kernel is now able to boot, with
the DMA enabled. I have the impression that there is still one
problem because when I enable ATA66 (with hdparm -X66) I have the following
error message:
-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----
hda: dma_intr: status=0x5a { DriveReady SeekComplete DataRequest Index }
hda: dma_timer_expiry: dma status == 0x21
hda: timeout waiting for DMA
hda: timeout waiting for DMA
hda: (__ide_dma_test_irq) called while not waiting
hda: status error: status=0x58 { DriveReady SeekComplete DataRequest }
hda: drive not ready for command
-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----
Do you have an idea of the meaning of this message?
Anyway, many thanks for your help.
--
Manuel
Manuel Serrano <[email protected]> writes:
> On Fri, 22 Nov 2002 23:53:33 +0900
> OGAWA Hirofumi <[email protected]> wrote:
>
> > Manuel Serrano <[email protected]> writes:
> >
> > > Stack: 000000ff 00000001 c029da4c c019ed05 000000ff 00000001 c1a13fa0 c029da4c
> > > 0000e000 00000286 c019f91c c029da4c c0275554 c0267fd8 00000000 00000001
> > > 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001
> > > Call Trace: [<c019ed05>] [<c019f91c>] [<c0105021>] [<c01054a9>]
> > > Code: 0b 40 10 ff d0 83 c4 04 56 9d 83 3d 84 dc 27 c0 00 75 0f 89
> > >
> > >
> > > >>EIP; c0107cab <disable_irq+2f/54> <=====
> > >
> > > >>edi; c029da4c <ide_hwifs+46c/2c38>
> >
> > Looks like the same problem on my VAIO-U3. The following log is on
> > 2.5.47.
> >
> > ACPI: PCI Interrupt Link [LNK6] enabled at IRQ 9
> > ACPI: PCI Interrupt Link [LNK7] enabled at IRQ 9
> > ACPI: No IRQ known for interrupt pin A of device 00:10.0 - using IRQ 255
> > PCI: Using ACPI for IRQ routing
> >
> > [...]
> >
> > Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
> > ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
> > ALI15X3: IDE controller at PCI slot 00:10.0
> > ACPI: No IRQ known for interrupt pin A of device 00:10.0 - using IRQ 255
> > ALI15X3: chipset revision 196
> > ALI15X3: not 100% native mode: will probe irqs later
> > ide0: BM-DMA at 0x1400-0x1407, BIOS settings: hda:DMA, hdb:pio
> > ALI15X3: simplex device: DMA forced
> > ide1: BM-DMA at 0x1408-0x140f, BIOS settings: hdc:DMA, hdd:DMA
> > hda: TOSHIBA MK2003GAH, ATA DISK drive
> > ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
> > hda: host protected area => 1
> > hda: 39062520 sectors (20000 MB), CHS=2431/255/63, UDMA(100)
> > hda: hda1 hda2 hda3
> > register interface 'mouse' with class 'input
> >
> > It seems ACPI assigned 255 to IRQ, so disable_irq() did oops.
> > The following is my stupid patch. I hope this info helps.
> >
> > --- linux-2.5.47/drivers/ide/ide-probe.c~ide-kludge 2002-11-14 02:41:40.000000000 +0900
> > +++ linux-2.5.47-hirofumi/drivers/ide/ide-probe.c 2002-11-14 02:41:40.000000000 +0900
> > @@ -654,6 +654,8 @@ void probe_hwif (ide_hwif_t *hwif)
> > * We must always disable IRQ, as probe_for_drive will assert IRQ, but
> > * we'll install our IRQ driver much later...
> > */
> > + if (hwif->irq == 255)
> > + hwif->irq = 0;
> > irqd = hwif->irq;
> > if (irqd)
> > disable_irq(hwif->irq);
> > --
> > OGAWA Hirofumi <[email protected]>
> You patch helps a lot because the new kernel is now able to boot, with
> the DMA enabled. I have the impression that there is still one
> problem because when I enable ATA66 (with hdparm -X66) I have the following
> error message:
>
> -----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----
> hda: dma_intr: status=0x5a { DriveReady SeekComplete DataRequest Index }
>
> hda: dma_timer_expiry: dma status == 0x21
> hda: timeout waiting for DMA
> hda: timeout waiting for DMA
> hda: (__ide_dma_test_irq) called while not waiting
> hda: status error: status=0x58 { DriveReady SeekComplete DataRequest }
>
> hda: drive not ready for command
> -----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----
>
> Do you have an idea of the meaning of this message?
Sorry, I don't know. On my machine with 2.5.47 seems hdparm -X
34/66/67/68/69 works fine.
/dev/hda:
Model=TOSHIBA MK2003GAH, FwRev=AM.05 A, SerialNo=X2630112T
Config={ Fixed }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=46
BuffType=unknown, BuffSize=0kB, MaxMultSect=16, MultSect=off
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=39062520
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: sdma0 sdma1 sdma2 mdma0 mdma1 mdma2 udma0 udma1 *udma2 udma3 udma4 udma5
AdvancedPM=yes: unknown setting WriteCache=enabled
Drive Supports : Reserved : ATA-1 ATA-2 ATA-3 ATA-4 ATA-5
--
OGAWA Hirofumi <[email protected]>
Hello Alan,
I have tried linux-2.4.20-ac1 on my Sony Vaoi (PCG-C1MHP, a computer equipped
with a Crusoe and an ALIM 1533 ide driver). Your patches are not sufficient
enough to make the machine booting with the non-generic IDE drivers. I have
had to apply a patch sent by Ogawa Hirofumi (I don't know exactly who's
the author of this patch). Please find it enclosed at the end of this mail.
With this setting the machine boot up correctly and the DMA are enabled.
Sincerely,
--
Manuel
*** ide-probe-2.4.20-ac1.c Mon Dec 9 09:52:12 2002
--- ide-probe-2.4.20-ac1-ms.c Mon Dec 9 09:55:35 2002
***************
*** 635,638 ****
--- 635,643 ----
* we'll install our IRQ driver much later...
*/
+ /* OGAWA Hirofumi --> */
+ if (hwif->irq == 255)
+ hwif->irq = 0;
+ irqd = hwif->irq;
+ /* OGAWA Hirofumi <-- */
irqd = hwif->irq;
if (irqd)