lkml.org 
[lkml]   [2008]   [Apr]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: Voyager phys_cpu_present_map compile error
    From
    Date
    On Mon, 2008-04-21 at 14:00 +0200, Ingo Molnar wrote:
    > * Adrian Bunk <bunk@kernel.org> wrote:
    >
    > > I shouldn't send bug reports at 3 in the morning...
    > >
    > > Attached is the .config for both Voyager build errors I reported.
    >
    > thanks, the three patches below should fix it.
    >
    > i ended up excluding Voyager configs from our test space some time ago
    > (and VISWS as well - there's one more visws fix in x86.git), that's how
    > this broke. These subarchitectures seem not to be used at all and the
    > code wont boot on normal PCs. We could mark it BROKEN but the fix seems
    > simple in any case.

    The voyager pieces of this code look fine to me. I can't test at the
    moment because we're having the carpets cleaned and I can't get down
    into the cellar where the systems are, but I'll do so shortly.

    James


    > Ingo
    >
    > ---------------------->
    > Subject: x86: voyager fix
    > From: Ingo Molnar <mingo@elte.hu>
    > Date: Mon Apr 21 13:39:53 CEST 2008
    >
    > Reported-by: Adrian Bunk <bunk@kernel.org>
    > Signed-off-by: Ingo Molnar <mingo@elte.hu>
    > ---
    > arch/x86/Kconfig | 2 +-
    > arch/x86/kernel/setup.c | 2 ++
    > arch/x86/mach-voyager/voyager_smp.c | 17 -----------------
    > 3 files changed, 3 insertions(+), 18 deletions(-)
    >
    > Index: linux-x86.q/arch/x86/Kconfig
    > ===================================================================
    > --- linux-x86.q.orig/arch/x86/Kconfig
    > +++ linux-x86.q/arch/x86/Kconfig
    > @@ -23,7 +23,7 @@ config X86
    > select HAVE_KPROBES
    > select HAVE_KRETPROBES
    > select HAVE_KVM if ((X86_32 && !X86_VOYAGER && !X86_VISWS && !X86_NUMAQ) || X86_64)
    > - select HAVE_ARCH_KGDB
    > + select HAVE_ARCH_KGDB if !X86_VOYAGER
    >
    >
    > config GENERIC_LOCKBREAK
    > Index: linux-x86.q/arch/x86/kernel/setup.c
    > ===================================================================
    > --- linux-x86.q.orig/arch/x86/kernel/setup.c
    > +++ linux-x86.q/arch/x86/kernel/setup.c
    > @@ -21,8 +21,10 @@ EXPORT_SYMBOL(boot_cpu_physical_apicid);
    > DEFINE_PER_CPU(u16, x86_cpu_to_apicid) = BAD_APICID;
    > EXPORT_PER_CPU_SYMBOL(x86_cpu_to_apicid);
    >
    > +#ifndef CONFIG_X86_VOYAGER
    > /* Bitmask of physically existing CPUs */
    > physid_mask_t phys_cpu_present_map;
    > +#endif
    >
    > #if defined(CONFIG_HAVE_SETUP_PER_CPU_AREA) && defined(CONFIG_SMP)
    > /*
    > Index: linux-x86.q/arch/x86/mach-voyager/voyager_smp.c
    > ===================================================================
    > --- linux-x86.q.orig/arch/x86/mach-voyager/voyager_smp.c
    > +++ linux-x86.q/arch/x86/mach-voyager/voyager_smp.c
    > @@ -208,11 +208,6 @@ static struct irq_chip vic_chip = {
    > /* used to count up as CPUs are brought on line (starts at 0) */
    > static int cpucount = 0;
    >
    > -/* steal a page from the bottom of memory for the trampoline and
    > - * squirrel its address away here. This will be in kernel virtual
    > - * space */
    > -unsigned char *trampoline_base;
    > -
    > /* The per cpu profile stuff - used in smp_local_timer_interrupt */
    > static DEFINE_PER_CPU(int, prof_multiplier) = 1;
    > static DEFINE_PER_CPU(int, prof_old_multiplier) = 1;
    > @@ -429,18 +424,6 @@ void __init smp_store_cpu_info(int id)
    > identify_secondary_cpu(c);
    > }
    >
    > -/* set up the trampoline and return the physical address of the code */
    > -unsigned long __init setup_trampoline(void)
    > -{
    > - /* these two are global symbols in trampoline.S */
    > - extern const __u8 trampoline_end[];
    > - extern const __u8 trampoline_data[];
    > -
    > - memcpy(trampoline_base, trampoline_data,
    > - trampoline_end - trampoline_data);
    > - return virt_to_phys(trampoline_base);
    > -}
    > -
    > /* Routine initially called when a non-boot CPU is brought online */
    > static void __init start_secondary(void *unused)
    > {
    >
    > Subject: x86: Drop duplicate from setup.c
    > From: Alexey Starikovskiy <astarikovskiy@suse.de>
    > Date: Mon, 21 Apr 2008 13:31:55 +0400
    >
    > Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
    > Signed-off-by: Ingo Molnar <mingo@elte.hu>
    > ---
    > arch/x86/kernel/setup.c | 2 --
    > 1 file changed, 2 deletions(-)
    >
    > Index: linux-x86.q/arch/x86/kernel/setup.c
    > ===================================================================
    > --- linux-x86.q.orig/arch/x86/kernel/setup.c
    > +++ linux-x86.q/arch/x86/kernel/setup.c
    > @@ -18,8 +18,6 @@ unsigned disabled_cpus __cpuinitdata;
    > unsigned int boot_cpu_physical_apicid = -1U;
    > EXPORT_SYMBOL(boot_cpu_physical_apicid);
    >
    > -physid_mask_t phys_cpu_present_map;
    > -
    > DEFINE_PER_CPU(u16, x86_cpu_to_apicid) = BAD_APICID;
    > EXPORT_PER_CPU_SYMBOL(x86_cpu_to_apicid);
    >
    > Subject: x86: fix compilation error in VisWS
    > From: Alexey Starikovskiy <astarikovskiy@suse.de>
    > Date: Mon, 21 Apr 2008 13:32:01 +0400
    >
    > Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
    > Signed-off-by: Ingo Molnar <mingo@elte.hu>
    > ---
    > arch/x86/mach-visws/mpparse.c | 15 +--------------
    > 1 file changed, 1 insertion(+), 14 deletions(-)
    >
    > Index: linux-x86.q/arch/x86/mach-visws/mpparse.c
    > ===================================================================
    > --- linux-x86.q.orig/arch/x86/mach-visws/mpparse.c
    > +++ linux-x86.q/arch/x86/mach-visws/mpparse.c
    > @@ -11,22 +11,9 @@
    > /* Have we found an MP table */
    > int smp_found_config;
    >
    > -/*
    > - * Various Linux-internal data structures created from the
    > - * MP-table.
    > - */
    > -int apic_version [MAX_APICS];
    > -
    > int pic_mode;
    > -unsigned long mp_lapic_addr;
    > -
    > -/* Processor that is doing the boot up */
    > -unsigned int boot_cpu_physical_apicid = -1U;
    > -
    > -/* Bitmask of physically existing CPUs */
    > -physid_mask_t phys_cpu_present_map;
    >
    > -unsigned int __initdata maxcpus = NR_CPUS;
    > +extern unsigned int __cpuinitdata maxcpus;
    >
    > /*
    > * The Visual Workstation is Intel MP compliant in the hardware



    \
     
     \ /
      Last update: 2008-04-21 18:01    [W:2.491 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site