lkml.org 
[lkml]   [2008]   [Aug]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 5/8] x86: apic - unify hard_smp_processor_id
    [Yinghai Lu - Sat, Aug 23, 2008 at 12:13:21PM -0700]
    | On Sat, Aug 23, 2008 at 6:01 AM, Cyrill Gorcunov <gorcunov@gmail.com> wrote:
    | > Move hard_smp_processor_id to apic_32.c.
    | > There is no need to keep it in header - we are linked to
    | > apic_xx.c code anyway.
    | >
    | > Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
    | > ---
    | > arch/x86/kernel/apic_32.c | 5 +++++
    | > include/asm-x86/smp.h | 10 ----------
    | > 2 files changed, 5 insertions(+), 10 deletions(-)
    | >
    | > diff --git a/arch/x86/kernel/apic_32.c b/arch/x86/kernel/apic_32.c
    | > index ad295cf..c71a77c 100644
    | > --- a/arch/x86/kernel/apic_32.c
    | > +++ b/arch/x86/kernel/apic_32.c
    | > @@ -1569,6 +1569,11 @@ void __cpuinit generic_processor_info(int apicid, int version)
    | > cpu_set(cpu, cpu_present_map);
    | > }
    | >
    | > +int hard_smp_processor_id(void)
    | > +{
    | > + return read_apic_id();
    | > +}
    | > +
    | > /*
    | > * Power management
    | > */
    | > diff --git a/include/asm-x86/smp.h b/include/asm-x86/smp.h
    | > index 29324c1..914a73d 100644
    | > --- a/include/asm-x86/smp.h
    | > +++ b/include/asm-x86/smp.h
    | > @@ -185,17 +185,7 @@ static inline unsigned int read_apic_id(void)
    | > }
    | > #endif
    | >
    | > -
    | > -# if defined(APIC_DEFINITION) || defined(CONFIG_X86_64)
    | > extern int hard_smp_processor_id(void);
    | > -# else
    | > -#include <mach_apicdef.h>
    | > -static inline int hard_smp_processor_id(void)
    | > -{
    | > - /* we don't want to mark this access volatile - bad code generation */
    | > - return read_apic_id();
    | > -}
    | > -# endif /* APIC_DEFINITION */
    | >
    | > #else /* CONFIG_X86_LOCAL_APIC */
    | >
    | > --
    | > 1.6.0.6.gc667
    | >
    | >
    |
    | this one seems have some problem with 32bit with genericarch
    |
    | because we have
    |
    | int hard_smp_processor_id(void)
    | {
    | return genapic->get_apic_id(*(unsigned long *)(APIC_BASE+APIC_ID));
    | }
    |
    | arch/x86/mach-generic/probe.c
    |
    | updated 64 bit to have MACRO.
    |
    | YH
    |

    thanks Yinghai, but isn't it called _after_ x86 apic chip
    initialized?

    - Cyrill -


    \
     
     \ /
      Last update: 2008-08-23 22:01    [W:0.025 / U:0.776 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site