Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 24 Mar 2009 09:17:21 -0700
From:      Xin LI <delphij@delphij.net>
To:        "Shaowei Wang (wsw)" <wsw1wsw2@gmail.com>
Cc:        freebsd-hackers@freebsd.org, d@delphij.net
Subject:   Re: A patch of HPTIOP driver for 7.1-RELEASE
Message-ID:  <49C90791.7040807@delphij.net>
In-Reply-To: <2e566b9e0903232328y45801f76lc6d64acb4fef3dc@mail.gmail.com>
References:  <2e566b9e0901070005s630c2212k44a0e59a1bcf69aa@mail.gmail.com>	 <49710E4F.6020404@delphij.net> <2e566b9e0903232328y45801f76lc6d64acb4fef3dc@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

Shaowei Wang (wsw) wrote:
> 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.

So do we need to patch the driver at our side?  My reading is that we
will not need it anymore?  Please feel free to let me know if you want
the patch be committed.  Since we are going to have 7.2-RELEASE by early
May, it's important to merge stuff back early so they get more through
tests, etc.

> I'm not so familiar with FreeBSD's development community. I'm sorry
> Posting the infomation here.

Never mind, the PR system is just a more convenient way of tracking
issues (i.e. you can check back if a problem has been resolved at a
later time, etc.).

> On Sat, Jan 17, 2009 at 6:46 AM, Xin LI <delphij@delphij.net
> <mailto:delphij@delphij.net>> wrote:
> 
> 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„q¨(7.1ÑLH-	*ï
>> Ù*ïüô†ìЛ„5¡àÕÐL
> 
>> ìÙú†e
> 
>> 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@freebsd.org <mailto:freebsd-hackers@freebsd.org>
> mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
>> To unsubscribe, send any mail to
> "freebsd-hackers-unsubscribe@freebsd.org
> <mailto:freebsd-hackers-unsubscribe@freebsd.org>"
> 
> 

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)




- --
Xin LI <delphij@delphij.net>	http://www.delphij.net/
FreeBSD - The Power to Serve!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.11 (FreeBSD)

iEYEARECAAYFAknJB5EACgkQi+vbBBjt66CPRwCeLna7weWqMVK8G/MPFcpIR5Xb
z3QAn39CaWIMqTUBmj/EnAc9i09byweF
=ylVm
-----END PGP SIGNATURE-----



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?49C90791.7040807>