Messages in this thread | | | Date | Mon, 5 May 1997 14:31:33 -0400 (EDT) | From | "Richard B. Johnson" <> | Subject | SMP and aic7xxx |
| |
Dan, Okay. If I compile 2.1.37x without SMP enabled, your driver works okay. I added save_flags() cli()/etc.. in aic7xxx_queue() and aic7xxx_isr() (from the beginning), etc. and did not break anything. It still works in non SMP mode.
However, in SMP mode, the kernel simply stops working as soon as the first write occurs after the root file system is mounted. There is ---sometimes--- an Ooops with "unable to handle NULL pointer dereference at 0000", with some code that usually does not look like good code, but sometimes is real code. It is variable. It does not lie between any symbols that the kernel knows about.
This is copied from the screen:
Unable to handle kernel NULL pointer dereference at virtual address 00000000 current->tss.cr3 = 00101000, %cr3 = 00101000 *pde = 00000000 Oops: 0002 CPU: 0 EIP 0010:<c01cbac5> EFLAGS: 00010247 eax: ffffffff ebx: c0106000 ecx: 00000397 edx: 00000000 esi: c01eca34 edi: c0107ea4 ebp: c0107e48 esp: c0107d58 ds: 0018 es: 0018 ss:0018
Process swapper (pid:0, process nr:0, stackpage=c0107000 Stack: c0106000 c01eca34 c0107d24 c01060dc 00000000 00000000 00000001 c0106000
(and two more lines..........)
Call Trace: Code: 00 00 00 00 00 00 00 00 00 ....etc.
Cheers, Dick Johnson -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Richard B. Johnson Project Engineer Analogic Corporation Voice : (508) 977-3000 ext. 3754 Fax : (508) 532-6097 Modem : (508) 977-6870 Ftp : ftp@boneserver.analogic.com Email : rjohnson@analogic.com, johnson@analogic.com Penguin : Linux version 2.1.35 on an i586 machine (66.15 BogoMips). Warning : I read unsolicited mail for $350.00 per hour. Supply billing address. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
| |