From 3ea4b8ee2419e21295cabab66c317612c5a55d26 Mon Sep 17 00:00:00 2001 From: WANG Chao Date: Tue, 14 Oct 2014 12:46:58 +0800 Subject: x86/purgatory, build: Suppress kexec-purgatory.c is up to date message Suppress this unnecessary message during kernel re-build (CONFIG_KEXEC_FILE=y): make[1]: `arch/x86/purgatory/kexec-purgatory.c' is up to date. Signed-off-by: WANG Chao Link: http://lkml.kernel.org/r/1413262019-3759-1-git-send-email-chaowang@redhat.com Signed-off-by: H. Peter Anvin diff --git a/arch/x86/purgatory/Makefile b/arch/x86/purgatory/Makefile index 899dd24..2c41066 100644 --- a/arch/x86/purgatory/Makefile +++ b/arch/x86/purgatory/Makefile @@ -23,6 +23,7 @@ quiet_cmd_bin2c = BIN2C $@ $(obj)/kexec-purgatory.c: $(obj)/purgatory.ro FORCE $(call if_changed,bin2c) + @: obj-$(CONFIG_KEXEC_FILE) += kexec-purgatory.o -- cgit v0.10.2 From cbda45a2d4798912637b5b792c1c7a97c8d8b080 Mon Sep 17 00:00:00 2001 From: Fabian Frederick Date: Fri, 17 Oct 2014 22:01:17 +0200 Subject: x86, cpuid: Use PTR_ERR_OR_ZERO Replace IS_ERR/PTR_ERR Signed-off-by: Fabian Frederick Link: http://lkml.kernel.org/r/1413576077-26969-1-git-send-email-fabf@skynet.be Signed-off-by: H. Peter Anvin diff --git a/arch/x86/kernel/cpuid.c b/arch/x86/kernel/cpuid.c index 3225ae6c..83741a7 100644 --- a/arch/x86/kernel/cpuid.c +++ b/arch/x86/kernel/cpuid.c @@ -143,7 +143,7 @@ static int cpuid_device_create(int cpu) dev = device_create(cpuid_class, NULL, MKDEV(CPUID_MAJOR, cpu), NULL, "cpu%d", cpu); - return IS_ERR(dev) ? PTR_ERR(dev) : 0; + return PTR_ERR_OR_ZERO(dev); } static void cpuid_device_destroy(int cpu) -- cgit v0.10.2 From e8d95ce9705c6683f57dc146b8c726c4d2242a52 Mon Sep 17 00:00:00 2001 From: Fabian Frederick Date: Fri, 17 Oct 2014 22:00:53 +0200 Subject: x86/sysfb: Use PTR_ERR_OR_ZERO Replace IS_ERR/PTR_ERR Signed-off-by: Fabian Frederick Link: http://lkml.kernel.org/r/1413576053-26761-1-git-send-email-fabf@skynet.be Signed-off-by: H. Peter Anvin diff --git a/arch/x86/kernel/sysfb.c b/arch/x86/kernel/sysfb.c index 193ec2c..160386e 100644 --- a/arch/x86/kernel/sysfb.c +++ b/arch/x86/kernel/sysfb.c @@ -67,7 +67,7 @@ static __init int sysfb_init(void) pd = platform_device_register_resndata(NULL, name, 0, 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 */ -- cgit v0.10.2 From 76ef0db72f8b74bb92e24775d9d7f5ab26352bec Mon Sep 17 00:00:00 2001 From: Fabian Frederick Date: Fri, 17 Oct 2014 22:01:05 +0200 Subject: x86/simplefb: Use PTR_ERR_OR_ZERO Replace IS_ERR/PTR_ERR Signed-off-by: Fabian Frederick Link: http://lkml.kernel.org/r/1413576066-26925-1-git-send-email-fabf@skynet.be Signed-off-by: H. Peter Anvin diff --git a/arch/x86/kernel/sysfb_simplefb.c b/arch/x86/kernel/sysfb_simplefb.c index 86179d4..764a29f 100644 --- a/arch/x86/kernel/sysfb_simplefb.c +++ b/arch/x86/kernel/sysfb_simplefb.c @@ -88,8 +88,5 @@ __init int create_simplefb(const struct screen_info *si, pd = platform_device_register_resndata(NULL, "simple-framebuffer", 0, &res, 1, mode, sizeof(*mode)); - if (IS_ERR(pd)) - return PTR_ERR(pd); - - return 0; + return PTR_ERR_OR_ZERO(pd); } -- cgit v0.10.2 From cba0fdbcff8b54c206c8e18898a55456959ed51a Mon Sep 17 00:00:00 2001 From: Fabian Frederick Date: Fri, 17 Oct 2014 22:01:38 +0200 Subject: x86, msr: Use PTR_ERR_OR_ZERO Replace IS_ERR/PTR_ERR Signed-off-by: Fabian Frederick Link: http://lkml.kernel.org/r/1413576099-27059-1-git-send-email-fabf@skynet.be Signed-off-by: H. Peter Anvin diff --git a/arch/x86/kernel/msr.c b/arch/x86/kernel/msr.c index c9603ac..6e4f77f 100644 --- a/arch/x86/kernel/msr.c +++ b/arch/x86/kernel/msr.c @@ -206,7 +206,7 @@ static int msr_device_create(int cpu) dev = device_create(msr_class, NULL, MKDEV(MSR_MAJOR, cpu), NULL, "msr%d", cpu); - return IS_ERR(dev) ? PTR_ERR(dev) : 0; + return PTR_ERR_OR_ZERO(dev); } static void msr_device_destroy(int cpu) -- cgit v0.10.2 From 951a18c6fee5d2f6f5d7b5118776bf787bf9c351 Mon Sep 17 00:00:00 2001 From: Fabian Frederick Date: Fri, 17 Oct 2014 22:01:50 +0200 Subject: x86, msr: Convert printk to pr_foo() Also define pr_fmt. Signed-off-by: Fabian Frederick Link: http://lkml.kernel.org/r/1413576110-27103-1-git-send-email-fabf@skynet.be Signed-off-by: H. Peter Anvin diff --git a/arch/x86/kernel/msr.c b/arch/x86/kernel/msr.c index 6e4f77f..826c8b0 100644 --- a/arch/x86/kernel/msr.c +++ b/arch/x86/kernel/msr.c @@ -22,6 +22,8 @@ * an SMP box will direct the access to CPU %d. */ +#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt + #include #include @@ -248,8 +250,7 @@ static int __init msr_init(void) i = 0; if (__register_chrdev(MSR_MAJOR, 0, NR_CPUS, "cpu/msr", &msr_fops)) { - printk(KERN_ERR "msr: unable to get major %d for msr\n", - MSR_MAJOR); + pr_err("unable to get major %d for msr\n", MSR_MAJOR); err = -EBUSY; goto out; } -- cgit v0.10.2 From 03452d27c6cd9cebb59a6bb0fb6bd8557916c263 Mon Sep 17 00:00:00 2001 From: Fabian Frederick Date: Fri, 17 Oct 2014 22:01:59 +0200 Subject: x86, msr: Use seek definitions instead of hard-coded values Replace 0/1 by SEEK_SET/SEEK_CUR. Signed-off-by: Fabian Frederick Link: http://lkml.kernel.org/r/1413576120-27147-1-git-send-email-fabf@skynet.be Signed-off-by: H. Peter Anvin diff --git a/arch/x86/kernel/msr.c b/arch/x86/kernel/msr.c index 826c8b0..113e707 100644 --- a/arch/x86/kernel/msr.c +++ b/arch/x86/kernel/msr.c @@ -52,11 +52,11 @@ static loff_t msr_seek(struct file *file, loff_t offset, int orig) mutex_lock(&inode->i_mutex); switch (orig) { - case 0: + case SEEK_SET: file->f_pos = offset; ret = file->f_pos; break; - case 1: + case SEEK_CUR: file->f_pos += offset; ret = file->f_pos; break; -- cgit v0.10.2 From 585e4777be253f1f05bd24de22a4df1860eff874 Mon Sep 17 00:00:00 2001 From: Borislav Petkov Date: Mon, 14 Jul 2014 19:27:53 +0200 Subject: x86, espfix: Remove stale ptemask Previous versions of the espfix had a single function which did setup the pagetables. It was later split into BSP and AP version. Drop unused leftovers after that split. Signed-off-by: Borislav Petkov diff --git a/arch/x86/kernel/espfix_64.c b/arch/x86/kernel/espfix_64.c index 94d857f..f5d0730 100644 --- a/arch/x86/kernel/espfix_64.c +++ b/arch/x86/kernel/espfix_64.c @@ -122,9 +122,6 @@ static void init_espfix_random(void) void __init init_espfix_bsp(void) { pgd_t *pgd_p; - pteval_t ptemask; - - ptemask = __supported_pte_mask; /* Install the espfix pud into the kernel page directory */ pgd_p = &init_level4_pgt[pgd_index(ESPFIX_BASE_ADDR)]; -- cgit v0.10.2 From 6f9b63a0ae0d694e3d8e6f673e1e8e2638526b97 Mon Sep 17 00:00:00 2001 From: Borislav Petkov Date: Tue, 29 Jul 2014 17:41:23 +0200 Subject: x86, CPU, AMD: Move K8 TLB flush filter workaround to K8 code This belongs with the rest of the code in init_amd_k8() which gets executed on family 0xf. Signed-off-by: Borislav Petkov diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index 813d29d..15c5df9 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c @@ -566,6 +566,17 @@ static void init_amd_k8(struct cpuinfo_x86 *c) if (!c->x86_model_id[0]) 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) @@ -636,18 +647,6 @@ static void init_amd(struct cpuinfo_x86 *c) { 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); /* -- cgit v0.10.2 From 15bae280e412e79d74912c7ae6b6a002444edb1f Mon Sep 17 00:00:00 2001 From: Richard Weinberger Date: Wed, 26 Nov 2014 00:36:52 +0100 Subject: x86/kconfig/defconfig: Enable CONFIG_FHANDLE=y systemd has a hard dependency on CONFIG_FHANDLE. If you run systemd with CONFIG_FHANDLE=n it will somehow boot but fail to spawn a getty or other basic services. As systemd is now used by most x86 distributions it makes sense to enabled this by default and save kernel hackers a lot of value debugging time. Signed-off-by: Richard Weinberger Cc: gregkh@linuxfoundation.org Cc: rafael.j.wysocki@intel.com Cc: pebolle@tiscali.nl Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/1416958612-7448-1-git-send-email-richard@nod.at Signed-off-by: Ingo Molnar diff --git a/arch/x86/configs/i386_defconfig b/arch/x86/configs/i386_defconfig index 32d2e70..419819d 100644 --- a/arch/x86/configs/i386_defconfig +++ b/arch/x86/configs/i386_defconfig @@ -8,6 +8,7 @@ CONFIG_TASKSTATS=y CONFIG_TASK_DELAY_ACCT=y CONFIG_TASK_XACCT=y CONFIG_TASK_IO_ACCOUNTING=y +CONFIG_FHANDLE=y CONFIG_AUDIT=y CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y diff --git a/arch/x86/configs/x86_64_defconfig b/arch/x86/configs/x86_64_defconfig index a481dd4..4c311dd 100644 --- a/arch/x86/configs/x86_64_defconfig +++ b/arch/x86/configs/x86_64_defconfig @@ -7,6 +7,7 @@ CONFIG_TASKSTATS=y CONFIG_TASK_DELAY_ACCT=y CONFIG_TASK_XACCT=y CONFIG_TASK_IO_ACCOUNTING=y +CONFIG_FHANDLE=y CONFIG_AUDIT=y CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y -- cgit v0.10.2