lkml.org 
[lkml]   [2008]   [Mar]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 16/79] [PATCH] use APIC_INTEGRATED tests in x86_64
    Date
    From: Glauber Costa <gcosta@redhat.com>

    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>
    ---
    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 cfcfd2c..d7b59d6 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
    unsigned long send_status, accept_status = 0;
    int maxlvt, num_starts, j;

    + /*
    + * Be paranoid about clearing APIC errors.
    + */
    + if (APIC_INTEGRATED(apic_version[phys_apicid])) {
    + apic_read_around(APIC_SPIV);
    + apic_write(APIC_ESR, 0);
    + apic_read(APIC_ESR);
    + }
    +
    Dprintk("Asserting INIT.\n");

    /*
    @@ -327,7 +336,10 @@ static int __cpuinit wakeup_secondary_via_INIT(int phys_apicid, unsigned int sta
    mb();
    atomic_set(&init_deasserted, 1);

    - num_starts = 2;
    + if (APIC_INTEGRATED(apic_version[phys_apicid]))
    + num_starts = 2;
    + else
    + num_starts = 0;

    /*
    * Paravirt / VMI wants a startup IPI hook here to set up the
    --
    1.5.0.6


    \
     
     \ /
      Last update: 2008-03-19 21:33    [W:4.272 / U:0.124 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site