public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* 2.4.29-pre1 OOPS early in boot with Intel ICH5 SATA controller
@ 2004-12-09  9:49 Alan J. Wylie
  2004-12-10 16:04 ` Alan J. Wylie
  2004-12-11 18:52 ` Jeff Garzik
  0 siblings, 2 replies; 12+ messages in thread
From: Alan J. Wylie @ 2004-12-09  9:49 UTC (permalink / raw)
  To: linux-kernel; +Cc: EC, Jeff Garzik, Marcelo Tosatti


See also: <http://lkml.org/lkml/2004/12/3/68>

With 2.4.27 patched with

<http://www.kernel.org/pub/linux/kernel/people/jgarzik/patchkits/2.4/2.4.27-rc3-libata1.patch.bz2>

the system works. I have not been able to make it work with any later
2.4 kernel

Motherboard: Supermicro X6DA8-G2

[snippet from LSPCI -v]
------------------------------------------------------------------------------
00:1f.2 IDE interface: Intel Corp. 82801EB Ultra ATA Storage Controller (rev 02) (prog-if 8a [Master SecP PriP])
        Subsystem: Super Micro Computer Inc: Unknown device 5680
        Flags: bus master, 66Mhz, medium devsel, latency 0, IRQ 18
        I/O ports at <ignored>
        I/O ports at <ignored>
        I/O ports at <ignored>
        I/O ports at <ignored>
        I/O ports at 18e0 [size=16]

[I hope I've got the patching right]
------------------------------------------------------------------------------

# rm -r linux-2.4.28/
# tar xIf linux-2.4.28.tar.bz2 
# cd linux-2.4.28/
# bzip2 -dc  ../patch-2.4.29-pre1.bz2     | patch -p 1 --quiet
# bzip2 -dc  ../patch-2.4.29-pre1-bk5.bz2 | patch -p 1 --quiet

[grep -v "^#" .config]
------------------------------------------------------------------------------
CONFIG_X86=y
CONFIG_UID16=y

CONFIG_MPENTIUMIII=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_X86_L1_CACHE_SHIFT=5
CONFIG_X86_HAS_TSC=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_PGE=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_F00F_WORKS_OK=y
CONFIG_NOHIGHMEM=y
CONFIG_X86_TSC=y

CONFIG_NET=y
CONFIG_PCI=y
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_NAMES=y
CONFIG_HOTPLUG=y

CONFIG_PCMCIA=y
CONFIG_CARDBUS=y

CONFIG_SYSVIPC=y
CONFIG_SYSCTL=y
CONFIG_KCORE_ELF=y
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_MISC=y
CONFIG_PM=y
CONFIG_APM=y
CONFIG_APM_CPU_IDLE=y
CONFIG_APM_RTC_IS_GMT=y

CONFIG_PNP=y

CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
CONFIG_MD_RAID1=y
CONFIG_BLK_DEV_LVM=y

CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_SD_EXTRA_DEVS=40
CONFIG_SCSI_DEBUG_QUEUES=y
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y

CONFIG_SCSI_SATA=y
CONFIG_SCSI_ATA_PIIX=y

CONFIG_NETDEVICES=y

CONFIG_NET_PCMCIA=y
CONFIG_PCMCIA_PCNET=y
CONFIG_NET_PCMCIA_RADIO=y
CONFIG_PCMCIA_RAYCS=y

CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_SERIAL=y
CONFIG_SERIAL_CONSOLE=y
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256

CONFIG_MOUSE=y
CONFIG_PSMOUSE=y

CONFIG_RTC=y

CONFIG_EXT3_FS=y
CONFIG_JBD=y
CONFIG_TMPFS=y
CONFIG_RAMFS=y
CONFIG_PROC_FS=y
CONFIG_DEVPTS_FS=y
CONFIG_EXT2_FS=y

CONFIG_MSDOS_PARTITION=y

CONFIG_VGA_CONSOLE=y

CONFIG_DEBUG_KERNEL=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_LOG_BUF_SHIFT=0

[last lines of output on screen]
------------------------------------------------------------------------------
SCSI subsystem driver revision: 1.00
ata1: SATA max UDMA/133 cmd 0x1F0 ctl 0x3F6 bmdma 0x18E0 irq 14
ata1:dev 0 ATA, max UDMA/133, 398297088 sectors: lba48
ata1:dev 0 configured for UDMA/133 

[decoded output of ksymoops]
------------------------------------------------------------------------------
ksymoops 2.4.9 on i686 2.4.27.  Options used
     -V (default)
     -K (specified)
     -L (specified)
     -O (specified)
     -m /boot/System.map (specified)

Unable to handle kernel NULL pointer dereference at virtual address 00000050
  c01ccd07
*pde = 00000000
Oops: 0000
CPU:    1
EIP:    0010:[<c01ccd07>]    Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010246
eax: 00000000   ebx: f7e5007c   ecx: 00000000   edx: 00000002
esi: f7e50000   edi: f7e50220   ebp: f7e50220   esp: c19b1f0c
ds: 0018   es: 0018   ss: 0018
Process swapper (pid: 1, stackpage=c19b1000)
Stack: f7e5007c f7e50000 c19bed00 f7e50220 00000000 c19bed00 00000000 c19bed20
       c01cce91 f7e50220 c19bed00 00000000 c02746cc c19beda0 000003f6 00000286
       0000000e f7e75c00 00000000 f7e50220 00000001 c0105000 c02a05c0 c01ccf8d
Call Trace: [<c01cce91>] [<c0105000>] [<c01ccf8d>] [<c01bd49b>] [<c01d27ec>]
  [<c0105000>] [<c01050b9>] [<c01057de>] [<c0105090>]
Code: ff 50 50 89 da 85 c0 75 12 8b 5c 24 14 89 d0 8b 74 24 18 8b


>>EIP; c01ccd07 <ata_host_add+57/80>   <=====

Trace; c01cce91 <ata_device_add+161/200>
Trace; c0105000 <_stext+0/0>
Trace; c01ccf8d <ata_scsi_detect+5d/90>
Trace; c01bd49b <scsi_register_host+2fb/310>
Trace; c01d27ec <pci_register_driver+5c/60>
Trace; c0105000 <_stext+0/0>
Trace; c01050b9 <init+29/150>
Trace; c01057de <arch_kernel_thread+2e/40>
Trace; c0105090 <init+0/150>

Code;  c01ccd07 <ata_host_add+57/80>
00000000 <_EIP>:
Code;  c01ccd07 <ata_host_add+57/80>   <=====
   0:   ff 50 50                  call   *0x50(%eax)   <=====
Code;  c01ccd0a <ata_host_add+5a/80>
   3:   89 da                     mov    %ebx,%edx
Code;  c01ccd0c <ata_host_add+5c/80>
   5:   85 c0                     test   %eax,%eax
Code;  c01ccd0e <ata_host_add+5e/80>
   7:   75 12                     jne    1b <_EIP+0x1b>
Code;  c01ccd10 <ata_host_add+60/80>
   9:   8b 5c 24 14               mov    0x14(%esp),%ebx
Code;  c01ccd14 <ata_host_add+64/80>
   d:   89 d0                     mov    %edx,%eax
Code;  c01ccd16 <ata_host_add+66/80>
   f:   8b 74 24 18               mov    0x18(%esp),%esi
Code;  c01ccd1a <ata_host_add+6a/80>
  13:   8b 00                     mov    (%eax),%eax

  <0>Kernel panic: Attempted to kill init!


-- 
Alan J. Wylie                                          http://www.wylie.me.uk/
"Perfection [in design] is achieved not when there is nothing left to add,
but rather when there is nothing left to take away."
  -- Antoine de Saint-Exupery

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

* Re: 2.4.29-pre1 OOPS early in boot with Intel ICH5 SATA controller
  2004-12-09  9:49 2.4.29-pre1 OOPS early in boot with Intel ICH5 SATA controller Alan J. Wylie
@ 2004-12-10 16:04 ` Alan J. Wylie
  2004-12-11 18:52 ` Jeff Garzik
  1 sibling, 0 replies; 12+ messages in thread
From: Alan J. Wylie @ 2004-12-10 16:04 UTC (permalink / raw)
  To: linux-kernel, linux-ide; +Cc: EC, Jeff Garzik, Marcelo Tosatti

On Thu, 9 Dec 2004 09:49:33 +0000, "Alan J. Wylie" <alan@wylie.me.uk> said:

> See also: <http://lkml.org/lkml/2004/12/3/68>

> With 2.4.27 patched with

> <http://www.kernel.org/pub/linux/kernel/people/jgarzik/patchkits/2.4/2.4.27-rc3-libata1.patch.bz2>

> the system works. I have not been able to make it work with any
> later 2.4 kernel

> Motherboard: Supermicro X6DA8-G2

Changing the BIOS settings from the default:
With BIOS setting  "Native Mode Operation: [Auto]"
 to:
With BIOS setting  "Native Mode Operation: [Both]"

results in the system working OK with the later kernel.

There is still an issue, however with trying to use two drives and
software RAID. With both drives, or with one drive pulled, the system
boots OK. If the other drive (Channel 3 Master) is pulled, however,
the system fails to boot, after producing the following error messages
- both 2.4.29-pre1-bk5 and 2.6.9 kernels produce very similar messages.

With BIOS setting  "Native Mode Operation: [Both]"

ACPI:PCI interrupt 0000:00:1f.2[A] -> GSI 18 (level, low) -> IRQ 18
ata1: SATA max UDMA/133 cmd 0x1C00 ctl 0x18F6 bmdma 0x18E0 irq 18
ata2: SATA max UDMA/133 cmd 0x18F8 ctl 0x18F2 bmdma 0x18E8 irq 18
ata1: SATA port has no device.
scsi0: ata_piix
ATA abnormal status 0x7F on port 0x18FF
scsi1: ata_piix

With BIOS setting  "Native Mode Operation: [Auto]"

ACPI:PCI interrupt 0000:00:1f.2[A] -> GSI 18 (level, low) -> IRQ 18
ata1: SATA max UDMA/133 cmd 0x1F0 ctl 0x3F6 bmdma 0x18E0 irq 14
ata1: SATA port has no device.
scsi0: ata_piix
Using anticpatory io scheduler
ata2: SATA max UDMA/133 cmd 0x170 ctl 0x376 bmdma 0x18E8 irq 15
ata2: SATA port has no device.
scsi1: ata_piix

-- 
Alan J. Wylie                                          http://www.wylie.me.uk/
"Perfection [in design] is achieved not when there is nothing left to add,
but rather when there is nothing left to take away."
  -- Antoine de Saint-Exupery

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

* Re: 2.4.29-pre1 OOPS early in boot with Intel ICH5 SATA controller
  2004-12-09  9:49 2.4.29-pre1 OOPS early in boot with Intel ICH5 SATA controller Alan J. Wylie
  2004-12-10 16:04 ` Alan J. Wylie
@ 2004-12-11 18:52 ` Jeff Garzik
  2004-12-11 20:24   ` EC
                     ` (2 more replies)
  1 sibling, 3 replies; 12+ messages in thread
From: Jeff Garzik @ 2004-12-11 18:52 UTC (permalink / raw)
  To: Alan J. Wylie; +Cc: linux-kernel, EC, Marcelo Tosatti

Alan J. Wylie wrote:
> Code;  c01ccd07 <ata_host_add+57/80>
> 00000000 <_EIP>:
> Code;  c01ccd07 <ata_host_add+57/80>   <=====
>    0:   ff 50 50                  call   *0x50(%eax)   <=====
> Code;  c01ccd0a <ata_host_add+5a/80>
>    3:   89 da                     mov    %ebx,%edx
> Code;  c01ccd0c <ata_host_add+5c/80>
>    5:   85 c0                     test   %eax,%eax
> Code;  c01ccd0e <ata_host_add+5e/80>
>    7:   75 12                     jne    1b <_EIP+0x1b>
> Code;  c01ccd10 <ata_host_add+60/80>
>    9:   8b 5c 24 14               mov    0x14(%esp),%ebx
> Code;  c01ccd14 <ata_host_add+64/80>
>    d:   89 d0                     mov    %edx,%eax
> Code;  c01ccd16 <ata_host_add+66/80>
>    f:   8b 74 24 18               mov    0x18(%esp),%esi
> Code;  c01ccd1a <ata_host_add+6a/80>
>   13:   8b 00                     mov    (%eax),%eax

If you are getting an oops there, it looks like your ata_piix driver is 
mismatched from the libata core.  Did you compile them both at the same 
time, from the same source kernel?

The assembly code above is where function ata_host_add in libata-core.c 
calls "ap->ops->port_start", which definitely exists in ata_piix.c.

	Jeff



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

* RE: 2.4.29-pre1 OOPS early in boot with Intel ICH5 SATA controller
  2004-12-11 18:52 ` Jeff Garzik
@ 2004-12-11 20:24   ` EC
  2004-12-11 20:37     ` Jeff Garzik
  2004-12-12 15:40   ` Alan J. Wylie
  2004-12-13 10:50   ` Alan J. Wylie
  2 siblings, 1 reply; 12+ messages in thread
From: EC @ 2004-12-11 20:24 UTC (permalink / raw)
  To: 'Jeff Garzik', 'Alan J. Wylie'
  Cc: linux-kernel, 'Marcelo Tosatti'

>-----Message d'origine-----
>De : Jeff Garzik [mailto:jgarzik@pobox.com]
>Envoyé : samedi 11 décembre 2004 19:52
>À : Alan J. Wylie
>Cc : linux-kernel@vger.kernel.org; EC; Marcelo Tosatti
>Objet : Re: 2.4.29-pre1 OOPS early in boot with Intel ICH5 SATA controller
>
>Alan J. Wylie wrote:
>> Code;  c01ccd07 <ata_host_add+57/80>
>> 00000000 <_EIP>:
>> Code;  c01ccd07 <ata_host_add+57/80>   <=====
>>    0:   ff 50 50                  call   *0x50(%eax)   <=====
>> Code;  c01ccd0a <ata_host_add+5a/80>
>>    3:   89 da                     mov    %ebx,%edx
>> Code;  c01ccd0c <ata_host_add+5c/80>
>>    5:   85 c0                     test   %eax,%eax
>> Code;  c01ccd0e <ata_host_add+5e/80>
>>    7:   75 12                     jne    1b <_EIP+0x1b>
>> Code;  c01ccd10 <ata_host_add+60/80>
>>    9:   8b 5c 24 14               mov    0x14(%esp),%ebx
>> Code;  c01ccd14 <ata_host_add+64/80>
>>    d:   89 d0                     mov    %edx,%eax
>> Code;  c01ccd16 <ata_host_add+66/80>
>>    f:   8b 74 24 18               mov    0x18(%esp),%esi
>> Code;  c01ccd1a <ata_host_add+6a/80>
>>   13:   8b 00                     mov    (%eax),%eax
>
>If you are getting an oops there, it looks like your ata_piix driver is
>mismatched from the libata core.  Did you compile them both at the same
>time, from the same source kernel?
>
>The assembly code above is where function ata_host_add in libata-core.c
>calls "ap->ops->port_start", which definitely exists in ata_piix.c.
>
>	Jeff

After some more testing I made my system work again. 
With 2.4.27 kernel + patch : SATA Only works fine in BIOS.
With 2.4.28 kerenl, no patch : *Must* put enhanced mode (SATA Only makes
oops).

:)

EC.



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

* Re: 2.4.29-pre1 OOPS early in boot with Intel ICH5 SATA controller
  2004-12-11 20:24   ` EC
@ 2004-12-11 20:37     ` Jeff Garzik
  2004-12-11 20:59       ` EC
  0 siblings, 1 reply; 12+ messages in thread
From: Jeff Garzik @ 2004-12-11 20:37 UTC (permalink / raw)
  To: EC; +Cc: 'Alan J. Wylie', linux-kernel, 'Marcelo Tosatti'

EC wrote:
>>-----Message d'origine-----
>>De : Jeff Garzik [mailto:jgarzik@pobox.com]
>>Envoyé : samedi 11 décembre 2004 19:52
>>À : Alan J. Wylie
>>Cc : linux-kernel@vger.kernel.org; EC; Marcelo Tosatti
>>Objet : Re: 2.4.29-pre1 OOPS early in boot with Intel ICH5 SATA controller
>>
>>Alan J. Wylie wrote:
>>
>>>Code;  c01ccd07 <ata_host_add+57/80>
>>>00000000 <_EIP>:
>>>Code;  c01ccd07 <ata_host_add+57/80>   <=====
>>>   0:   ff 50 50                  call   *0x50(%eax)   <=====
>>>Code;  c01ccd0a <ata_host_add+5a/80>
>>>   3:   89 da                     mov    %ebx,%edx
>>>Code;  c01ccd0c <ata_host_add+5c/80>
>>>   5:   85 c0                     test   %eax,%eax
>>>Code;  c01ccd0e <ata_host_add+5e/80>
>>>   7:   75 12                     jne    1b <_EIP+0x1b>
>>>Code;  c01ccd10 <ata_host_add+60/80>
>>>   9:   8b 5c 24 14               mov    0x14(%esp),%ebx
>>>Code;  c01ccd14 <ata_host_add+64/80>
>>>   d:   89 d0                     mov    %edx,%eax
>>>Code;  c01ccd16 <ata_host_add+66/80>
>>>   f:   8b 74 24 18               mov    0x18(%esp),%esi
>>>Code;  c01ccd1a <ata_host_add+6a/80>
>>>  13:   8b 00                     mov    (%eax),%eax
>>
>>If you are getting an oops there, it looks like your ata_piix driver is
>>mismatched from the libata core.  Did you compile them both at the same
>>time, from the same source kernel?
>>
>>The assembly code above is where function ata_host_add in libata-core.c
>>calls "ap->ops->port_start", which definitely exists in ata_piix.c.
>>
>>	Jeff
> 
> 
> After some more testing I made my system work again. 
> With 2.4.27 kernel + patch : SATA Only works fine in BIOS.
> With 2.4.28 kerenl, no patch : *Must* put enhanced mode (SATA Only makes
> oops).

Can you provide oops output decoded with ksymoops?

	Jeff




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

* RE: 2.4.29-pre1 OOPS early in boot with Intel ICH5 SATA controller
  2004-12-11 20:37     ` Jeff Garzik
@ 2004-12-11 20:59       ` EC
  0 siblings, 0 replies; 12+ messages in thread
From: EC @ 2004-12-11 20:59 UTC (permalink / raw)
  To: 'Jeff Garzik', 'EC'
  Cc: 'Alan J. Wylie', linux-kernel, 'Marcelo Tosatti'

>>>Objet : Re: 2.4.29-pre1 OOPS early in boot with Intel ICH5 SATA
>controller
>>>
>>>Alan J. Wylie wrote:
>>>
>>>>Code;  c01ccd07 <ata_host_add+57/80>
>>>>00000000 <_EIP>:
>>>>Code;  c01ccd07 <ata_host_add+57/80>   <=====
>>>>   0:   ff 50 50                  call   *0x50(%eax)   <=====
>>>>Code;  c01ccd0a <ata_host_add+5a/80>
>>>>   3:   89 da                     mov    %ebx,%edx
>>>>Code;  c01ccd0c <ata_host_add+5c/80>
>>>>   5:   85 c0                     test   %eax,%eax
>>>>Code;  c01ccd0e <ata_host_add+5e/80>
>>>>   7:   75 12                     jne    1b <_EIP+0x1b>
>>>>Code;  c01ccd10 <ata_host_add+60/80>
>>>>   9:   8b 5c 24 14               mov    0x14(%esp),%ebx
>>>>Code;  c01ccd14 <ata_host_add+64/80>
>>>>   d:   89 d0                     mov    %edx,%eax
>>>>Code;  c01ccd16 <ata_host_add+66/80>
>>>>   f:   8b 74 24 18               mov    0x18(%esp),%esi
>>>>Code;  c01ccd1a <ata_host_add+6a/80>
>>>>  13:   8b 00                     mov    (%eax),%eax
>>>
>>>If you are getting an oops there, it looks like your ata_piix driver is
>>>mismatched from the libata core.  Did you compile them both at the same
>>>time, from the same source kernel?
>>>
>>>The assembly code above is where function ata_host_add in libata-core.c
>>>calls "ap->ops->port_start", which definitely exists in ata_piix.c.
>>>
>>>	Jeff
>>
>>
>> After some more testing I made my system work again.
>> With 2.4.27 kernel + patch : SATA Only works fine in BIOS.
>> With 2.4.28 kerenl, no patch : *Must* put enhanced mode (SATA Only makes
>> oops).
>
>Can you provide oops output decoded with ksymoops?
>

As given on the first mail of this thread  :

>>EIP; c01ad09f <ata_host_add+3b/5c>   <=====

Trace; c01ad18c <ata_device_add+cc/214>
Trace; c01ad30c <ata_scsi_detect+38/68>
Trace; c01a15ca <scsi_register_host+7e/2f4> 
Trace; c01b1c78 <pci_announce_device+1c/50> 
Trace; c01b1cf4 <pci_register_driver+48/60> 
Trace; c01b1ce6 <pci_register_driver+3a/60> 
Trace; c01a1f26 <scsi_register_module+2a/5c> 
Trace; c01050a5 <init+29/144> 
Trace; c01070f0 <arch_kernel_thread+28/38>

Code;  c01ad09f <ata_host_add+3b/5c>
00000000 <_EIP>:
Code;  c01ad09f <ata_host_add+3b/5c>   <=====
   0:   8b 40 50                  mov    0x50(%eax),%eax   <=====
Code;  c01ad0a2 <ata_host_add+3e/5c>
   3:   ff d0                     call   *%eax
Code;  c01ad0a4 <ata_host_add+40/5c>
   5:   83 c4 18                  add    $0x18,%esp
Code;  c01ad0a7 <ata_host_add+43/5c>
   8:   85 c0                     test   %eax,%eax
Code;  c01ad0a9 <ata_host_add+45/5c>
   a:   74 0d                     je     19 <_EIP+0x19>
Code;  c01ad0ab <ata_host_add+47/5c>
   c:   56                        push   %esi
Code;  c01ad0ac <ata_host_add+48/5c>
   d:   e8 0f 53 ff ff            call   ffff5321 <_EIP+0xffff5321>
Code;  c01ad0b1 <ata_host_add+4d/5c>
  12:   31 c0                     xor    %eax,%eax

EC.


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

* Re: 2.4.29-pre1 OOPS early in boot with Intel ICH5 SATA controller
  2004-12-11 18:52 ` Jeff Garzik
  2004-12-11 20:24   ` EC
@ 2004-12-12 15:40   ` Alan J. Wylie
  2004-12-13 10:50   ` Alan J. Wylie
  2 siblings, 0 replies; 12+ messages in thread
From: Alan J. Wylie @ 2004-12-12 15:40 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: linux-kernel, EC, Marcelo Tosatti

On Sat, 11 Dec 2004 13:52:12 -0500, Jeff Garzik <jgarzik@pobox.com> said:

> If you are getting an oops there, it looks like your ata_piix driver
> is mismatched from the libata core.  Did you compile them both at
> the same time, from the same source kernel?

Yes. Clean build, everything compiled into the kernel, no modules.

> The assembly code above is where function ata_host_add in
> libata-core.c calls "ap->ops->port_start", which definitely exists
> in ata_piix.c.

As I noted in my follow-up e-mail, and EC has confirmed, changing the
BIOS settings from Native Mode: Auto to Native Mode: Both works around
this problem.

-- 
Alan J. Wylie                                          http://www.wylie.me.uk/
"Perfection [in design] is achieved not when there is nothing left to add,
but rather when there is nothing left to take away."
  -- Antoine de Saint-Exupery

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

* Re: 2.4.29-pre1 OOPS early in boot with Intel ICH5 SATA controller
  2004-12-11 18:52 ` Jeff Garzik
  2004-12-11 20:24   ` EC
  2004-12-12 15:40   ` Alan J. Wylie
@ 2004-12-13 10:50   ` Alan J. Wylie
  2004-12-13 11:09     ` Jeff Garzik
  2 siblings, 1 reply; 12+ messages in thread
From: Alan J. Wylie @ 2004-12-13 10:50 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: linux-kernel, linux-ide, EC, Marcelo Tosatti


On Sat, 11 Dec 2004 13:52:12 -0500, Jeff Garzik <jgarzik@pobox.com> said:

> If you are getting an oops there, it looks like your ata_piix driver
> is mismatched from the libata core.  Did you compile them both at
> the same time, from the same source kernel?

> The assembly code above is where function ata_host_add in
> libata-core.c calls "ap->ops->port_start", which definitely exists
> in ata_piix.c.

I've just reproduced the boot, taking care and double checking every
step, this time with 2.4.29-pre1-bk7

I get the pretty much same crash.

The same kernel with BIOS "Native Mode" set to BOTH works.

# cd tmp

# ls -l
total 8
drwxr-xr-x    2 root     root         4096 Dec 10 15:40 .
drwxr-xr-x   15 root     root         4096 Dec 10 16:25 ..

# tar xIf .../linux-2.4.28.tar.bz2

# cd linux-2.4.28/
# bzip2 -dc .../patch-2.4.29-pre1.bz2     | patch -p 1 --quiet
# bzip2 -dc .../patch-2.4.29-pre1-bk7.bz2 | patch -p 1 --quiet

# cp .../.config .
# make oldconfig

# sed -i '/^#export\tINSTALL_PATH=\/boot/s/#//' Makefile

# grep -v "^#" .config | cat -s

CONFIG_X86=y
CONFIG_UID16=y

CONFIG_EXPERIMENTAL=y

CONFIG_MPENTIUMIII=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_X86_L1_CACHE_SHIFT=5
CONFIG_X86_HAS_TSC=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_PGE=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_F00F_WORKS_OK=y
CONFIG_NOHIGHMEM=y
CONFIG_X86_TSC=y

CONFIG_NET=y
CONFIG_PCI=y
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_NAMES=y
CONFIG_HOTPLUG=y

CONFIG_PCMCIA=y
CONFIG_CARDBUS=y

CONFIG_SYSVIPC=y
CONFIG_SYSCTL=y
CONFIG_KCORE_ELF=y
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_MISC=y
CONFIG_PM=y
CONFIG_APM=y
CONFIG_APM_CPU_IDLE=y
CONFIG_APM_RTC_IS_GMT=y

CONFIG_PNP=y

CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
CONFIG_MD_RAID1=y
CONFIG_BLK_DEV_LVM=y

CONFIG_SCSI=y

CONFIG_BLK_DEV_SD=y
CONFIG_SD_EXTRA_DEVS=40

CONFIG_SCSI_DEBUG_QUEUES=y
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y

CONFIG_SCSI_SATA=y
CONFIG_SCSI_ATA_PIIX=y

CONFIG_NETDEVICES=y

CONFIG_NET_PCMCIA=y
CONFIG_PCMCIA_PCNET=y
CONFIG_NET_PCMCIA_RADIO=y
CONFIG_PCMCIA_RAYCS=y

CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_SERIAL=y
CONFIG_SERIAL_CONSOLE=y
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256

CONFIG_MOUSE=y
CONFIG_PSMOUSE=y

CONFIG_RTC=y

CONFIG_EXT3_FS=y
CONFIG_JBD=y
CONFIG_TMPFS=y
CONFIG_RAMFS=y
CONFIG_PROC_FS=y
CONFIG_DEVFS_FS=y
CONFIG_DEVFS_MOUNT=y
CONFIG_DEVPTS_FS=y
CONFIG_EXT2_FS=y

CONFIG_MSDOS_PARTITION=y

CONFIG_VGA_CONSOLE=y

CONFIG_DEBUG_KERNEL=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_LOG_BUF_SHIFT=0

# make dep && make clean && make

# make install

# date
Mon Dec 13 10:15:00 GMT 2004

# ls -lrt /boot
total 2588
...
-rw-r--r--    1 root     root       690354 Dec 13 10:14 vmlinuz
-rw-r--r--    1 root     root       359525 Dec 13 10:14 System.map

[reboot]

[BIOS setup - Native Mode Operation AUTO ]

[OOPS]

PCI: Sharing IRQ 10 with 04:02.0
ata1: SATA max UDMA/133 cmd 0x1F0 ctl 0x3F6 bdma 0x18E0 irq 14
ata1: dev 0 ATA, max UDMA/133, 398297088 sectors: lba48
ata1: dev 0 configured for UDMA/133

ksymoops 2.4.9 on i686 2.4.29-pre1-bk5.  Options used
     -V (default)
     -K (specified)
     -L (specified)
     -O (specified)
     -m /boot/System.map (specified)

Unable to handle kernel NULL pointer dereference at virtual address 00000050
c01afb37
*pde = 00000000
Oops: 0000
CPU:    0
EIP:    0010:[<c01afb37>]    Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010246
eax: 00000000   ebx: f7e6b878   ecx: 00000000   edx: 00000002
esi: f7e6b800   edi: f7e6ba20   ebp: f7e6ba20   esp: c19b7f18
ds: 0018   es: 0018   ss: 0018
Process swapper (pid: 1, stackpage=c19b7000)
Stack: f7e6b878 f7e6b800 c19bfa00 f7e6ba20 00000000 c19bfa00 00000000 c19bfa1c
       c01afcc0 f7e6ba20 c19bfa00 00000000 c0208ccb 00000286 000003f6 000018e0
       0000000e c19b0800 00000000 f7e6ba20 00000001 c0105000 c0226ce0 c01afda2
Call Trace:    [<c01afcc0>] [<c0105000>] [<c01afda2>] [<c01a0ab5>] [<c01b536c>]
  [<c01b53dc>] [<c0105000>] [<c010507b>] [<c0105000>] [<c010569e>] [<c0105070>]
Code: ff 50 50 89 da 85 c0 75 12 8b 5c 24 14 89 d0 8b 74 24 18 8b


>>EIP; c01afb37 <ata_host_add+57/80>   <=====

Trace; c01afcc0 <ata_device_add+160/200>
Trace; c0105000 <_stext+0/0>
Trace; c01afda2 <ata_scsi_detect+42/60>
Trace; c01a0ab5 <scsi_register_host+2e5/2f0>
Trace; c01b536c <pci_announce_device+6c/80>
Trace; c01b53dc <pci_register_driver+5c/60>
Trace; c0105000 <_stext+0/0>
Trace; c010507b <init+b/100>
Trace; c0105000 <_stext+0/0>
Trace; c010569e <arch_kernel_thread+2e/40>
Trace; c0105070 <init+0/100>

Code;  c01afb37 <ata_host_add+57/80>
00000000 <_EIP>:
Code;  c01afb37 <ata_host_add+57/80>   <=====
   0:   ff 50 50                  call   *0x50(%eax)   <=====
Code;  c01afb3a <ata_host_add+5a/80>
   3:   89 da                     mov    %ebx,%edx
Code;  c01afb3c <ata_host_add+5c/80>
   5:   85 c0                     test   %eax,%eax
Code;  c01afb3e <ata_host_add+5e/80>
   7:   75 12                     jne    1b <_EIP+0x1b>
Code;  c01afb40 <ata_host_add+60/80>
   9:   8b 5c 24 14               mov    0x14(%esp),%ebx
Code;  c01afb44 <ata_host_add+64/80>
   d:   89 d0                     mov    %edx,%eax
Code;  c01afb46 <ata_host_add+66/80>
   f:   8b 74 24 18               mov    0x18(%esp),%esi
Code;  c01afb4a <ata_host_add+6a/80>
  13:   8b 00                     mov    (%eax),%eax

  <0>Kernel panic: Attempted to kill init!

-- 
Alan J. Wylie                                          http://www.wylie.me.uk/
"Perfection [in design] is achieved not when there is nothing left to add,
but rather when there is nothing left to take away."
  -- Antoine de Saint-Exupery

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

* Re: 2.4.29-pre1 OOPS early in boot with Intel ICH5 SATA controller
  2004-12-13 10:50   ` Alan J. Wylie
@ 2004-12-13 11:09     ` Jeff Garzik
  2004-12-13 12:11       ` Alan J. Wylie
  0 siblings, 1 reply; 12+ messages in thread
From: Jeff Garzik @ 2004-12-13 11:09 UTC (permalink / raw)
  To: Alan J. Wylie; +Cc: linux-kernel, linux-ide, EC, Marcelo Tosatti

Is it possible for you to enable the following two #ifdefs in 
include/linux/libata.h, and send me the output?

/*
  * compile-time options
  */
#undef ATA_DEBUG                /* debugging output */
#undef ATA_VERBOSE_DEBUG        /* yet more debugging output */



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

* Re: 2.4.29-pre1 OOPS early in boot with Intel ICH5 SATA controller
  2004-12-13 11:09     ` Jeff Garzik
@ 2004-12-13 12:11       ` Alan J. Wylie
  2005-02-19 17:33         ` Jeff Garzik
  0 siblings, 1 reply; 12+ messages in thread
From: Alan J. Wylie @ 2004-12-13 12:11 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: linux-kernel, linux-ide, EC, Marcelo Tosatti

On Mon, 13 Dec 2004 06:09:26 -0500, Jeff Garzik <jgarzik@pobox.com> said:

> Is it possible for you to enable the following two #ifdefs in
> include/linux/libata.h, and send me the output?

> #define ATA_DEBUG                /* debugging output */
> #define ATA_VERBOSE_DEBUG        /* yet more debugging output */

(Hand transcribed - E&OE)

ksymoops output below.

...
piix_init: pci_module_init
ata_pci_init_one: ENTER
PCI: found IRQ 10 for device 00:1f.2
PCI: Sharing IRQ 10 with 00:1d.2
PCI: Sharing IRQ 10 with 04:02.0
piix_init: scsi_register_host
ata_scsi_detect: ENTER
ata_device_add: ENTER
ata_host_add: ENTER
ata_port_start: prd alloc, virt f7e5a000, dma 37e5a000
ata1: SATA max UDMA/133 cmd 0x1F0 ctl 0x3F6 bmdma 0x18E0 irq 14
ata_device_add: probe begin
ata_device_add: ata1: probe begin
ata_bus_reset: ENTER, host 1, port 0
ata_bus_softreset: ata1: bus reset via SRST
ata_dev_classify: found ATA device by sig
ata_bus_reset: EXIT
ata_dev_identify: ENTER, host 1, dev 0
ata_dev_select: ENTER, ata1: device 0, wait 1
ata_dev_identify: do ATA identify
ata_dev_select: ENTER, ata1: device 0, wait 1
ata_exec_command_pio: ata1: cmd 0xEC
ata_pio_sector: data read
ata_qc_complete: EXIT
ata_dump_id: 49==0x2f00  53==0x0007  63==0x0007  64==0x0003  75==0x0000
ata_dump_id: 80==0x00fe  81==0x001e  82==0x7c6b  83==0x7f09  84==0x4003
ata_dump_id: 88==0x207f  93==0x0000
ata1: dev 0 ATA, max UDMA/133, 39827088 sectors: lba48
ata_dev_identify: EXIT, drv_stat = 0x50
ata_dev_identify: ENTER/EXIT (host 1, dev 1) -- nodev
ata_host_set_pio: base 0x8 xfer_mode 0xc mask 0x1f x 4
ata_dev_set_xfermode: set features - xfer mode
ata_dev_select: ENTER, ata1: device 0, wait 1
ata_tf_load_pio: hob: feat 0x0 nsect 0x0, lba 0x0 0x0 0x0
ata_tf_load_pio: feat 0x3 nsect 0x46 lba 0x0 0x0 0x0
ata_tf_load_pio: device 0xA0
ata_command_exec_pio: ata1: cmd 0xEF
ata_host_intr: ata1: protocol 1 (dev_stat 0x50)
ata_qc_complete: EXIT
ata_dev_set_xfermode: EXIT
ata_dev_set_mode: idx=6 xfer_shift=0, xfer_mode=0x46, base=0x40, offset=6
ata1: dev 0 configured for UDMA/133
ata_device_add: ata1: probe end
ata_device_add: EXIT, returning 1
ata_device_add: ENTER
ata_host_add: ENTER
Unable to handle kernel NULL pointer dereference at virtual address 00000050
 printing eip:
c01b028b
*pde = 00000000
Oops: 0000
CPU:    0
EIP:    0010:[<c01b028b>]    Not tainted
EFLAGS: 00010246
eax: 00000000   ebx: f7e6b878   ecx: 00000000   edx: 00000002
esi: f7e6b800   edi: f7e6ba20   ebp: f7e6ba20   esp: c19b7f10
ds: 0018   es: 0018   ss: 0018
Process swapper (pid: 1, stackpage=c19b7000)
Stack: f7e6b878 f7e6b800 c19bfa00 f7e6ba20 00000000 f7e6ba20 c19bfa00 00000000
       c01b04c0 f7e6ba20 c19bfa00 00000000 c0209ae8 00000286 000003f6 000018e0
       0000000e c19b0800 00000000 f7e6ba20 00000001 c0105000 c02282e0 c01b05d0
Call Trace:    [<c01a04c0>] [<c0105000>] [<c01b05d0>] [<c01a0ab5>] [<c01161b1>]
  [<c01b5efc>] [<c0105000>] [<c010507b>] [<c0105000>] [<c010569e>] [<c0105070>]

Code: ff 50 50 89 da 85 c0 75 12 8b 5c 24 14 89 d0 8b 74 24 18 8b
  <0>Kernel panic: Attempted to kill init!


ksymoops 2.4.9 on i686 2.4.29-pre1-bk5.  Options used
     -V (default)
     -K (specified)
     -L (specified)
     -O (specified)
     -m /boot/System.map (specified)

Unable to handle kernel NULL pointer dereference at virtual address 00000050
c01b028b
*pde = 00000000
Oops: 0000
CPU:    0
EIP:    0010:[<c01b028b>]    Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010246
eax: 00000000   ebx: f7e6b878   ecx: 00000000   edx: 00000002
esi: f7e6b800   edi: f7e6ba20   ebp: f7e6ba20   esp: c19b7f10
ds: 0018   es: 0018   ss: 0018
Process swapper (pid: 1, stackpage=c19b7000)
Stack: f7e6b878 f7e6b800 c19bfa00 f7e6ba20 00000000 f7e6ba20 c19bfa00 00000000
       c01b04c0 f7e6ba20 c19bfa00 00000000 c0209ae8 00000286 000003f6 000018e0
       0000000e c19b0800 00000000 f7e6ba20 00000001 c0105000 c02282e0 c01b05d0
Call Trace:    [<c01a04c0>] [<c0105000>] [<c01b05d0>] [<c01a0ab5>] [<c01161b1>]
  [<c01b5efc>] [<c0105000>] [<c010507b>] [<c0105000>] [<c010569e>] [<c0105070>]
Code: ff 50 50 89 da 85 c0 75 12 8b 5c 24 14 89 d0 8b 74 24 18 8b


>>EIP; c01b028b <ata_host_add+6b/a0>   <=====

Trace; c01a04c0 <proc_scsi_gen_write+160/470>
Trace; c0105000 <_stext+0/0>
Trace; c01b05d0 <ata_scsi_detect+70/90>
Trace; c01a0ab5 <scsi_register_host+2e5/2f0>
Trace; c01161b1 <printk+111/150>
Trace; c01b5efc <pci_register_driver+5c/60>
Trace; c0105000 <_stext+0/0>
Trace; c010507b <init+b/100>
Trace; c0105000 <_stext+0/0>
Trace; c010569e <arch_kernel_thread+2e/40>
Trace; c0105070 <init+0/100>

Code;  c01b028b <ata_host_add+6b/a0>
00000000 <_EIP>:
Code;  c01b028b <ata_host_add+6b/a0>   <=====
   0:   ff 50 50                  call   *0x50(%eax)   <=====
Code;  c01b028e <ata_host_add+6e/a0>
   3:   89 da                     mov    %ebx,%edx
Code;  c01b0290 <ata_host_add+70/a0>
   5:   85 c0                     test   %eax,%eax
Code;  c01b0292 <ata_host_add+72/a0>
   7:   75 12                     jne    1b <_EIP+0x1b>
Code;  c01b0294 <ata_host_add+74/a0>
   9:   8b 5c 24 14               mov    0x14(%esp),%ebx
Code;  c01b0298 <ata_host_add+78/a0>
   d:   89 d0                     mov    %edx,%eax
Code;  c01b029a <ata_host_add+7a/a0>
   f:   8b 74 24 18               mov    0x18(%esp),%esi
Code;  c01b029e <ata_host_add+7e/a0>
  13:   8b 00                     mov    (%eax),%eax

  <0>Kernel panic: Attempted to kill init!


-- 
Alan J. Wylie                                          http://www.wylie.me.uk/
"Perfection [in design] is achieved not when there is nothing left to add,
but rather when there is nothing left to take away."
  -- Antoine de Saint-Exupery

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

* Re: 2.4.29-pre1 OOPS early in boot with Intel ICH5 SATA controller
  2004-12-13 12:11       ` Alan J. Wylie
@ 2005-02-19 17:33         ` Jeff Garzik
  2005-02-19 17:41           ` Alan J. Wylie
  0 siblings, 1 reply; 12+ messages in thread
From: Jeff Garzik @ 2005-02-19 17:33 UTC (permalink / raw)
  To: Alan J. Wylie; +Cc: linux-kernel, linux-ide, EC, Marcelo Tosatti

Alan J. Wylie wrote:
> On Mon, 13 Dec 2004 06:09:26 -0500, Jeff Garzik <jgarzik@pobox.com> said:
> 
> 
>>Is it possible for you to enable the following two #ifdefs in
>>include/linux/libata.h, and send me the output?
> 
> 
>>#define ATA_DEBUG                /* debugging output */
>>#define ATA_VERBOSE_DEBUG        /* yet more debugging output */
> 
> 
> (Hand transcribed - E&OE)
> 
> ksymoops output below.

Can you confirm that this is fixed in 2.4.30-pre1?

	Jeff




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

* Re: 2.4.29-pre1 OOPS early in boot with Intel ICH5 SATA controller
  2005-02-19 17:33         ` Jeff Garzik
@ 2005-02-19 17:41           ` Alan J. Wylie
  0 siblings, 0 replies; 12+ messages in thread
From: Alan J. Wylie @ 2005-02-19 17:41 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: linux-kernel, linux-ide, EC, Marcelo Tosatti

On Sat, 19 Feb 2005 12:33:32 -0500, Jeff Garzik <jgarzik@pobox.com> said:

>>> Is it possible for you to enable the following two #ifdefs in
>>> include/linux/libata.h, and send me the output?
>>
>>> #define ATA_DEBUG /* debugging output */ #define ATA_VERBOSE_DEBUG
>>> /* yet more debugging output */
>> 
>> 
>> (Hand transcribed - E&OE)
>> 
>> ksymoops output below.

> Can you confirm that this is fixed in 2.4.30-pre1?

Sorry - I worked around the problem by setting the BIOS to "Native
Mode", and the boxes that were showing the problem (Supermicro X6DA8)
have now been shipped out to customers, where I can no longer do any
debugging on them.


-- 
Alan J. Wylie                                          http://www.wylie.me.uk/
"Perfection [in design] is achieved not when there is nothing left to add,
but rather when there is nothing left to take away."
  -- Antoine de Saint-Exupery

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

end of thread, other threads:[~2005-02-19 17:41 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-12-09  9:49 2.4.29-pre1 OOPS early in boot with Intel ICH5 SATA controller Alan J. Wylie
2004-12-10 16:04 ` Alan J. Wylie
2004-12-11 18:52 ` Jeff Garzik
2004-12-11 20:24   ` EC
2004-12-11 20:37     ` Jeff Garzik
2004-12-11 20:59       ` EC
2004-12-12 15:40   ` Alan J. Wylie
2004-12-13 10:50   ` Alan J. Wylie
2004-12-13 11:09     ` Jeff Garzik
2004-12-13 12:11       ` Alan J. Wylie
2005-02-19 17:33         ` Jeff Garzik
2005-02-19 17:41           ` Alan J. Wylie

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox