aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/process.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel/process.c')
-rw-r--r--arch/x86/kernel/process.c24
1 files changed, 16 insertions, 8 deletions
diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c
index d8286ed54ffa..d46cbe46b7ab 100644
--- a/arch/x86/kernel/process.c
+++ b/arch/x86/kernel/process.c
@@ -14,6 +14,7 @@
14#include <linux/utsname.h> 14#include <linux/utsname.h>
15#include <trace/events/power.h> 15#include <trace/events/power.h>
16#include <linux/hw_breakpoint.h> 16#include <linux/hw_breakpoint.h>
17#include <asm/cpu.h>
17#include <asm/system.h> 18#include <asm/system.h>
18#include <asm/apic.h> 19#include <asm/apic.h>
19#include <asm/syscalls.h> 20#include <asm/syscalls.h>
@@ -86,26 +87,33 @@ void exit_thread(void)
86void show_regs(struct pt_regs *regs) 87void show_regs(struct pt_regs *regs)
87{ 88{
88 show_registers(regs); 89 show_registers(regs);
89 show_trace(NULL, regs, (unsigned long *)kernel_stack_pointer(regs)); 90 show_trace(NULL, regs, (unsigned long *)kernel_stack_pointer(regs), 0);
90} 91}
91 92
92void show_regs_common(void) 93void show_regs_common(void)
93{ 94{
94 const char *board, *product; 95 const char *vendor, *product, *board;
95 96
96 board = dmi_get_system_info(DMI_BOARD_NAME); 97 vendor = dmi_get_system_info(DMI_SYS_VENDOR);
97 if (!board) 98 if (!vendor)
98 board = ""; 99 vendor = "";
99 product = dmi_get_system_info(DMI_PRODUCT_NAME); 100 product = dmi_get_system_info(DMI_PRODUCT_NAME);
100 if (!product) 101 if (!product)
101 product = ""; 102 product = "";
102 103
104 /* Board Name is optional */
105 board = dmi_get_system_info(DMI_BOARD_NAME);
106
103 printk(KERN_CONT "\n"); 107 printk(KERN_CONT "\n");
104 printk(KERN_DEFAULT "Pid: %d, comm: %.20s %s %s %.*s %s/%s\n", 108 printk(KERN_DEFAULT "Pid: %d, comm: %.20s %s %s %.*s",
105 current->pid, current->comm, print_tainted(), 109 current->pid, current->comm, print_tainted(),
106 init_utsname()->release, 110 init_utsname()->release,
107 (int)strcspn(init_utsname()->version, " "), 111 (int)strcspn(init_utsname()->version, " "),
108 init_utsname()->version, board, product); 112 init_utsname()->version);
113 printk(KERN_CONT " %s %s", vendor, product);
114 if (board)
115 printk(KERN_CONT "/%s", board);
116 printk(KERN_CONT "\n");
109} 117}
110 118
111void flush_thread(void) 119void flush_thread(void)
@@ -505,7 +513,7 @@ static void poll_idle(void)
505#define MWAIT_ECX_EXTENDED_INFO 0x01 513#define MWAIT_ECX_EXTENDED_INFO 0x01
506#define MWAIT_EDX_C1 0xf0 514#define MWAIT_EDX_C1 0xf0
507 515
508static int __cpuinit mwait_usable(const struct cpuinfo_x86 *c) 516int mwait_usable(const struct cpuinfo_x86 *c)
509{ 517{
510 u32 eax, ebx, ecx, edx; 518 u32 eax, ebx, ecx, edx;
511 519