|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] x86: adjust x2apic section placement
# HG changeset patch
# User Keir Fraser <keir@xxxxxxx>
# Date 1292414274 0
# Node ID 9e33a83b36df055f0b40c638e8823564f7f719b9
# Parent fcc91cb3efcb83823b7e9c74ee3c97c4a9c0b7d5
x86: adjust x2apic section placement
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
---
xen/arch/x86/apic.c | 15 +++++++--------
xen/arch/x86/genapic/x2apic.c | 4 ++--
xen/arch/x86/setup.c | 2 +-
xen/arch/x86/smpboot.c | 2 +-
xen/include/asm-x86/apic.h | 3 ++-
5 files changed, 13 insertions(+), 13 deletions(-)
diff -r fcc91cb3efcb -r 9e33a83b36df xen/arch/x86/apic.c
--- a/xen/arch/x86/apic.c Wed Dec 15 11:56:25 2010 +0000
+++ b/xen/arch/x86/apic.c Wed Dec 15 11:57:54 2010 +0000
@@ -948,17 +948,16 @@ no_apic:
return -1;
}
-void x2apic_setup(void)
+void x2apic_ap_setup(void)
+{
+ if ( x2apic_enabled )
+ __enable_x2apic();
+}
+
+void __init x2apic_bsp_setup(void)
{
struct IO_APIC_route_entry **ioapic_entries = NULL;
uint64_t msr_content;
-
- if ( smp_processor_id() != 0 )
- {
- if ( x2apic_enabled )
- __enable_x2apic();
- return;
- }
if ( !cpu_has_x2apic )
return;
diff -r fcc91cb3efcb -r 9e33a83b36df xen/arch/x86/genapic/x2apic.c
--- a/xen/arch/x86/genapic/x2apic.c Wed Dec 15 11:56:25 2010 +0000
+++ b/xen/arch/x86/genapic/x2apic.c Wed Dec 15 11:57:54 2010 +0000
@@ -27,7 +27,7 @@
#include <xen/smp.h>
#include <asm/mach-default/mach_mpparse.h>
-static int x2apic_phys; /* 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 void init_apic_ldr_x2apic_phys(void)
@@ -134,7 +134,7 @@ static const struct genapic apic_x2apic_
.send_IPI_self = send_IPI_self_x2apic
};
-const struct genapic *apic_x2apic_probe(void)
+const struct genapic *__init apic_x2apic_probe(void)
{
return x2apic_phys ? &apic_x2apic_phys : &apic_x2apic_cluster;
}
diff -r fcc91cb3efcb -r 9e33a83b36df xen/arch/x86/setup.c
--- a/xen/arch/x86/setup.c Wed Dec 15 11:56:25 2010 +0000
+++ b/xen/arch/x86/setup.c Wed Dec 15 11:57:54 2010 +0000
@@ -1190,7 +1190,7 @@ void __init __start_xen(unsigned long mb
init_cpu_to_node();
- x2apic_setup();
+ x2apic_bsp_setup();
init_IRQ();
diff -r fcc91cb3efcb -r 9e33a83b36df xen/arch/x86/smpboot.c
--- a/xen/arch/x86/smpboot.c Wed Dec 15 11:56:25 2010 +0000
+++ b/xen/arch/x86/smpboot.c Wed Dec 15 11:57:54 2010 +0000
@@ -195,7 +195,7 @@ void smp_callin(void)
* update until we finish. We are free to set up this CPU: first the APIC.
*/
Dprintk("CALLIN, before setup_local_APIC().\n");
- x2apic_setup();
+ x2apic_ap_setup();
setup_local_APIC();
map_cpu_to_logical_apicid();
diff -r fcc91cb3efcb -r 9e33a83b36df xen/include/asm-x86/apic.h
--- a/xen/include/asm-x86/apic.h Wed Dec 15 11:56:25 2010 +0000
+++ b/xen/include/asm-x86/apic.h Wed Dec 15 11:57:54 2010 +0000
@@ -25,7 +25,8 @@ extern int x2apic_enabled;
extern int x2apic_enabled;
extern int directed_eoi_enabled;
-void x2apic_setup(void);
+void x2apic_bsp_setup(void);
+void x2apic_ap_setup(void);
const struct genapic *apic_x2apic_probe(void);
/*
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] x86: adjust x2apic section placement,
Xen patchbot-unstable <=
|
|
|
|
|