projects
/
powerpc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[AVR32] fix serial port setup on ATSTK1000
[powerpc.git]
/
arch
/
x86_64
/
kernel
/
genapic.c
diff --git
a/arch/x86_64/kernel/genapic.c
b/arch/x86_64/kernel/genapic.c
index
7a64ea1
..
0b3603a
100644
(file)
--- a/
arch/x86_64/kernel/genapic.c
+++ b/
arch/x86_64/kernel/genapic.c
@@
-8,7
+8,6
@@
* Martin Bligh, Andi Kleen, James Bottomley, John Stultz, and
* James Cleverdon.
*/
* Martin Bligh, Andi Kleen, James Bottomley, John Stultz, and
* James Cleverdon.
*/
-#include <linux/config.h>
#include <linux/threads.h>
#include <linux/cpumask.h>
#include <linux/string.h>
#include <linux/threads.h>
#include <linux/cpumask.h>
#include <linux/string.h>
@@
-34,7
+33,7
@@
extern struct genapic apic_flat;
extern struct genapic apic_physflat;
struct genapic *genapic = &apic_flat;
extern struct genapic apic_physflat;
struct genapic *genapic = &apic_flat;
-
+struct genapic *genapic_force;
/*
* Check the APIC IDs in bios_cpu_apicid and choose the APIC mode.
/*
* Check the APIC IDs in bios_cpu_apicid and choose the APIC mode.
@@
-47,13
+46,20
@@
void __init clustered_apic_check(void)
u8 cluster_cnt[NUM_APIC_CLUSTERS];
int max_apic = 0;
u8 cluster_cnt[NUM_APIC_CLUSTERS];
int max_apic = 0;
+ /* genapic selection can be forced because of certain quirks.
+ */
+ if (genapic_force) {
+ genapic = genapic_force;
+ goto print;
+ }
+
#if defined(CONFIG_ACPI)
/*
* Some x86_64 machines use physical APIC mode regardless of how many
* procs/clusters are present (x86_64 ES7000 is an example).
*/
#if defined(CONFIG_ACPI)
/*
* Some x86_64 machines use physical APIC mode regardless of how many
* procs/clusters are present (x86_64 ES7000 is an example).
*/
- if (acpi_
fadt
.revision > FADT2_REVISION_ID)
- if (acpi_
fadt.force_apic_physical_destination_mode
) {
+ if (acpi_
gbl_FADT.header
.revision > FADT2_REVISION_ID)
+ if (acpi_
gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL
) {
genapic = &apic_cluster;
goto print;
}
genapic = &apic_cluster;
goto print;
}