Merge branches 'x86-build-for-linus', 'x86-cleanups-for-linus' and 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 build, cleanup and defconfig updates from Ingo Molnar:
 "A single minor build change to suppress a repetitive build messages,
  misc cleanups and a defconfig update"

* 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/purgatory, build: Suppress kexec-purgatory.c is up to date message

* 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86, CPU, AMD: Move K8 TLB flush filter workaround to K8 code
  x86, espfix: Remove stale ptemask
  x86, msr: Use seek definitions instead of hard-coded values
  x86, msr: Convert printk to pr_foo()
  x86, msr: Use PTR_ERR_OR_ZERO
  x86/simplefb: Use PTR_ERR_OR_ZERO
  x86/sysfb: Use PTR_ERR_OR_ZERO
  x86, cpuid: Use PTR_ERR_OR_ZERO

* 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/kconfig/defconfig: Enable CONFIG_FHANDLE=y
This commit is contained in:
Linus Torvalds 2014-12-10 12:35:46 -08:00
commit 206f18f2ca
9 changed files with 23 additions and 26 deletions

View File

@ -8,6 +8,7 @@ CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_FHANDLE=y
CONFIG_AUDIT=y CONFIG_AUDIT=y
CONFIG_NO_HZ=y CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y CONFIG_HIGH_RES_TIMERS=y

View File

@ -7,6 +7,7 @@ CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_FHANDLE=y
CONFIG_AUDIT=y CONFIG_AUDIT=y
CONFIG_NO_HZ=y CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y CONFIG_HIGH_RES_TIMERS=y

View File

@ -566,6 +566,17 @@ static void init_amd_k8(struct cpuinfo_x86 *c)
if (!c->x86_model_id[0]) if (!c->x86_model_id[0])
strcpy(c->x86_model_id, "Hammer"); strcpy(c->x86_model_id, "Hammer");
#ifdef CONFIG_SMP
/*
* Disable TLB flush filter by setting HWCR.FFDIS on K8
* bit 6 of msr C001_0015
*
* Errata 63 for SH-B3 steppings
* Errata 122 for all steppings (F+ have it disabled by default)
*/
msr_set_bit(MSR_K7_HWCR, 6);
#endif
} }
static void init_amd_gh(struct cpuinfo_x86 *c) static void init_amd_gh(struct cpuinfo_x86 *c)
@ -636,18 +647,6 @@ static void init_amd(struct cpuinfo_x86 *c)
{ {
u32 dummy; u32 dummy;
#ifdef CONFIG_SMP
/*
* Disable TLB flush filter by setting HWCR.FFDIS on K8
* bit 6 of msr C001_0015
*
* Errata 63 for SH-B3 steppings
* Errata 122 for all steppings (F+ have it disabled by default)
*/
if (c->x86 == 0xf)
msr_set_bit(MSR_K7_HWCR, 6);
#endif
early_init_amd(c); early_init_amd(c);
/* /*

View File

@ -143,7 +143,7 @@ static int cpuid_device_create(int cpu)
dev = device_create(cpuid_class, NULL, MKDEV(CPUID_MAJOR, cpu), NULL, dev = device_create(cpuid_class, NULL, MKDEV(CPUID_MAJOR, cpu), NULL,
"cpu%d", cpu); "cpu%d", cpu);
return IS_ERR(dev) ? PTR_ERR(dev) : 0; return PTR_ERR_OR_ZERO(dev);
} }
static void cpuid_device_destroy(int cpu) static void cpuid_device_destroy(int cpu)

View File

@ -122,9 +122,6 @@ static void init_espfix_random(void)
void __init init_espfix_bsp(void) void __init init_espfix_bsp(void)
{ {
pgd_t *pgd_p; pgd_t *pgd_p;
pteval_t ptemask;
ptemask = __supported_pte_mask;
/* Install the espfix pud into the kernel page directory */ /* Install the espfix pud into the kernel page directory */
pgd_p = &init_level4_pgt[pgd_index(ESPFIX_BASE_ADDR)]; pgd_p = &init_level4_pgt[pgd_index(ESPFIX_BASE_ADDR)];

View File

@ -22,6 +22,8 @@
* an SMP box will direct the access to CPU %d. * an SMP box will direct the access to CPU %d.
*/ */
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
#include <linux/module.h> #include <linux/module.h>
#include <linux/types.h> #include <linux/types.h>
@ -50,11 +52,11 @@ static loff_t msr_seek(struct file *file, loff_t offset, int orig)
mutex_lock(&inode->i_mutex); mutex_lock(&inode->i_mutex);
switch (orig) { switch (orig) {
case 0: case SEEK_SET:
file->f_pos = offset; file->f_pos = offset;
ret = file->f_pos; ret = file->f_pos;
break; break;
case 1: case SEEK_CUR:
file->f_pos += offset; file->f_pos += offset;
ret = file->f_pos; ret = file->f_pos;
break; break;
@ -206,7 +208,7 @@ static int msr_device_create(int cpu)
dev = device_create(msr_class, NULL, MKDEV(MSR_MAJOR, cpu), NULL, dev = device_create(msr_class, NULL, MKDEV(MSR_MAJOR, cpu), NULL,
"msr%d", cpu); "msr%d", cpu);
return IS_ERR(dev) ? PTR_ERR(dev) : 0; return PTR_ERR_OR_ZERO(dev);
} }
static void msr_device_destroy(int cpu) static void msr_device_destroy(int cpu)
@ -248,8 +250,7 @@ static int __init msr_init(void)
i = 0; i = 0;
if (__register_chrdev(MSR_MAJOR, 0, NR_CPUS, "cpu/msr", &msr_fops)) { if (__register_chrdev(MSR_MAJOR, 0, NR_CPUS, "cpu/msr", &msr_fops)) {
printk(KERN_ERR "msr: unable to get major %d for msr\n", pr_err("unable to get major %d for msr\n", MSR_MAJOR);
MSR_MAJOR);
err = -EBUSY; err = -EBUSY;
goto out; goto out;
} }

View File

@ -67,7 +67,7 @@ static __init int sysfb_init(void)
pd = platform_device_register_resndata(NULL, name, 0, pd = platform_device_register_resndata(NULL, name, 0,
NULL, 0, si, sizeof(*si)); NULL, 0, si, sizeof(*si));
return IS_ERR(pd) ? PTR_ERR(pd) : 0; return PTR_ERR_OR_ZERO(pd);
} }
/* must execute after PCI subsystem for EFI quirks */ /* must execute after PCI subsystem for EFI quirks */

View File

@ -88,8 +88,5 @@ __init int create_simplefb(const struct screen_info *si,
pd = platform_device_register_resndata(NULL, "simple-framebuffer", 0, pd = platform_device_register_resndata(NULL, "simple-framebuffer", 0,
&res, 1, mode, sizeof(*mode)); &res, 1, mode, sizeof(*mode));
if (IS_ERR(pd)) return PTR_ERR_OR_ZERO(pd);
return PTR_ERR(pd);
return 0;
} }

View File

@ -24,6 +24,7 @@ quiet_cmd_bin2c = BIN2C $@
$(obj)/kexec-purgatory.c: $(obj)/purgatory.ro FORCE $(obj)/kexec-purgatory.c: $(obj)/purgatory.ro FORCE
$(call if_changed,bin2c) $(call if_changed,bin2c)
@:
obj-$(CONFIG_KEXEC_FILE) += kexec-purgatory.o obj-$(CONFIG_KEXEC_FILE) += kexec-purgatory.o