lkml.org 
[lkml]   [2009]   [Mar]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[tip:x86/apic] Revert "x86: don't compile vsmp_64 for 32bit"
    Commit-ID:  70511134f61bd6e5eed19f767381f9fb3e762d49
    Gitweb: http://git.kernel.org/tip/70511134f61bd6e5eed19f767381f9fb3e762d49
    Author: Ravikiran G Thirumalai <kiran@scalex86.org>
    AuthorDate: Mon, 23 Mar 2009 23:14:29 -0700
    Committer: Ingo Molnar <mingo@elte.hu>
    CommitDate: Wed, 25 Mar 2009 21:34:28 +0100

    Revert "x86: don't compile vsmp_64 for 32bit"

    Partial revert of commit 129d8bc828e011bda0b7110a097bf3a0167f966e
    titled 'x86: don't compile vsmp_64 for 32bit'

    Commit reverted to compile vsmp_64.c if CONFIG_X86_64 is defined,
    since is_vsmp_box() needs to indicate that TSCs are not synchronized, and
    hence, not a valid time source, even when CONFIG_X86_VSMP is not defined.

    Signed-off-by: Ravikiran Thirumalai <kiran@scalex86.org>
    Cc: Yinghai Lu <yinghai@kernel.org>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: shai@scalex86.org
    LKML-Reference: <20090324061429.GH7278@localdomain>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>


    ---
    arch/x86/include/asm/apic.h | 2 +-
    arch/x86/include/asm/setup.h | 2 +-
    arch/x86/kernel/Makefile | 2 +-
    arch/x86/kernel/vsmp_64.c | 12 +++++++++++-
    4 files changed, 14 insertions(+), 4 deletions(-)

    diff --git a/arch/x86/include/asm/apic.h b/arch/x86/include/asm/apic.h
    index 130a9e2..df8a300 100644
    --- a/arch/x86/include/asm/apic.h
    +++ b/arch/x86/include/asm/apic.h
    @@ -75,7 +75,7 @@ static inline void default_inquire_remote_apic(int apicid)
    #define setup_secondary_clock setup_secondary_APIC_clock
    #endif

    -#ifdef CONFIG_X86_VSMP
    +#ifdef CONFIG_X86_64
    extern int is_vsmp_box(void);
    #else
    static inline int is_vsmp_box(void)
    diff --git a/arch/x86/include/asm/setup.h b/arch/x86/include/asm/setup.h
    index fbf0521..bdc2ada 100644
    --- a/arch/x86/include/asm/setup.h
    +++ b/arch/x86/include/asm/setup.h
    @@ -64,7 +64,7 @@ extern void x86_quirk_time_init(void);
    #include <asm/bootparam.h>

    /* Interrupt control for vSMPowered x86_64 systems */
    -#ifdef CONFIG_X86_VSMP
    +#ifdef CONFIG_X86_64
    void vsmp_init(void);
    #else
    static inline void vsmp_init(void) { }
    diff --git a/arch/x86/kernel/Makefile b/arch/x86/kernel/Makefile
    index 339ce35..6e9c1f3 100644
    --- a/arch/x86/kernel/Makefile
    +++ b/arch/x86/kernel/Makefile
    @@ -70,7 +70,6 @@ obj-$(CONFIG_FUNCTION_GRAPH_TRACER) += ftrace.o
    obj-$(CONFIG_KEXEC) += machine_kexec_$(BITS).o
    obj-$(CONFIG_KEXEC) += relocate_kernel_$(BITS).o crash.o
    obj-$(CONFIG_CRASH_DUMP) += crash_dump_$(BITS).o
    -obj-$(CONFIG_X86_VSMP) += vsmp_64.o
    obj-$(CONFIG_KPROBES) += kprobes.o
    obj-$(CONFIG_MODULES) += module_$(BITS).o
    obj-$(CONFIG_EFI) += efi.o efi_$(BITS).o efi_stub_$(BITS).o
    @@ -120,4 +119,5 @@ ifeq ($(CONFIG_X86_64),y)
    obj-$(CONFIG_AMD_IOMMU) += amd_iommu_init.o amd_iommu.o

    obj-$(CONFIG_PCI_MMCONFIG) += mmconf-fam10h_64.o
    + obj-y += vsmp_64.o
    endif
    diff --git a/arch/x86/kernel/vsmp_64.c b/arch/x86/kernel/vsmp_64.c
    index 74de562..a1d804b 100644
    --- a/arch/x86/kernel/vsmp_64.c
    +++ b/arch/x86/kernel/vsmp_64.c
    @@ -22,7 +22,7 @@
    #include <asm/paravirt.h>
    #include <asm/setup.h>

    -#ifdef CONFIG_PARAVIRT
    +#if defined CONFIG_PCI && defined CONFIG_PARAVIRT
    /*
    * Interrupt control on vSMPowered systems:
    * ~AC is a shadow of IF. If IF is 'on' AC should be 'off'
    @@ -114,6 +114,7 @@ static void __init set_vsmp_pv_ops(void)
    }
    #endif

    +#ifdef CONFIG_PCI
    static int is_vsmp = -1;

    static void __init detect_vsmp_box(void)
    @@ -139,6 +140,15 @@ int is_vsmp_box(void)
    }
    }

    +#else
    +static void __init detect_vsmp_box(void)
    +{
    +}
    +int is_vsmp_box(void)
    +{
    + return 0;
    +}
    +#endif
    void __init vsmp_init(void)
    {
    detect_vsmp_box();

    \
     
     \ /
      Last update: 2009-03-26 09:03    [W:4.685 / U:0.132 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site