|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] [patch] double incrementing l2tab
On 12 May 2005, at 22:06, Scott Parish wrote:
For PAE, l2e_get_phys() will look something like this:
#define l2e_get_phys(_x) ((((u64)(_x).l2_hi & 0x0f) << 32)
|\
((u64)(_x).l2_lo & PAGE_MASK))
Thus l2e_get_phys(++foo) is not safe, as the increment will be
evaluated
multiple times and at undefined times.
This leaves the macro to bite you in future. Either make l2e_get_phys()
a static inline function, or do something like:
#define l2e_get_phys(_x) ({ \
u64 __x = (_x); \
<your macro here but _x -> __x>; \
})
-- Keir
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|