kern/101045: PATCH: Updates to arcmsr(4)

Nikolas Britton nikolas.britton at gmail.com
Sun Jul 30 10:50:16 UTC 2006


>Number:         101045
>Category:       kern
>Synopsis:       PATCH: Updates to arcmsr(4)
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Sun Jul 30 10:50:15 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Nikolas Britton
>Release:        FreeBSD 6.1-STABLE
>Organization:
N/A
>Environment:
FreeBSD infomatic.local 6.1-STABLE FreeBSD 6.1-STABLE #0: Fri Jun 16 23:16:52 CDT 2006     nbritton at infomatic.local:/usr/src/sys/i386/compile/INFOMATIC  i386

>Description:
These are patches to update the Areca driver in FreeBSD with most current driver provided by Areca, v1.20.00.12. 

* New support for ARC-1170 and ARC-1270 24port RAID controllers.
* Bug fixes and code cleanup.
* Bug fix with abort command handling.
* Firmware version check.
* Firmware update notify for hardware bug fix handling if none zero high part physical address of srb resource.
>How-To-Repeat:
N/A
>Fix:
*** Here is the new arcmsr.c ready for import into FreeBSD: ***
http://www.nbritton.org/uploads/areca/arcmsr.c.freebsd.new

Here is the new arcmsr.c that the new FreeBSD driver is based on:
http://www.nbritton.org/uploads/areca/arcmsr.c.1200012

Here is the old arcmsr.c from FreeBSD -CURRENT:
http://www.nbritton.org/uploads/areca/arcmsr.c.freebsd.old

Here is the old arcmsr.c that the old FreeBSD driver was based on: 
http://www.nbritton.org/uploads/areca/arcmsr.c.1200002

*** Here is the new arcmsr.h patch: ***
http://www.nbritton.org/uploads/areca/arcmsr.h.patch

*** Here is the new man page: ***
http://www.nbritton.org/uploads/areca/arcmsr.4.new

Other files can be found here:
http://www.nbritton.org/uploads/areca/
------------------------------------------------
Below are merges I did manualy from the old FreeBSD driver to the new Areca driver... CHECK MY WORK, I don't know what I'm doing! I was not able to merge all of the changes made on the old FreeBSD code because the new code was different, here is the stuff I changed that needs to be checked:

diff arcmsr.c.1200012 arcmsr.c.freebsd.new
48a49
> ** $FreeBSD$
76d76
< #include <machine/clock.h>
1363c1363
<       if(pccb->ccb_h.status != CAM_REQ_INPROG)
---
>       if((pccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_INPROG)
1687,1691c1687
<                                               struct bus_dma_segment seg;
<
<                                               seg.ds_addr=(bus_addr_t)pccb->csio.data_ptr;
<                                               seg.ds_len=pccb->csio.dxfer_len;
<                                               arcmsr_executesrb(pSRB,&seg,1,0);
---
>                                               panic("arcmsr: CAM_DATA_PHYS not supported");
2166c2162
<                                               /*lowaddr*/BUS_SPACE_MAXADDR_32BIT,
---
>                                               /*lowaddr*/BUS_SPACE_MAXADDR,
2181c2177
<                                               /*lowaddr*/BUS_SPACE_MAXADDR_32BIT,
---
>                                               /*lowaddr*/BUS_SPACE_MAXADDR,
2242c2238
<                                               /*flags*/BUS_DMA_ALLOCNOW,
---
>                                               /*flags*/0,
2257c2253
<                                               /*flags*/BUS_DMA_ALLOCNOW,
---
>                                               /*flags*/0,
>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list