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:
commit
206f18f2ca
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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)];
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 */
|
||||||
|
|
|
@ -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;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue