WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

RE: [Xen-devel] Need help figuring out why my windows pv driverswontwork

To: "xen-devel" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: RE: [Xen-devel] Need help figuring out why my windows pv driverswontwork with a 32 bit dom0...
From: "James Harper" <james.harper@xxxxxxxxxxxxxxxx>
Date: Fri, 1 Feb 2008 16:48:03 +1100
Delivery-date: Thu, 31 Jan 2008 21:48:32 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <AEC6C66638C05B468B556EA548C1A77D0131AA0E@trantor>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <AEC6C66638C05B468B556EA548C1A77D0131AA0A@trantor> <AEC6C66638C05B468B556EA548C1A77D0131AA0E@trantor>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AchkiOnjeDQcMReOR3CXpc44efwhugABLvuwAAHyttA=
Thread-topic: [Xen-devel] Need help figuring out why my windows pv driverswontwork with a 32 bit dom0...
> > . Windows is padding structures differently under 32 and 64 bits.
> > Strange that everything else works fine though...
> 
> I think I may be onto something with this...
> 
> 32 bit Linux (using gcc and a quick .c file):
> sizeof(uint8_t) = 1
> sizeof(uint16_t) = 2
> sizeof(uint32_t) = 4
> sizeof(uint64_t) = 8
> sizeof(struct blkif_request) = 108
> sizeof(struct blkif_request_segment) = 8
> sizeof(struct blkif_response) = 12
> 
> 64 bit Linux (using gcc and a quick .c file):
> sizeof(uint8_t) = 1
> sizeof(uint16_t) = 2
> sizeof(uint32_t) = 4
> sizeof(uint64_t) = 8
> sizeof(struct blkif_request) = 112
> sizeof(struct blkif_request_segment) = 8
> sizeof(struct blkif_response) = 16
> 
> 32 bit Windows (using Microsoft DDK Compiler and debug statements in
the
> driver)
> sizeof(uint8_t) = 1
> sizeof(uint16_t) = 2
> sizeof(uint32_t) = 4
> sizeof(uint64_t) = 8
> sizeof(struct blkif_request) = 112
> sizeof(struct blkif_request_segment) = 8
> sizeof(struct blkif_response) = 16
> 
> Haven't tried this test on 64 bit windows yet, but if 32 bit windows
and
> 32 bit Linux align their structures differently, I can imagine that
> problems are going to arise...
> 

"#pragma pack(4)" before the blkif definitions and "#pragma pack()"
afterwards fixed it up.

All appears to be working now. I've pushed the changes to hg
(http://xenbits.xensource.com/ext/win-pvdrivers.hg). I haven't yet
tested under amd64 in case I've broken that...

James



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>