Commit c1507eb2 authored by Andi Kleen's avatar Andi Kleen Committed by Linus Torvalds

[PATCH] x86-64: Remove apic_write_around from smpboot.c

We don't do workarounds for ancient hardware bugs.
Signed-off-by: default avatarAndi Kleen <ak@suse.de>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent affc9b84
...@@ -540,8 +540,8 @@ static void inquire_remote_apic(int apicid) ...@@ -540,8 +540,8 @@ static void inquire_remote_apic(int apicid)
*/ */
apic_wait_icr_idle(); apic_wait_icr_idle();
apic_write_around(APIC_ICR2, SET_APIC_DEST_FIELD(apicid)); apic_write(APIC_ICR2, SET_APIC_DEST_FIELD(apicid));
apic_write_around(APIC_ICR, APIC_DM_REMRD | regs[i]); apic_write(APIC_ICR, APIC_DM_REMRD | regs[i]);
timeout = 0; timeout = 0;
do { do {
...@@ -574,12 +574,12 @@ static int __cpuinit wakeup_secondary_via_INIT(int phys_apicid, unsigned int sta ...@@ -574,12 +574,12 @@ static int __cpuinit wakeup_secondary_via_INIT(int phys_apicid, unsigned int sta
/* /*
* Turn INIT on target chip * Turn INIT on target chip
*/ */
apic_write_around(APIC_ICR2, SET_APIC_DEST_FIELD(phys_apicid)); apic_write(APIC_ICR2, SET_APIC_DEST_FIELD(phys_apicid));
/* /*
* Send IPI * Send IPI
*/ */
apic_write_around(APIC_ICR, APIC_INT_LEVELTRIG | APIC_INT_ASSERT apic_write(APIC_ICR, APIC_INT_LEVELTRIG | APIC_INT_ASSERT
| APIC_DM_INIT); | APIC_DM_INIT);
Dprintk("Waiting for send to finish...\n"); Dprintk("Waiting for send to finish...\n");
...@@ -595,10 +595,10 @@ static int __cpuinit wakeup_secondary_via_INIT(int phys_apicid, unsigned int sta ...@@ -595,10 +595,10 @@ static int __cpuinit wakeup_secondary_via_INIT(int phys_apicid, unsigned int sta
Dprintk("Deasserting INIT.\n"); Dprintk("Deasserting INIT.\n");
/* Target chip */ /* Target chip */
apic_write_around(APIC_ICR2, SET_APIC_DEST_FIELD(phys_apicid)); apic_write(APIC_ICR2, SET_APIC_DEST_FIELD(phys_apicid));
/* Send IPI */ /* Send IPI */
apic_write_around(APIC_ICR, APIC_INT_LEVELTRIG | APIC_DM_INIT); apic_write(APIC_ICR, APIC_INT_LEVELTRIG | APIC_DM_INIT);
Dprintk("Waiting for send to finish...\n"); Dprintk("Waiting for send to finish...\n");
timeout = 0; timeout = 0;
...@@ -640,12 +640,11 @@ static int __cpuinit wakeup_secondary_via_INIT(int phys_apicid, unsigned int sta ...@@ -640,12 +640,11 @@ static int __cpuinit wakeup_secondary_via_INIT(int phys_apicid, unsigned int sta
*/ */
/* Target chip */ /* Target chip */
apic_write_around(APIC_ICR2, SET_APIC_DEST_FIELD(phys_apicid)); apic_write(APIC_ICR2, SET_APIC_DEST_FIELD(phys_apicid));
/* Boot on the stack */ /* Boot on the stack */
/* Kick the second */ /* Kick the second */
apic_write_around(APIC_ICR, APIC_DM_STARTUP apic_write(APIC_ICR, APIC_DM_STARTUP | (start_rip >> 12));
| (start_rip >> 12));
/* /*
* Give the other CPU some time to accept the IPI. * Give the other CPU some time to accept the IPI.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment