aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/asm-x86/x86_64
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2012-12-11 13:47:53 +0100
committerJan Beulich <jbeulich@suse.com>2012-12-11 13:47:53 +0100
commit23dbeb5aceb9709f06481884d205095e348793e2 (patch)
tree85ea0f1ac40a8d5556c8874be4a8b5f862efdcc1 /xen/include/asm-x86/x86_64
parent645d0367d83fde42f5041da58c3e508ebcfb430b (diff)
downloadxen-23dbeb5aceb9709f06481884d205095e348793e2.tar.gz
xen-23dbeb5aceb9709f06481884d205095e348793e2.tar.bz2
xen-23dbeb5aceb9709f06481884d205095e348793e2.zip
x86: frame table related improvements
- fix super page frame table setup for memory hotplug case (should create full table, or else the hotplug code would need to do the necessary table population) - simplify super page frame table setup (can re-use frame table setup code) - slightly streamline frame table setup code - fix (tighten) a BUG_ON() and an ASSERT() condition - fix spage <-> pdx conversion macros (they had no users so far, and hence no-one noticed how broken they were) Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'xen/include/asm-x86/x86_64')
-rw-r--r--xen/include/asm-x86/x86_64/page.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/xen/include/asm-x86/x86_64/page.h b/xen/include/asm-x86/x86_64/page.h
index 2f46ba2c5a..7fae8ab343 100644
--- a/xen/include/asm-x86/x86_64/page.h
+++ b/xen/include/asm-x86/x86_64/page.h
@@ -46,8 +46,8 @@ extern void pfn_pdx_hole_setup(unsigned long);
#define page_to_pdx(pg) ((pg) - frame_table)
#define pdx_to_page(pdx) (frame_table + (pdx))
-#define spage_to_pdx(spg) ((spg>>(SUPERPAGE_SHIFT-PAGE_SHIFT)) - spage_table)
-#define pdx_to_spage(pdx) (spage_table + ((pdx)<<(SUPERPAGE_SHIFT-PAGE_SHIFT)))
+#define spage_to_pdx(spg) (((spg) - spage_table)<<(SUPERPAGE_SHIFT-PAGE_SHIFT))
+#define pdx_to_spage(pdx) (spage_table + ((pdx)>>(SUPERPAGE_SHIFT-PAGE_SHIFT)))
/*
* Note: These are solely for the use by page_{get,set}_owner(), and
* therefore don't need to handle the XEN_VIRT_{START,END} range.