aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/genapic
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2009-10-28 10:54:50 +0000
committerKeir Fraser <keir.fraser@citrix.com>2009-10-28 10:54:50 +0000
commita8b1845a784516e51266e9f33fc3fe5b1e2790d5 (patch)
treee057fa606799edf4f4fd4af58b5b351ead338549 /xen/arch/x86/genapic
parent0a7e9c30b5554194b7b3c80ab751f13df0f7607f (diff)
downloadxen-a8b1845a784516e51266e9f33fc3fe5b1e2790d5.tar.gz
xen-a8b1845a784516e51266e9f33fc3fe5b1e2790d5.tar.bz2
xen-a8b1845a784516e51266e9f33fc3fe5b1e2790d5.zip
Miscellaneous data placement adjustments
Make various data items const or __read_mostly where possible/reasonable. Signed-off-by: Jan Beulich <jbeulich@novell.com>
Diffstat (limited to 'xen/arch/x86/genapic')
-rw-r--r--xen/arch/x86/genapic/bigsmp.c2
-rw-r--r--xen/arch/x86/genapic/default.c2
-rw-r--r--xen/arch/x86/genapic/probe.c11
-rw-r--r--xen/arch/x86/genapic/summit.c2
-rw-r--r--xen/arch/x86/genapic/x2apic.c8
5 files changed, 13 insertions, 12 deletions
diff --git a/xen/arch/x86/genapic/bigsmp.c b/xen/arch/x86/genapic/bigsmp.c
index 95a0608b75..1be2e97139 100644
--- a/xen/arch/x86/genapic/bigsmp.c
+++ b/xen/arch/x86/genapic/bigsmp.c
@@ -48,7 +48,7 @@ static __init int probe_bigsmp(void)
return dmi_bigsmp;
}
-struct genapic apic_bigsmp = {
+const struct genapic apic_bigsmp = {
APIC_INIT("bigsmp", probe_bigsmp),
GENAPIC_PHYS
};
diff --git a/xen/arch/x86/genapic/default.c b/xen/arch/x86/genapic/default.c
index 0e766937fc..5665ded0c0 100644
--- a/xen/arch/x86/genapic/default.c
+++ b/xen/arch/x86/genapic/default.c
@@ -20,7 +20,7 @@ static __init int probe_default(void)
return 1;
}
-struct genapic apic_default = {
+const struct genapic apic_default = {
APIC_INIT("default", probe_default),
GENAPIC_FLAT
};
diff --git a/xen/arch/x86/genapic/probe.c b/xen/arch/x86/genapic/probe.c
index 22384d2207..7768d36d71 100644
--- a/xen/arch/x86/genapic/probe.c
+++ b/xen/arch/x86/genapic/probe.c
@@ -9,19 +9,20 @@
#include <xen/kernel.h>
#include <xen/ctype.h>
#include <xen/init.h>
+#include <asm/cache.h>
#include <asm/fixmap.h>
#include <asm/mpspec.h>
#include <asm/apicdef.h>
#include <asm/mach-generic/mach_apic.h>
#include <asm/setup.h>
-extern struct genapic apic_summit;
-extern struct genapic apic_bigsmp;
-extern struct genapic apic_default;
+extern const struct genapic apic_summit;
+extern const struct genapic apic_bigsmp;
+extern const struct genapic apic_default;
-struct genapic *genapic;
+const struct genapic *__read_mostly genapic;
-struct genapic *apic_probe[] __initdata = {
+const struct genapic *apic_probe[] __initdata = {
&apic_summit,
&apic_bigsmp,
&apic_default, /* must be last */
diff --git a/xen/arch/x86/genapic/summit.c b/xen/arch/x86/genapic/summit.c
index 837a5ad85d..910f2e0da5 100644
--- a/xen/arch/x86/genapic/summit.c
+++ b/xen/arch/x86/genapic/summit.c
@@ -20,7 +20,7 @@ static __init int probe_summit(void)
return 0;
}
-struct genapic apic_summit = {
+const struct genapic apic_summit = {
APIC_INIT("summit", probe_summit),
GENAPIC_PHYS
};
diff --git a/xen/arch/x86/genapic/x2apic.c b/xen/arch/x86/genapic/x2apic.c
index f76cf945d9..610db8baa0 100644
--- a/xen/arch/x86/genapic/x2apic.c
+++ b/xen/arch/x86/genapic/x2apic.c
@@ -23,10 +23,10 @@
#include <xen/smp.h>
#include <asm/mach-default/mach_mpparse.h>
-static int x2apic = 1;
+static int __initdata x2apic = 1;
boolean_param("x2apic", x2apic);
-static int x2apic_phys = 0; /* By default we use logical cluster mode. */
+static int __initdata x2apic_phys; /* By default we use logical cluster mode. */
boolean_param("x2apic_phys", x2apic_phys);
static int __init probe_x2apic_phys(void)
@@ -41,12 +41,12 @@ static int __init probe_x2apic_cluster(void)
iommu_supports_eim();
}
-struct genapic apic_x2apic_phys= {
+const struct genapic apic_x2apic_phys = {
APIC_INIT("x2apic_phys", probe_x2apic_phys),
GENAPIC_X2APIC_PHYS
};
-struct genapic apic_x2apic_cluster= {
+const struct genapic apic_x2apic_cluster = {
APIC_INIT("x2apic_cluster", probe_x2apic_cluster),
GENAPIC_X2APIC_CLUSTER
};