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

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

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-fixes:
x86: fix PCI MSI breaks when booting with nosmp
x86: vget_cycles() __always_inline
x86: add more boot protocol documentation
bootprotocol: cleanup
x86: fix warning in "x86: clean up vSMP detection"
x86: !x & y typo in mtrr code

+17 -13
+10 -2
Documentation/i386/boot.txt
··· 40 40 Introduce relocatable_kernel and kernel_alignment fields. 41 41 42 42 Protocol 2.06: (Kernel 2.6.22) Added a field that contains the size of 43 - the boot command line 43 + the boot command line. 44 44 45 - Protocol 2.09: (kernel 2.6.26) Added a field of 64-bit physical 45 + Protocol 2.07: (Kernel 2.6.24) Added paravirtualised boot protocol. 46 + Introduced hardware_subarch and hardware_subarch_data 47 + and KEEP_SEGMENTS flag in load_flags. 48 + 49 + Protocol 2.08: (Kernel 2.6.26) Added crc32 checksum and ELF format 50 + payload. Introduced payload_offset and payload length 51 + fields to aid in locating the payload. 52 + 53 + Protocol 2.09: (Kernel 2.6.26) Added a field of 64-bit physical 46 54 pointer to single linked list of struct setup_data. 47 55 48 56 **** MEMORY LAYOUT
+1 -1
arch/x86/kernel/cpu/mtrr/generic.c
··· 90 90 * Look of multiple ranges matching this address and pick type 91 91 * as per MTRR precedence 92 92 */ 93 - if (!mtrr_state.enabled & 2) { 93 + if (!(mtrr_state.enabled & 2)) { 94 94 return mtrr_state.def_type; 95 95 } 96 96
+1 -1
arch/x86/kernel/e820_64.c
··· 100 100 for (j = i + 1; j < MAX_EARLY_RES && early_res[j].end; j++) 101 101 ; 102 102 103 - memcpy(&early_res[i], &early_res[i + 1], 103 + memmove(&early_res[i], &early_res[i + 1], 104 104 (j - 1 - i) * sizeof(struct early_res)); 105 105 106 106 early_res[j - 1].end = 0;
+3 -7
arch/x86/kernel/smpboot.c
··· 1149 1149 "forcing use of dummy APIC emulation.\n"); 1150 1150 smpboot_clear_io_apic(); 1151 1151 #ifdef CONFIG_X86_32 1152 - if (nmi_watchdog == NMI_LOCAL_APIC) { 1153 - printk(KERN_INFO "activating minimal APIC for" 1154 - "NMI watchdog use.\n"); 1155 - connect_bsp_APIC(); 1156 - setup_local_APIC(); 1157 - end_local_APIC_setup(); 1158 - } 1152 + connect_bsp_APIC(); 1159 1153 #endif 1154 + setup_local_APIC(); 1155 + end_local_APIC_setup(); 1160 1156 return -1; 1161 1157 } 1162 1158
+1 -1
arch/x86/kernel/vsmp_64.c
··· 133 133 } 134 134 } 135 135 #else 136 - static int __init detect_vsmp_box(void) 136 + static void __init detect_vsmp_box(void) 137 137 { 138 138 } 139 139 int is_vsmp_box(void)
+1 -1
include/asm-x86/tsc.h
··· 32 32 return ret; 33 33 } 34 34 35 - static inline cycles_t vget_cycles(void) 35 + static __always_inline cycles_t vget_cycles(void) 36 36 { 37 37 /* 38 38 * We only do VDSOs on TSC capable CPUs, so this shouldnt