Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
x86, dmi, debug: Log board name (when present) in dmesg/oops output
x86, ioapic: Don't warn about non-existing IOAPICs if we have none
x86: Fix mwait_usable section mismatch
x86: Readd missing irq_to_desc() in fixup_irq()
x86: Fix section mismatch in LAPIC initialization

+42 -15
+1
arch/x86/include/asm/apic.h
··· 233 233 extern void init_bsp_APIC(void); 234 234 extern void setup_local_APIC(void); 235 235 extern void end_local_APIC_setup(void); 236 + extern void bsp_end_local_APIC_setup(void); 236 237 extern void init_apic_mappings(void); 237 238 void register_lapic_address(unsigned long address); 238 239 extern void setup_boot_APIC_clock(void);
+1 -1
arch/x86/include/asm/cpu.h
··· 32 32 33 33 DECLARE_PER_CPU(int, cpu_state); 34 34 35 - int __cpuinit mwait_usable(const struct cpuinfo_x86 *); 35 + int mwait_usable(const struct cpuinfo_x86 *); 36 36 37 37 #endif /* _ASM_X86_CPU_H */
+7 -2
arch/x86/kernel/apic/apic.c
··· 1381 1381 #endif 1382 1382 1383 1383 apic_pm_activate(); 1384 + } 1385 + 1386 + void __init bsp_end_local_APIC_setup(void) 1387 + { 1388 + end_local_APIC_setup(); 1384 1389 1385 1390 /* 1386 1391 * Now that local APIC setup is completed for BP, configure the fault 1387 1392 * handling for interrupt remapping. 1388 1393 */ 1389 - if (!smp_processor_id() && intr_remapping_enabled) 1394 + if (intr_remapping_enabled) 1390 1395 enable_drhd_fault_handling(); 1391 1396 1392 1397 } ··· 1761 1756 enable_IO_APIC(); 1762 1757 #endif 1763 1758 1764 - end_local_APIC_setup(); 1759 + bsp_end_local_APIC_setup(); 1765 1760 1766 1761 #ifdef CONFIG_X86_IO_APIC 1767 1762 if (smp_found_config && !skip_ioapic_setup && nr_ioapics)
+3
arch/x86/kernel/apic/io_apic.c
··· 4002 4002 { 4003 4003 int i = 0; 4004 4004 4005 + if (nr_ioapics == 0) 4006 + return -1; 4007 + 4005 4008 /* Find the IOAPIC that manages this GSI. */ 4006 4009 for (i = 0; i < nr_ioapics; i++) { 4007 4010 if ((gsi >= mp_gsi_routing[i].gsi_base)
+2 -1
arch/x86/kernel/irq.c
··· 367 367 if (irr & (1 << (vector % 32))) { 368 368 irq = __this_cpu_read(vector_irq[vector]); 369 369 370 - data = irq_get_irq_data(irq); 370 + desc = irq_to_desc(irq); 371 + data = &desc->irq_data; 371 372 raw_spin_lock(&desc->lock); 372 373 if (data->chip->irq_retrigger) 373 374 data->chip->irq_retrigger(data);
+17 -7
arch/x86/kernel/process.c
··· 92 92 93 93 void show_regs_common(void) 94 94 { 95 - const char *board, *product; 95 + const char *vendor, *product, *board; 96 96 97 - board = dmi_get_system_info(DMI_BOARD_NAME); 98 - if (!board) 99 - board = ""; 97 + vendor = dmi_get_system_info(DMI_SYS_VENDOR); 98 + if (!vendor) 99 + vendor = ""; 100 100 product = dmi_get_system_info(DMI_PRODUCT_NAME); 101 101 if (!product) 102 102 product = ""; 103 103 104 + /* Board Name is optional */ 105 + board = dmi_get_system_info(DMI_BOARD_NAME); 106 + 104 107 printk(KERN_CONT "\n"); 105 - printk(KERN_DEFAULT "Pid: %d, comm: %.20s %s %s %.*s %s/%s\n", 108 + printk(KERN_DEFAULT "Pid: %d, comm: %.20s %s %s %.*s", 106 109 current->pid, current->comm, print_tainted(), 107 110 init_utsname()->release, 108 111 (int)strcspn(init_utsname()->version, " "), 109 - init_utsname()->version, board, product); 112 + init_utsname()->version); 113 + printk(KERN_CONT " "); 114 + printk(KERN_CONT "%s %s", vendor, product); 115 + if (board) { 116 + printk(KERN_CONT "/"); 117 + printk(KERN_CONT "%s", board); 118 + } 119 + printk(KERN_CONT "\n"); 110 120 } 111 121 112 122 void flush_thread(void) ··· 516 506 #define MWAIT_ECX_EXTENDED_INFO 0x01 517 507 #define MWAIT_EDX_C1 0xf0 518 508 519 - int __cpuinit mwait_usable(const struct cpuinfo_x86 *c) 509 + int mwait_usable(const struct cpuinfo_x86 *c) 520 510 { 521 511 u32 eax, ebx, ecx, edx; 522 512
+2 -2
arch/x86/kernel/smpboot.c
··· 1060 1060 1061 1061 connect_bsp_APIC(); 1062 1062 setup_local_APIC(); 1063 - end_local_APIC_setup(); 1063 + bsp_end_local_APIC_setup(); 1064 1064 return -1; 1065 1065 } 1066 1066 ··· 1137 1137 if (!skip_ioapic_setup && nr_ioapics) 1138 1138 enable_IO_APIC(); 1139 1139 1140 - end_local_APIC_setup(); 1140 + bsp_end_local_APIC_setup(); 1141 1141 1142 1142 map_cpu_to_logical_apicid(); 1143 1143
+9 -2
drivers/firmware/dmi_scan.c
··· 378 378 379 379 static void __init dmi_dump_ids(void) 380 380 { 381 + const char *board; /* Board Name is optional */ 382 + 381 383 printk(KERN_DEBUG "DMI: "); 382 - print_filtered(dmi_get_system_info(DMI_BOARD_NAME)); 383 - printk(KERN_CONT "/"); 384 + print_filtered(dmi_get_system_info(DMI_SYS_VENDOR)); 385 + printk(KERN_CONT " "); 384 386 print_filtered(dmi_get_system_info(DMI_PRODUCT_NAME)); 387 + board = dmi_get_system_info(DMI_BOARD_NAME); 388 + if (board) { 389 + printk(KERN_CONT "/"); 390 + print_filtered(board); 391 + } 385 392 printk(KERN_CONT ", BIOS "); 386 393 print_filtered(dmi_get_system_info(DMI_BIOS_VERSION)); 387 394 printk(KERN_CONT " ");