[PATCH] ASR driver update

Scott Long scottl at freebsd.org
Tue May 4 07:24:04 PDT 2004


Thanks for the report.  This is fixed in rev 1.58 of asr.c.  I'm not
sure why I didn't see this before.  Btw, do you by chance have a
2005/2015 SO-DIMM form-factor card?  I'm having trouble with mine and
can't figure out if it's because the card is from a very early
pre-production sample.

Thanks,

Scott

Don Bowman wrote:
> From: Scott Long [mailto:scottl at freebsd.org]
> 
>>Scott Long wrote:
>>
>>>All,
>>>
>>>In case you've been watching the CVS commit mail, I've started a
>>>massive cleanup effort on the ASR driver.  Nearly all of the work
>>>so far has been cosmetic and non-functional (which trimmed nearly
>>>1000 lines off of asr.c!).  Now I have a patch that converts the
>>>driver to using the bus_space_*() API.  While this should, in
>>>theory, not change any functionality, it is a much more fundamental
>>>change to the driver, so I'd appreciate more testing of it before
>>>I commit.  The  patch can be found at
>>>
>>>http://people.freebsd.org/~scottl/asr_bus_space.diff
>>>
>>>I'm espeically interested in testing with the 20xx ZCR 
>>
>>adapters since
>>
>>>they appear to be especially troublesome to the API.
>>>
>>>Thanks,
>>>
>>>Scott
>>
>>
>>One thing that I forgot to mention is that the patch is only for the
>>latest 5.2-CURRENT sources.  You'll need revision 1.57 of asr.c in
>>order for the patch to apply cleanly.
>>
> 
> Here are the resuls, a panic during bootup. System is a dual xeon.
> Unfortunately, this was before dumpdev was setup, so i don't
> have a stack trace.
> 
> asr0: [GIANT-LOCKED]
> 
> Fatal trap 12: page fault while in kernel mode
> cpuid = 0; apic id = 00
> fault virtual address   = 0xe0001
> fault code              = supervisor write, page not present
> instruction pointer     = 0x8:0xc04738d2
> stack pointer           = 0x10:0xc0c21918
> frame pointer           = 0x10:0xc0c21930
> 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)
> trap number             = 12
> panic: page fault
> at line 815 in file /usr/src/sys/i386/i386/trap.c
> cpuid = 0; 
> Uptime: 1s
> Shutting down ACPI
> Automatic reboot in 15 seconds - press a key on the console to abort
> 
> (kgdb) info line *0xc04738d2
> Line 1957 of "/usr/src/sys/dev/asr/asr.c"
>    starts at address 0xc04738cf <ASR_setSysTab+147>
>    and ends at 0xc04738d5 <ASR_setSysTab+153>.
> 
> 
>         (void)ASR_fillMessage((void *)&Message_Ptr,
>           sizeof(I2O_EXEC_SYS_TAB_SET_MESSAGE) - sizeof(I2O_SG_ELEMENT)
>            + ((3+SystemTable->NumberEntries) *
> sizeof(I2O_SGE_SIMPLE_ELEMENT)));
>      >>>I2O_MESSAGE_FRAME_setVersionOffset(&(Message_Ptr->StdMessageFrame),
>           (I2O_VERSION_11 +
>           (((sizeof(I2O_EXEC_SYS_TAB_SET_MESSAGE) - sizeof(I2O_SG_ELEMENT))
>                         / sizeof(U32)) << 4)));
> 
> 
> 
> 
> 



More information about the freebsd-scsi mailing list