diff options
author | Glauber de Oliveira Costa <gcosta@redhat.com> | 2008-03-19 13:25:11 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-04-17 11:41:00 -0400 |
commit | 148a30f8cf2ac72b7ea6e5c8971fad8d80ec3879 (patch) | |
tree | 471a35308b130102ea4dfabe007a821667cccd81 | |
parent | ac56ef61a1f65aaf1cb31dca2a407322c5f0a4dd (diff) |
x86: use APIC_INTEGRATED tests in x86_64
This patch does not change the behaviour of x86_64, since APIC_INTEGRATED
is always defined as (1). But the code now matches exactly i386 version
(well, this part of the code, at least)
Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r-- | arch/x86/kernel/smpboot_64.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/arch/x86/kernel/smpboot_64.c b/arch/x86/kernel/smpboot_64.c index cfcfd2c2062b..d7b59d6c6963 100644 --- a/arch/x86/kernel/smpboot_64.c +++ b/arch/x86/kernel/smpboot_64.c | |||
@@ -295,6 +295,15 @@ static int __cpuinit wakeup_secondary_via_INIT(int phys_apicid, unsigned int sta | |||
295 | unsigned long send_status, accept_status = 0; | 295 | unsigned long send_status, accept_status = 0; |
296 | int maxlvt, num_starts, j; | 296 | int maxlvt, num_starts, j; |
297 | 297 | ||
298 | /* | ||
299 | * Be paranoid about clearing APIC errors. | ||
300 | */ | ||
301 | if (APIC_INTEGRATED(apic_version[phys_apicid])) { | ||
302 | apic_read_around(APIC_SPIV); | ||
303 | apic_write(APIC_ESR, 0); | ||
304 | apic_read(APIC_ESR); | ||
305 | } | ||
306 | |||
298 | Dprintk("Asserting INIT.\n"); | 307 | Dprintk("Asserting INIT.\n"); |
299 | 308 | ||
300 | /* | 309 | /* |
@@ -327,7 +336,10 @@ static int __cpuinit wakeup_secondary_via_INIT(int phys_apicid, unsigned int sta | |||
327 | mb(); | 336 | mb(); |
328 | atomic_set(&init_deasserted, 1); | 337 | atomic_set(&init_deasserted, 1); |
329 | 338 | ||
330 | num_starts = 2; | 339 | if (APIC_INTEGRATED(apic_version[phys_apicid])) |
340 | num_starts = 2; | ||
341 | else | ||
342 | num_starts = 0; | ||
331 | 343 | ||
332 | /* | 344 | /* |
333 | * Paravirt / VMI wants a startup IPI hook here to set up the | 345 | * Paravirt / VMI wants a startup IPI hook here to set up the |