A patch of HPTIOP driver for 7.1-RELEASE
Shaowei Wang (wsw)
wsw1wsw2 at gmail.com
Mon Mar 23 23:50:08 PDT 2009
Hi, delphij
The problem about FreeBSD-7.x-amd64's hptiop driver is solved by patching
our RAID-manage software (userland utils).
The hptrr driver is a soft RAID so a 32-bit compatibility ioctl structure is
necessary. The hptiop is a hardware RAID controller, the firmware is 32-bit.
I'm not so familiar with FreeBSD's development community. I'm sorry Posting
the infomation here.
On Sat, Jan 17, 2009 at 6:46 AM, Xin LI <delphij at delphij.net> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hi, Shaowei,
>
> It seems that I can not apply your patch directly, I have tried to do it
> manually, as attached, please let me know if it's Ok. I can commit for
> you against -HEAD if it looks fine and take care for MFC.
>
> Note that, however, I am more or less concerned about the driver if
> 32-bit utility is running on amd64 platform. There seems to have three
> pointer style field in hpt_iop_ioctl_param. I have checked hptrr(4) and
> found that it has defined a 32-bit compatibility ioctl structure.
> According to my understanding to hptiop(4), this could be a problem.
>
> PS. For faster handling it is probably a good idea to submit patch
> through our PR system: http://www.freebsd.org/send-pr.html
>
> Shaowei Wang (wsw) wrote:
> > Hi, guys
> >
> > hptiop driver in the 7.1 release has a little bug.
> > Because this issue the Raid-manage GUI program which we provided can NOT
> > work anymore.
> >
> > So we give the patch:
> >
> > Index: hptiop.h
> > ===================================================================
> > --- hptiop.h (revision 186851)
> > +++ hptiop.h (working copy)
> > @@ -260,7 +260,7 @@
> > unsigned long lpOutBuffer; /* output data buffer */
> > u_int32_t nOutBufferSize; /* size of output data
> buffer
> > */
> > unsigned long lpBytesReturned; /* count of HPT_U8s returned
> */
> > -};
> > +}__attribute__((packed));
> >
> > #define HPT_IOCTL_FLAG_OPEN 1
> > #define HPT_CTL_CODE_BSD_TO_IOP(x) ((x)-0xff00)
> >
> > ====================================================================
> >
> > -wsw
> >
> >
> /************************************************************************/
> >
> > 大家好:
> >
> > hptiop的驱动在7.1发行版中有个小错误。
> > 这个小错误导致了我们提供的阵列管理程序无法运行。
> >
> > 我们给出了补丁:
> >
> > Index: hptiop.h
> > ===================================================================
> > --- hptiop.h (revision 186851)
> > +++ hptiop.h (working copy)
> > @@ -260,7 +260,7 @@
> > unsigned long lpOutBuffer; /* output data buffer */
> > u_int32_t nOutBufferSize; /* size of output data
> buffer
> > */
> > unsigned long lpBytesReturned; /* count of HPT_U8s returned
> */
> > -};
> > +}__attribute__((packed));
> >
> > #define HPT_IOCTL_FLAG_OPEN 1
> > #define HPT_CTL_CODE_BSD_TO_IOP(x) ((x)-0xff00)
> >
> > ====================================================================
> >
> > -wsw
> >
> >
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > freebsd-hackers at freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> > To unsubscribe, send any mail to "
> freebsd-hackers-unsubscribe at freebsd.org"
>
>
> - --
> Xin LI <delphij at delphij.net> http://www.delphij.net/
> FreeBSD - The Power to Serve!
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v2.0.10 (FreeBSD)
>
> iEYEARECAAYFAklxDk4ACgkQi+vbBBjt66CvUQCfaAnk0XQTh3Wrn2O4Dy0pEUFW
> oqsAoIvlTSNGRDg71SNyGfZ5VjDh9Z93
> =1xSB
> -----END PGP SIGNATURE-----
>
> Index: sys/dev/hptiop/hptiop.h
> ===================================================================
> --- sys/dev/hptiop/hptiop.h (版本 187338)
> +++ sys/dev/hptiop/hptiop.h (工作副本)
> @@ -260,7 +260,7 @@
> unsigned long lpOutBuffer; /* output data buffer */
> u_int32_t nOutBufferSize; /* size of output data
> buffer */
> unsigned long lpBytesReturned; /* count of HPT_U8s returned
> */
> -};
> +} __attribute__((packed));
>
> #define HPT_IOCTL_FLAG_OPEN 1
> #define HPT_CTL_CODE_BSD_TO_IOP(x) ((x)-0xff00)
>
>
More information about the freebsd-hackers
mailing list