Kamble, Nitin A
2005-Sep-09 23:55 UTC
[Xen-devel] [PATCH] Automatic bigsmp detection for i386 systems with more than 8 cpus
Ian, Keir, Linux kernel is able to enable bigsmp mode automatically if SMP i386 kernel finds more than 8 cpus in the system. This patch adds this missing feature to Xen hypervisor, to enable Xen booting fine on systems with more than 8 CPUS without any commandline options. For reference here is the original patch for Linux Kernel. http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13/2. 6.13-mm1/broken-out/x86-automatically-enable-bigsmp-when-we-have-more-th an-8-cpus-2.patch Please apply and/or provide comments. Signed-off-by: Nitin Kamble <nitin.a.kamble@intel.com> Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Thanks & Regards, Nitin ------------------------------------------------------------------------ ----------- Sr Software Engineer Open Source Technology Center, Intel Corp _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Andrew Morton
2005-Sep-10 09:39 UTC
[Xen-devel] Re: [PATCH] Automatic bigsmp detection for i386 systems with more than 8 cpus
"Kamble, Nitin A" <nitin.a.kamble@intel.com> wrote:> > Linux kernel is able to enable bigsmp mode automatically if SMP i386 > kernel finds more than 8 cpus in the system. This patch adds this > missing feature to Xen hypervisor, to enable Xen booting fine on systems > with more than 8 CPUS without any commandline options. >> static void __init genapic_apic_force(char *str) > { > int i; > @@ -51,6 +70,8 @@ > } > if (!changed) > genapic = &apic_default; > + > + cmdline_apic = changed; > > printk(KERN_INFO "Using APIC driver %s\n", genapic->name); > } > diff -r 840e348a334e xen/arch/x86/mpparse.c > --- a/xen/arch/x86/mpparse.c Thu Sep 8 19:11:25 2005 > +++ b/xen/arch/x86/mpparse.c Thu Sep 8 15:12:46 2005 > @@ -62,6 +62,7 @@ > > int pic_mode; > unsigned long mp_lapic_addr; > +unsigned int def_to_bigsmp = 0; > > /* Processor that is doing the boot up */ > unsigned int boot_cpu_physical_apicid = -1U; > @@ -213,6 +214,10 @@ > ver = 0x10; > } > apic_version[m->mpc_apicid] = ver; > + if ((num_processors > 8) && APIC_XAPIC(ver) && (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL)) > + def_to_bigsmp = 1; > + else > + def_to_bigsmp = 0; > bios_cpu_apicid[num_processors - 1] = m->mpc_apicid; > }Please use hard tabs. If the Xen patch comes in adding gunk like this there will be loud complaints... _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel