[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • 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
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • 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 != 
sizeof(req->data)))
+    if (!req->data_is_ptr && (req->dir == IOREQ_WRITE) && (req->size != 
sizeof(long)))

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
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.