diff options
author | Jan Beulich <jbeulich@suse.com> | 2012-12-11 13:47:53 +0100 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2012-12-11 13:47:53 +0100 |
commit | 23dbeb5aceb9709f06481884d205095e348793e2 (patch) | |
tree | 85ea0f1ac40a8d5556c8874be4a8b5f862efdcc1 /xen/include/asm-x86/x86_64 | |
parent | 645d0367d83fde42f5041da58c3e508ebcfb430b (diff) | |
download | xen-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.h | 4 |
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. |