aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/xen/mmu.c
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy@goop.org>2008-07-08 18:06:27 -0400
committerIngo Molnar <mingo@elte.hu>2008-07-16 04:54:39 -0400
commitcbcd79c2e5b496b84845618cef734b4c40736576 (patch)
tree3d791f7d472fd127f3f9958e27eadc93db0cdc0f /arch/x86/xen/mmu.c
parent87b935a0ef9a1ddf62f2f0c0fc17b10654ff41cd (diff)
x86: use __page_aligned_data/bss
Update arch/x86's use of page-aligned variables. The change to arch/x86/xen/mmu.c fixes an actual bug, but the rest are cleanups and to set a precedent. Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Cc: Stephen Tweedie <sct@redhat.com> Cc: Eduardo Habkost <ehabkost@redhat.com> Cc: Mark McLoughlin <markmc@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/xen/mmu.c')
-rw-r--r--arch/x86/xen/mmu.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
index ebd6900e331c..4fca9d88bef0 100644
--- a/arch/x86/xen/mmu.c
+++ b/arch/x86/xen/mmu.c
@@ -46,6 +46,7 @@
46#include <asm/tlbflush.h> 46#include <asm/tlbflush.h>
47#include <asm/mmu_context.h> 47#include <asm/mmu_context.h>
48#include <asm/paravirt.h> 48#include <asm/paravirt.h>
49#include <asm/linkage.h>
49 50
50#include <asm/xen/hypercall.h> 51#include <asm/xen/hypercall.h>
51#include <asm/xen/hypervisor.h> 52#include <asm/xen/hypervisor.h>
@@ -60,22 +61,18 @@
60#define TOP_ENTRIES (MAX_DOMAIN_PAGES / P2M_ENTRIES_PER_PAGE) 61#define TOP_ENTRIES (MAX_DOMAIN_PAGES / P2M_ENTRIES_PER_PAGE)
61 62
62/* Placeholder for holes in the address space */ 63/* Placeholder for holes in the address space */
63static unsigned long p2m_missing[P2M_ENTRIES_PER_PAGE] 64static unsigned long p2m_missing[P2M_ENTRIES_PER_PAGE] __page_aligned_data =
64 __attribute__((section(".data.page_aligned"))) =
65 { [ 0 ... P2M_ENTRIES_PER_PAGE-1 ] = ~0UL }; 65 { [ 0 ... P2M_ENTRIES_PER_PAGE-1 ] = ~0UL };
66 66
67 /* Array of pointers to pages containing p2m entries */ 67 /* Array of pointers to pages containing p2m entries */
68static unsigned long *p2m_top[TOP_ENTRIES] 68static unsigned long *p2m_top[TOP_ENTRIES] __page_aligned_data =
69 __attribute__((section(".data.page_aligned"))) =
70 { [ 0 ... TOP_ENTRIES - 1] = &p2m_missing[0] }; 69 { [ 0 ... TOP_ENTRIES - 1] = &p2m_missing[0] };
71 70
72/* Arrays of p2m arrays expressed in mfns used for save/restore */ 71/* Arrays of p2m arrays expressed in mfns used for save/restore */
73static unsigned long p2m_top_mfn[TOP_ENTRIES] 72static unsigned long p2m_top_mfn[TOP_ENTRIES] __page_aligned_bss;
74 __attribute__((section(".bss.page_aligned")));
75 73
76static unsigned long p2m_top_mfn_list[ 74static unsigned long p2m_top_mfn_list[TOP_ENTRIES / P2M_ENTRIES_PER_PAGE]
77 PAGE_ALIGN(TOP_ENTRIES / P2M_ENTRIES_PER_PAGE)] 75 __page_aligned_bss;
78 __attribute__((section(".bss.page_aligned")));
79 76
80static inline unsigned p2m_top_index(unsigned long pfn) 77static inline unsigned p2m_top_index(unsigned long pfn)
81{ 78{