Messages in this thread Patch in this message | | | Date | Tue, 18 Mar 2008 01:25:10 -0700 | From | "Yinghai Lu" <> | Subject | Re: + x86-vsmp-build-fixes.patch added to -mm tree |
| |
On Tue, Mar 18, 2008 at 12:28 AM, Ravikiran Thirumalai <kiran@scalemp.com> wrote: > On Mon, Mar 17, 2008 at 10:26:55PM -0700, Yinghai Lu wrote: > >On Mon, Mar 17, 2008 at 10:14 PM, <akpm@linux-foundation.org> wrote: > >> ... > > >> Subject: x86: vsmp build fixes > >> From: Glauber Costa <gcosta@redhat.com> > >> > >> VSMP depends on PCI, but the file is now compiled conditionally on PARAVIRT, > >> no VSMP, so enclose everything in an ifdef CONFIG_PCI. > > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > ... > > > > >in arch/x86/Kconfig > > > >config PCI > > bool "PCI support" if !X86_VISWS && !X86_VSMP > > depends on !X86_VOYAGER > > default y > > select ARCH_SUPPORTS_MSI if (X86_LOCAL_APIC && X86_IO_APIC) > > help > > Find out whether you have a PCI motherboard. PCI is the name of a > > bus system, i.e. the way the CPU talks to the other stuff inside > > your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or > > VESA. If you have PCI, say Y, otherwise N. > > > >will make sure if X86_VSMP, the PCI=y > > > >so NAK this patch. > > > > Not really, as you can tell from the description Glauber provided above. > suggest you change vsmp_64.c still depend to CONFIG_VSMP, and add some inline function in some header file. sth like attach patch
YH diff --git a/arch/x86/kernel/Makefile b/arch/x86/kernel/Makefile index 09b7b4e..00c0010 100644 --- a/arch/x86/kernel/Makefile +++ b/arch/x86/kernel/Makefile @@ -61,7 +61,7 @@ obj-$(CONFIG_KEXEC) += relocate_kernel_$(BITS).o crash.o obj-$(CONFIG_CRASH_DUMP) += crash_dump_$(BITS).o obj-$(CONFIG_X86_NUMAQ) += numaq_32.o obj-$(CONFIG_X86_SUMMIT_NUMA) += summit_32.o -obj-$(CONFIG_PARAVIRT) += vsmp_64.o +obj-$(CONFIG_X86_VSMP) += vsmp_64.o obj-$(CONFIG_KPROBES) += kprobes.o obj-$(CONFIG_MODULES) += module_$(BITS).o obj-$(CONFIG_ACPI_SRAT) += srat_32.o diff --git a/include/asm-x86/apic.h b/include/asm-x86/apic.h index db5f750..6bcf559 100644 --- a/include/asm-x86/apic.h +++ b/include/asm-x86/apic.h @@ -51,13 +51,17 @@ extern unsigned boot_cpu_id; */ #ifdef CONFIG_PARAVIRT #include <asm/paravirt.h> -extern int is_vsmp_box(void); #else #define apic_write native_apic_write #define apic_write_atomic native_apic_write_atomic #define apic_read native_apic_read #define setup_boot_clock setup_boot_APIC_clock #define setup_secondary_clock setup_secondary_APIC_clock +#endif + +#ifdef CONFIG_X86_VSMP +extern int is_vsmp_box(void); +#else static int inline is_vsmp_box(void) { return 0; diff --git a/include/asm-x86/setup.h b/include/asm-x86/setup.h index f745de2..8516550 100644 --- a/include/asm-x86/setup.h +++ b/include/asm-x86/setup.h @@ -6,7 +6,13 @@ #ifndef __ASSEMBLY__ /* Interrupt control for vSMPowered x86_64 systems */ +#ifdef CONFIG_X86_VSMP void vsmp_init(void); +#else +static inline void vsmp_init(void) +{ +} +#endif char *machine_specific_memory_setup(void); #ifndef CONFIG_PARAVIRT | |