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

Commit 2654ad44 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

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

Pull x86 arch fixes from Peter Anvin:
 "Here is a collection of fixes for 3.7-rc7.  This is a superset of
  tglx' earlier pull request."

* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86-64: Fix ordering of CFI directives and recent ASM_CLAC additions
  x86, microcode, AMD: Add support for family 16h processors
  x86-32: Export kernel_stack_pointer() for modules
  x86-32: Fix invalid stack address while in softirq
  x86, efi: Fix processor-specific memcpy() build error
  x86: remove dummy long from EFI stub
  x86, mm: Correct vmflag test for checking VM_HUGETLB
  x86, amd: Disable way access filter on Piledriver CPUs
  x86/mce: Do not change worker's running cpu in cmci_rediscover().
  x86/ce4100: Fix PCI configuration register access for devices without interrupts
  x86/ce4100: Fix reboot by forcing the reboot method to be KBD
  x86/ce4100: Fix pm_poweroff
  MAINTAINERS: Update email address for Robert Richter
  x86, microcode_amd: Change email addresses, MAINTAINERS entry
  MAINTAINERS: Change Boris' email address
  EDAC: Change Boris' email address
  x86, AMD: Change Boris' email address
parents 35f95d22 ee4eb87b
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -534,9 +534,9 @@ F: drivers/iommu/amd_iommu*.[ch]
F:	include/linux/amd-iommu.h

AMD MICROCODE UPDATE SUPPORT
M:	Andreas Herrmann <andreas.herrmann3@amd.com>
M:	Andreas Herrmann <herrmann.der.user@googlemail.com>
L:	amd64-microcode@amd64.org
S:	Supported
S:	Maintained
F:	arch/x86/kernel/microcode_amd.c

AMS (Apple Motion Sensor) DRIVER
@@ -2716,10 +2716,10 @@ F: include/linux/edac.h

EDAC-AMD64
M:	Doug Thompson <dougthompson@xmission.com>
M:	Borislav Petkov <borislav.petkov@amd.com>
M:	Borislav Petkov <bp@alien8.de>
L:	linux-edac@vger.kernel.org
W:	bluesmoke.sourceforge.net
S:	Supported
S:	Maintained
F:	drivers/edac/amd64_edac*

EDAC-E752X
@@ -3761,7 +3761,7 @@ S: Maintained
F:	drivers/platform/x86/ideapad-laptop.c

IDE/ATAPI DRIVERS
M:	Borislav Petkov <petkovbb@gmail.com>
M:	Borislav Petkov <bp@alien8.de>
L:	linux-ide@vger.kernel.org
S:	Maintained
F:	Documentation/cdrom/ide-cd
@@ -5421,7 +5421,7 @@ S: Maintained
F:	sound/drivers/opl4/

OPROFILE
M:	Robert Richter <robert.richter@amd.com>
M:	Robert Richter <rric@kernel.org>
L:	oprofile-list@lists.sf.net
S:	Maintained
F:	arch/*/include/asm/oprofile*.h
@@ -8206,7 +8206,7 @@ F: drivers/platform/x86

X86 MCE INFRASTRUCTURE
M:	Tony Luck <tony.luck@intel.com>
M:	Borislav Petkov <bp@amd64.org>
M:	Borislav Petkov <bp@alien8.de>
L:	linux-edac@vger.kernel.org
S:	Maintained
F:	arch/x86/kernel/cpu/mcheck/*
+2 −0
Original line number Diff line number Diff line
@@ -12,6 +12,8 @@
#include <asm/setup.h>
#include <asm/desc.h>

#undef memcpy			/* Use memcpy from misc.c */

#include "eboot.h"

static efi_system_table_t *sys_table;
+0 −3
Original line number Diff line number Diff line
@@ -476,6 +476,3 @@ die:
setup_corrupt:
	.byte	7
	.string	"No setup signature found...\n"

	.data
dummy:	.long	0
+4 −11
Original line number Diff line number Diff line
@@ -205,21 +205,14 @@ static inline bool user_64bit_mode(struct pt_regs *regs)
}
#endif

/*
 * X86_32 CPUs don't save ss and esp if the CPU is already in kernel mode
 * when it traps.  The previous stack will be directly underneath the saved
 * registers, and 'sp/ss' won't even have been saved. Thus the '&regs->sp'.
 *
 * This is valid only for kernel mode traps.
 */
static inline unsigned long kernel_stack_pointer(struct pt_regs *regs)
{
#ifdef CONFIG_X86_32
	return (unsigned long)(&regs->sp);
extern unsigned long kernel_stack_pointer(struct pt_regs *regs);
#else
static inline unsigned long kernel_stack_pointer(struct pt_regs *regs)
{
	return regs->sp;
#endif
}
#endif

#define GET_IP(regs) ((regs)->ip)
#define GET_FP(regs) ((regs)->bp)
+14 −0
Original line number Diff line number Diff line
@@ -631,6 +631,20 @@ static void __cpuinit init_amd(struct cpuinfo_x86 *c)
		}
	}

	/*
	 * The way access filter has a performance penalty on some workloads.
	 * Disable it on the affected CPUs.
	 */
	if ((c->x86 == 0x15) &&
	    (c->x86_model >= 0x02) && (c->x86_model < 0x20)) {
		u64 val;

		if (!rdmsrl_safe(0xc0011021, &val) && !(val & 0x1E)) {
			val |= 0x1E;
			wrmsrl_safe(0xc0011021, val);
		}
	}

	cpu_detect_cache_sizes(c);

	/* Multi core CPU? */
Loading