Messages in this thread Patch in this message |  | | From | Glauber Costa <> | | Subject | [PATCH 21/52] make stop_this_cpu looks exactly equal in both arches | | Date | Mon, 3 Mar 2008 14:12:49 -0300 |
| |
with the hlt_works change, it is possible to have i386 and x86_64 stop_this_cpu() looking exactly the same. They can, after that, be merged.
Signed-off-by: Glauber Costa <gcosta@redhat.com> --- arch/x86/kernel/smp_32.c | 2 +- arch/x86/kernel/smp_64.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/arch/x86/kernel/smp_32.c b/arch/x86/kernel/smp_32.c index e4a6b66..cde3a0e 100644 --- a/arch/x86/kernel/smp_32.c +++ b/arch/x86/kernel/smp_32.c @@ -611,7 +611,7 @@ static void stop_this_cpu (void * dummy) */ cpu_clear(smp_processor_id(), cpu_online_map); disable_local_APIC(); - if (cpu_data(smp_processor_id()).hlt_works_ok) + if (hlt_works(smp_processor_id())) for(;;) halt(); for (;;); } diff --git a/arch/x86/kernel/smp_64.c b/arch/x86/kernel/smp_64.c index e4494e8..4e1e2bc 100644 --- a/arch/x86/kernel/smp_64.c +++ b/arch/x86/kernel/smp_64.c @@ -416,8 +416,9 @@ static void stop_this_cpu(void *dummy) */ cpu_clear(smp_processor_id(), cpu_online_map); disable_local_APIC(); - for (;;) - halt(); + if (hlt_works(smp_processor_id())) + for (;;) halt(); + for (;;); } void smp_send_stop(void) -- 1.5.0.6
|  |