Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b4db920c authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branches 'x86-detect-hyper-for-linus', 'x86-fpu-for-linus',...

Merge branches 'x86-detect-hyper-for-linus', 'x86-fpu-for-linus', 'x86-kexec-for-linus', 'x86-platform-for-linus', 'x86-quirks-for-linus', 'x86-tsc-for-linus' and 'x86-smpboot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'x86-detect-hyper-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86, hyper: Change hypervisor detection order

* 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86-32, fpu: Fix DNA exception during check_fpu()

* 'x86-kexec-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  kexec, x86: Fix incorrect jump back address if not preserving context

* 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86, config: Introduce an INTEL_MID configuration

* 'x86-quirks-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86, quirks: Use pci_dev->revision

* 'x86-tsc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86: tsc: Remove unneeded DMI-based blacklisting

* 'x86-smpboot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86, boot: Wait for boot cpu to show up if nr_cpus limit is about to hit
Loading
+13 −2
Original line number Diff line number Diff line
@@ -390,12 +390,21 @@ config X86_INTEL_CE
	  This option compiles in support for the CE4100 SOC for settop
	  boxes and media devices.

config X86_INTEL_MID
	bool "Intel MID platform support"
	depends on X86_32
	depends on X86_EXTENDED_PLATFORM
	---help---
	  Select to build a kernel capable of supporting Intel MID platform
	  systems which do not have the PCI legacy interfaces (Moorestown,
	  Medfield). If you are building for a PC class system say N here.

if X86_INTEL_MID

config X86_MRST
       bool "Moorestown MID platform"
	depends on PCI
	depends on PCI_GOANY
	depends on X86_32
	depends on X86_EXTENDED_PLATFORM
	depends on X86_IO_APIC
	select APB_TIMER
	select I2C
@@ -410,6 +419,8 @@ config X86_MRST
	  nor standard legacy replacement devices/features. e.g. Moorestown does
	  not contain i8259, i8254, HPET, legacy BIOS, most of the io ports.

endif

config X86_RDC321X
	bool "RDC R-321x SoC"
	depends on X86_32
+20 −2
Original line number Diff line number Diff line
@@ -1944,10 +1944,28 @@ void disconnect_bsp_APIC(int virt_wire_setup)

void __cpuinit generic_processor_info(int apicid, int version)
{
	int cpu;
	int cpu, max = nr_cpu_ids;
	bool boot_cpu_detected = physid_isset(boot_cpu_physical_apicid,
				phys_cpu_present_map);

	/*
	 * If boot cpu has not been detected yet, then only allow upto
	 * nr_cpu_ids - 1 processors and keep one slot free for boot cpu
	 */
	if (!boot_cpu_detected && num_processors >= nr_cpu_ids - 1 &&
	    apicid != boot_cpu_physical_apicid) {
		int thiscpu = max + disabled_cpus - 1;

		pr_warning(
			"ACPI: NR_CPUS/possible_cpus limit of %i almost"
			" reached. Keeping one slot for boot cpu."
			"  Processor %d/0x%x ignored.\n", max, thiscpu, apicid);

		disabled_cpus++;
		return;
	}

	if (num_processors >= nr_cpu_ids) {
		int max = nr_cpu_ids;
		int thiscpu = max + disabled_cpus;

		pr_warning(
+4 −0
Original line number Diff line number Diff line
@@ -62,6 +62,8 @@ static void __init check_fpu(void)
		return;
	}

	kernel_fpu_begin();

	/*
	 * trap_init() enabled FXSR and company _before_ testing for FP
	 * problems here.
@@ -80,6 +82,8 @@ static void __init check_fpu(void)
		: "=m" (*&fdiv_bug)
		: "m" (*&x), "m" (*&y));

	kernel_fpu_end();

	boot_cpu_data.fdiv_bug = fdiv_bug;
	if (boot_cpu_data.fdiv_bug)
		printk(KERN_WARNING "Hmm, FPU with FDIV bug.\n");
+2 −2
Original line number Diff line number Diff line
@@ -32,11 +32,11 @@
 */
static const __initconst struct hypervisor_x86 * const hypervisors[] =
{
	&x86_hyper_vmware,
	&x86_hyper_ms_hyperv,
#ifdef CONFIG_XEN_PVHVM
	&x86_hyper_xen_hvm,
#endif
	&x86_hyper_vmware,
	&x86_hyper_ms_hyperv,
};

const struct hypervisor_x86 *x86_hyper;
+2 −3
Original line number Diff line number Diff line
@@ -10,7 +10,7 @@

static void __devinit quirk_intel_irqbalance(struct pci_dev *dev)
{
	u8 config, rev;
	u8 config;
	u16 word;

	/* BIOS may enable hardware IRQ balancing for
@@ -18,8 +18,7 @@ static void __devinit quirk_intel_irqbalance(struct pci_dev *dev)
	 * based platforms.
	 * Disable SW irqbalance/affinity on those platforms.
	 */
	pci_read_config_byte(dev, PCI_CLASS_REVISION, &rev);
	if (rev > 0x9)
	if (dev->revision > 0x9)
		return;

	/* enable access to config space*/
Loading