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/
Home Products Support Community News


RE: [Xen-devel] [PATCH] Fix write parameter masking for 32-bit guests.

To: <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: RE: [Xen-devel] [PATCH] Fix write parameter masking for 32-bit guests.
From: "Cui, Dexuan" <dexuan.cui@xxxxxxxxx>
Date: Sun, 13 May 2007 16:47:20 +0800
Cc: Keir Fraser <keir@xxxxxxxxxxxxx>
Delivery-date: Sun, 13 May 2007 01:45:49 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <FE7BBCFBB500984A9A7922EBC95F516E23FF93@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
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>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AceVMzhKOfboKd4hQNKFfDAIGnB8iAABUTkQ
Thread-topic: [Xen-devel] [PATCH] Fix write parameter masking for 32-bit guests.
Well, the method in the previous mail may be a little complex -- I think the 
simplest way is:

-    if (!req->data_is_ptr && (req->dir == IOREQ_WRITE) && (req->size != 
+    if (!req->data_is_ptr && (req->dir == IOREQ_WRITE) && (req->size != 

Since sizeof(long) = 4 in 32-bit platform, and  = 8 in 64-bit platform, the 
code here can work properly in 32/64-bit platforms.

-- Dexuan

-----Original Message-----
From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx 
[mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Cui, Dexuan
Sent: 2007年5月13日 15:49
To: xen-devel@xxxxxxxxxxxxxxxxxxx
Cc: Keir Fraser
Subject: [Xen-devel] [PATCH] Fix write parameter masking for 32-bit guests.

Changeset 15046:e527b4ff1948 breaks 32-bit HVM guest: when req->size is
4, "1UL << 32" returns 1 in IA32 system, so the mask becomes 0 wrongly.
The attached patch fixes this by using 64-bit left-shift.

Signed-off-by: Dexuan Cui <dexuan.cui@xxxxxxxxx>

Xen-devel mailing list

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