diff options
Diffstat (limited to 'arch/x86/kernel/process.c')
-rw-r--r-- | arch/x86/kernel/process.c | 24 |
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) | |||
86 | void show_regs(struct pt_regs *regs) | 87 | void 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 | ||
92 | void show_regs_common(void) | 93 | void 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 | ||
111 | void flush_thread(void) | 119 | void 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 | ||
508 | static int __cpuinit mwait_usable(const struct cpuinfo_x86 *c) | 516 | int mwait_usable(const struct cpuinfo_x86 *c) |
509 | { | 517 | { |
510 | u32 eax, ebx, ecx, edx; | 518 | u32 eax, ebx, ecx, edx; |
511 | 519 | ||