From owner-freebsd-hackers@FreeBSD.ORG Tue Mar 24 16:17:37 2009 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 85525106568A for ; Tue, 24 Mar 2009 16:17:37 +0000 (UTC) (envelope-from delphij@delphij.net) Received: from tarsier.delphij.net (delphij-pt.tunnel.tserv2.fmt.ipv6.he.net [IPv6:2001:470:1f03:2c9::2]) by mx1.freebsd.org (Postfix) with ESMTP id D2C488FC0C for ; Tue, 24 Mar 2009 16:17:36 +0000 (UTC) (envelope-from delphij@delphij.net) Received: from tarsier.geekcn.org (tarsier.geekcn.org [211.166.10.233]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by tarsier.delphij.net (Postfix) with ESMTPS id AD3B028484 for ; Wed, 25 Mar 2009 00:17:35 +0800 (CST) Received: from localhost (tarsier.geekcn.org [211.166.10.233]) by tarsier.geekcn.org (Postfix) with ESMTP id 2D85FEB0CBA; Wed, 25 Mar 2009 00:17:35 +0800 (CST) X-Virus-Scanned: amavisd-new at geekcn.org Received: from tarsier.geekcn.org ([211.166.10.233]) by localhost (mail.geekcn.org [211.166.10.233]) (amavisd-new, port 10024) with ESMTP id ia-bQ8QU4o-L; Wed, 25 Mar 2009 00:17:30 +0800 (CST) Received: from charlie.delphij.net (adsl-76-237-33-62.dsl.pltn13.sbcglobal.net [76.237.33.62]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by tarsier.geekcn.org (Postfix) with ESMTPSA id 183A7EDBD4C; Wed, 25 Mar 2009 00:17:27 +0800 (CST) DomainKey-Signature: a=rsa-sha1; s=default; d=delphij.net; c=nofws; q=dns; h=message-id:date:from:reply-to:organization:user-agent: mime-version:to:cc:subject:references:in-reply-to: x-enigmail-version:openpgp:content-type:content-transfer-encoding; b=RktJc/9XMVczhh+7UbdSc85D7s5178pcpQi40bnIXblIODgFQcUZIIhCNreC9hBbZ TpYhS/gsfsJrE+hkxjkAg== Message-ID: <49C90791.7040807@delphij.net> Date: Tue, 24 Mar 2009 09:17:21 -0700 From: Xin LI Organization: The FreeBSD Project User-Agent: Thunderbird 2.0.0.19 (X11/20090217) MIME-Version: 1.0 To: "Shaowei Wang (wsw)" References: <2e566b9e0901070005s630c2212k44a0e59a1bcf69aa@mail.gmail.com> <49710E4F.6020404@delphij.net> <2e566b9e0903232328y45801f76lc6d64acb4fef3dc@mail.gmail.com> In-Reply-To: <2e566b9e0903232328y45801f76lc6d64acb4fef3dc@mail.gmail.com> X-Enigmail-Version: 0.95.7 OpenPGP: id=18EDEBA0; url=http://www.delphij.net/delphij.asc Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: freebsd-hackers@freebsd.org, d@delphij.net Subject: Re: A patch of HPTIOP driver for 7.1-RELEASE X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: d@delphij.net List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Mar 2009 16:17:44 -0000 -----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 > 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 > mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers >> To unsubscribe, send any mail to > "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 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-----