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

Commit 0473b799 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'x86-fixes-for-linus' of...

Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (32 commits)
  x86: add MAP_STACK mmap flag
  x86: fix section mismatch warning - spp_getpage()
  x86: change init_gdt to update the gdt via write_gdt, rather than a direct write.
  x86-64: fix overlap of modules and fixmap areas
  x86, geode-mfgpt: check IRQ before using MFGPT as clocksource
  x86, acpi: cleanup, temp_stack is used only when CONFIG_SMP is set
  x86: fix spin_is_contended()
  x86, nmi: clean UP NMI watchdog failure message
  x86, NMI: fix watchdog failure message
  x86: fix /proc/meminfo DirectMap
  x86: fix readb() et al compile error with gcc-3.2.3
  arch/x86/Kconfig: clean up, experimental adjustement
  x86: invalidate caches before going into suspend
  x86, perfctr: don't use CCCR_OVF_PMI1 on Pentium 4Ds
  x86, AMD IOMMU: initialize dma_ops after sysfs registration
  x86m AMD IOMMU: cleanup: replace LOW_U32 macro with generic lower_32_bits
  x86, AMD IOMMU: initialize device table properly
  x86, AMD IOMMU: use status bit instead of memory write-back for completion wait
  x86: silence mmconfig printk
  x86, msr: fix NULL pointer deref due to msr_open on nonexistent CPUs
  ...
parents 9e94cd32 2fdc8690
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -951,9 +951,9 @@ config NUMA
	  local memory controller of the CPU and add some more
	  local memory controller of the CPU and add some more
	  NUMA awareness to the kernel.
	  NUMA awareness to the kernel.


	  For i386 this is currently highly experimental and should be only
	  For 32-bit this is currently highly experimental and should be only
	  used for kernel development. It might also cause boot failures.
	  used for kernel development. It might also cause boot failures.
	  For x86_64 this is recommended on all multiprocessor Opteron systems.
	  For 64-bit this is recommended on all multiprocessor Opteron systems.
	  If the system is EM64T, you should say N unless your system is
	  If the system is EM64T, you should say N unless your system is
	  EM64T NUMA.
	  EM64T NUMA.


@@ -1263,7 +1263,7 @@ config KEXEC
	  strongly in flux, so no good recommendation can be made.
	  strongly in flux, so no good recommendation can be made.


config CRASH_DUMP
config CRASH_DUMP
	bool "kernel crash dumps (EXPERIMENTAL)"
	bool "kernel crash dumps"
	depends on X86_64 || (X86_32 && HIGHMEM)
	depends on X86_64 || (X86_32 && HIGHMEM)
	help
	help
	  Generate crash dump after being started by kexec.
	  Generate crash dump after being started by kexec.
+8 −0
Original line number Original line Diff line number Diff line
@@ -24,6 +24,8 @@
#include <linux/edd.h>
#include <linux/edd.h>
#include <asm/boot.h>
#include <asm/boot.h>
#include <asm/setup.h>
#include <asm/setup.h>
#include "bitops.h"
#include <asm/cpufeature.h>


/* Useful macros */
/* Useful macros */
#define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)]))
#define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)]))
@@ -242,6 +244,12 @@ int cmdline_find_option(const char *option, char *buffer, int bufsize);
int cmdline_find_option_bool(const char *option);
int cmdline_find_option_bool(const char *option);


/* cpu.c, cpucheck.c */
/* cpu.c, cpucheck.c */
struct cpu_features {
	int level;		/* Family, or 64 for x86-64 */
	int model;
	u32 flags[NCAPINTS];
};
extern struct cpu_features cpu;
int check_cpu(int *cpu_level_ptr, int *req_level_ptr, u32 **err_flags_ptr);
int check_cpu(int *cpu_level_ptr, int *req_level_ptr, u32 **err_flags_ptr);
int validate_cpu(void);
int validate_cpu(void);


+0 −3
Original line number Original line Diff line number Diff line
@@ -16,9 +16,6 @@
 */
 */


#include "boot.h"
#include "boot.h"
#include "bitops.h"
#include <asm/cpufeature.h>

#include "cpustr.h"
#include "cpustr.h"


static char *cpu_name(int level)
static char *cpu_name(int level)
+1 −9
Original line number Original line Diff line number Diff line
@@ -22,21 +22,13 @@


#ifdef _SETUP
#ifdef _SETUP
# include "boot.h"
# include "boot.h"
# include "bitops.h"
#endif
#endif
#include <linux/types.h>
#include <linux/types.h>
#include <asm/cpufeature.h>
#include <asm/processor-flags.h>
#include <asm/processor-flags.h>
#include <asm/required-features.h>
#include <asm/required-features.h>
#include <asm/msr-index.h>
#include <asm/msr-index.h>


struct cpu_features {
struct cpu_features cpu;
	int level;		/* Family, or 64 for x86-64 */
	int model;
	u32 flags[NCAPINTS];
};

static struct cpu_features cpu;
static u32 cpu_vendor[3];
static u32 cpu_vendor[3];
static u32 err_flags[NCAPINTS];
static u32 err_flags[NCAPINTS];


+5 −0
Original line number Original line Diff line number Diff line
@@ -73,6 +73,11 @@ static void keyboard_set_repeat(void)
 */
 */
static void query_ist(void)
static void query_ist(void)
{
{
	/* Some older BIOSes apparently crash on this call, so filter
	   it from machines too old to have SpeedStep at all. */
	if (cpu.level < 6)
		return;

	asm("int $0x15"
	asm("int $0x15"
	    : "=a" (boot_params.ist_info.signature),
	    : "=a" (boot_params.ist_info.signature),
	      "=b" (boot_params.ist_info.command),
	      "=b" (boot_params.ist_info.command),
Loading