]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux...
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 29 Apr 2008 16:03:19 +0000 (09:03 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 29 Apr 2008 16:03:19 +0000 (09:03 -0700)
* '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

Documentation/i386/boot.txt
arch/x86/kernel/cpu/mtrr/generic.c
arch/x86/kernel/e820_64.c
arch/x86/kernel/smpboot.c
arch/x86/kernel/vsmp_64.c
include/asm-x86/tsc.h

index 0fac3465f2e38e5612a31cfa83e83cdcad95e83e..95ad15c3b01f3256b8f06efb6a1a5f3905d02952 100644 (file)
@@ -40,9 +40,17 @@ Protocol 2.05:       (Kernel 2.6.20) Make protected mode kernel relocatable.
                Introduce relocatable_kernel and kernel_alignment fields.
 
 Protocol 2.06: (Kernel 2.6.22) Added a field that contains the size of
-               the boot command line
+               the boot command line.
 
-Protocol 2.09: (kernel 2.6.26) Added a field of 64-bit physical
+Protocol 2.07: (Kernel 2.6.24) Added paravirtualised boot protocol.
+               Introduced hardware_subarch and hardware_subarch_data
+               and KEEP_SEGMENTS flag in load_flags.
+
+Protocol 2.08: (Kernel 2.6.26) Added crc32 checksum and ELF format
+               payload. Introduced payload_offset and payload length
+               fields to aid in locating the payload.
+
+Protocol 2.09: (Kernel 2.6.26) Added a field of 64-bit physical
                pointer to single linked list of struct setup_data.
 
 **** MEMORY LAYOUT
index 353efe4f5017aeaf8c75abcf97639dd8b07dc2d1..5d241ce94a44f4f5b0fceb7a7a8292e08b6d9b08 100644 (file)
@@ -90,7 +90,7 @@ u8 mtrr_type_lookup(u64 start, u64 end)
         * Look of multiple ranges matching this address and pick type
         * as per MTRR precedence
         */
-       if (!mtrr_state.enabled & 2) {
+       if (!(mtrr_state.enabled & 2)) {
                return mtrr_state.def_type;
        }
 
index 645ee5e32a27184c714355c8e916951ef3605711..124480c0008dd2a5e348cd2db7b928ff13d3aa41 100644 (file)
@@ -100,7 +100,7 @@ void __init free_early(unsigned long start, unsigned long end)
        for (j = i + 1; j < MAX_EARLY_RES && early_res[j].end; j++)
                ;
 
-       memcpy(&early_res[i], &early_res[i + 1],
+       memmove(&early_res[i], &early_res[i + 1],
               (j - 1 - i) * sizeof(struct early_res));
 
        early_res[j - 1].end = 0;
index 04c662ba18f1dbf217326a9ffe2ade458617ee61..84241a256dc819bbb1f2fcaff679f189782f8564 100644 (file)
@@ -1149,14 +1149,10 @@ static int __init smp_sanity_check(unsigned max_cpus)
                                 "forcing use of dummy APIC emulation.\n");
                smpboot_clear_io_apic();
 #ifdef CONFIG_X86_32
-               if (nmi_watchdog == NMI_LOCAL_APIC) {
-                       printk(KERN_INFO "activating minimal APIC for"
-                                        "NMI watchdog use.\n");
-                       connect_bsp_APIC();
-                       setup_local_APIC();
-                       end_local_APIC_setup();
-               }
+               connect_bsp_APIC();
 #endif
+               setup_local_APIC();
+               end_local_APIC_setup();
                return -1;
        }
 
index caf2a26f5cfd1b712c346a835b3755b842a466b7..ba8c0b75ab0ae8c4fbbaba61c4afd6637cf4bd4a 100644 (file)
@@ -133,7 +133,7 @@ int is_vsmp_box(void)
        }
 }
 #else
-static int __init detect_vsmp_box(void)
+static void __init detect_vsmp_box(void)
 {
 }
 int is_vsmp_box(void)
index d2d8eb5b55f532365f9277b5f776109626f7ed4b..548873ab5fc1b0deabafc4b3dcbb23ee8cbf05db 100644 (file)
@@ -32,7 +32,7 @@ static inline cycles_t get_cycles(void)
        return ret;
 }
 
-static inline cycles_t vget_cycles(void)
+static __always_inline cycles_t vget_cycles(void)
 {
        /*
         * We only do VDSOs on TSC capable CPUs, so this shouldnt