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
On Sat, Aug 23, 2008 at 12:45 PM, Cyrill Gorcunov <gorcunov@gmail.com> wrote:
> [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?

32 bit need to do sth special when subarch

YH


\
 
 \ /
  Last update: 2008-08-23 22:19    [W:0.323 / U:0.596 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site