]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
Merge branch 'x86-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
authorLinus Torvalds <torvalds@linux-foundation.org>
Sun, 28 Dec 2008 20:07:57 +0000 (12:07 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 28 Dec 2008 20:07:57 +0000 (12:07 -0800)
* 'x86-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (246 commits)
  x86: traps.c replace #if CONFIG_X86_32 with #ifdef CONFIG_X86_32
  x86: PAT: fix address types in track_pfn_vma_new()
  x86: prioritize the FPU traps for the error code
  x86: PAT: pfnmap documentation update changes
  x86: PAT: move track untrack pfnmap stubs to asm-generic
  x86: PAT: remove follow_pfnmap_pte in favor of follow_phys
  x86: PAT: modify follow_phys to return phys_addr prot and return value
  x86: PAT: clarify is_linear_pfn_mapping() interface
  x86: ia32_signal: remove unnecessary declaration
  x86: common.c boot_cpu_stack and boot_exception_stacks should be static
  x86: fix intel x86_64 llc_shared_map/cpu_llc_id anomolies
  x86: fix warning in arch/x86/kernel/microcode_amd.c
  x86: ia32.h: remove unused struct sigfram32 and rt_sigframe32
  x86: asm-offset_64: use rt_sigframe_ia32
  x86: sigframe.h: include headers for dependency
  x86: traps.c declare functions before they get used
  x86: PAT: update documentation to cover pgprot and remap_pfn related changes - v3
  x86: PAT: add pgprot_writecombine() interface for drivers - v3
  x86: PAT: change pgprot_noncached to uc_minus instead of strong uc - v3
  x86: PAT: implement track/untrack of pfnmap regions for x86 - v3
  ...

1  2 
Documentation/kernel-parameters.txt
arch/x86/mm/fault.c

index bffffa4e8ee958cb2e610e76ba8526439ddeb8bc,ee5a5f9358ec01b15341e9e844e8d0c0c626e281..2c95cae8302b8b91d5c4bca7640e90d28a944b43
@@@ -1396,7 -1396,20 +1396,20 @@@ and is between 256 and 4096 characters
                        when a NMI is triggered.
                        Format: [state][,regs][,debounce][,die]
  
-       nmi_watchdog=   [KNL,BUGS=X86-32] Debugging features for SMP kernels
+       nmi_watchdog=   [KNL,BUGS=X86-32,X86-64] Debugging features for SMP kernels
+                       Format: [panic,][num]
+                       Valid num: 0,1,2
+                       0 - turn nmi_watchdog off
+                       1 - use the IO-APIC timer for the NMI watchdog
+                       2 - use the local APIC for the NMI watchdog using
+                       a performance counter. Note: This will use one performance
+                       counter and the local APIC's performance vector.
+                       When panic is specified panic when an NMI watchdog timeout occurs.
+                       This is useful when you use a panic=... timeout and need the box
+                       quickly up again.
+                       Instead of 1 and 2 it is possible to use the following
+                       symbolic names: lapic and ioapic
+                       Example: nmi_watchdog=2 or nmi_watchdog=panic,lapic
  
        no387           [BUGS=X86-32] Tells the kernel to use the 387 maths
                        emulation library even if a 387 maths coprocessor
                        instruction doesn't work correctly and not to
                        use it.
  
 +      no_file_caps    Tells the kernel not to honor file capabilities.  The
 +                      only way then for a file to be executed with privilege
 +                      is to be setuid root or executed by root.
 +
        nohalt          [IA-64] Tells the kernel not to use the power saving
                        function PAL_HALT_LIGHT when idle. This increases
                        power-consumption. On the positive side, it reduces
                nomsi           [MSI] If the PCI_MSI kernel config parameter is
                                enabled, this kernel boot option can be used to
                                disable the use of MSI interrupts system-wide.
+               noioapicquirk   [APIC] Disable all boot interrupt quirks.
+                               Safety option to keep boot IRQs enabled. This
+                               should never be necessary.
+               ioapicreroute   [APIC] Enable rerouting of boot IRQs to the
+                               primary IO-APIC for bridges that cannot disable
+                               boot IRQs. This fixes a source of spurious IRQs
+                               when the system masks IRQs.
+               noioapicreroute [APIC] Disable workaround that uses the
+                               boot IRQ equivalent of an IRQ that connects to
+                               a chipset where boot IRQs cannot be disabled.
+                               The opposite of ioapicreroute.
                biosirq         [X86-32] Use PCI BIOS calls to get the interrupt
                                routing table. These calls are known to be buggy
                                on several machines and they hang the machine
                        Format:
                        <io>,<irq>,<dma>,<dma2>,<sb_io>,<sb_irq>,<sb_dma>,<mpu_io>,<mpu_irq>
  
+       tsc=            Disable clocksource-must-verify flag for TSC.
+                       Format: <string>
+                       [x86] reliable: mark tsc clocksource as reliable, this
+                       disables clocksource verification at runtime.
+                       Used to enable high-resolution timer mode on older
+                       hardware, and in virtualized environment.
        turbografx.map[2|3]=    [HW,JOY]
                        TurboGraFX parallel port interface
                        Format:
diff --combined arch/x86/mm/fault.c
index 3a1b6ef4f05def923dc49ef49c9bc291ab8f5368,20ef272c412cc9ca113b0caaab17121626c1486f..46b5f753ff81a3071db4f5758b17e330644dc781
@@@ -393,7 -393,7 +393,7 @@@ static void show_fault_oops(struct pt_r
                if (pte && pte_present(*pte) && !pte_exec(*pte))
                        printk(KERN_CRIT "kernel tried to execute "
                                "NX-protected page - exploit attempt? "
 -                              "(uid: %d)\n", current->uid);
 +                              "(uid: %d)\n", current_uid());
        }
  #endif
  
@@@ -413,6 -413,7 +413,7 @@@ static noinline void pgtable_bad(unsign
                                 unsigned long error_code)
  {
        unsigned long flags = oops_begin();
+       int sig = SIGKILL;
        struct task_struct *tsk;
  
        printk(KERN_ALERT "%s: Corrupted page table at address %lx\n",
        tsk->thread.trap_no = 14;
        tsk->thread.error_code = error_code;
        if (__die("Bad pagetable", regs, error_code))
-               regs = NULL;
-       oops_end(flags, regs, SIGKILL);
+               sig = 0;
+       oops_end(flags, regs, sig);
  }
  #endif
  
@@@ -590,6 -591,7 +591,7 @@@ void __kprobes do_page_fault(struct pt_
        int fault;
  #ifdef CONFIG_X86_64
        unsigned long flags;
+       int sig;
  #endif
  
        tsk = current;
@@@ -849,11 -851,12 +851,12 @@@ no_context
        bust_spinlocks(0);
        do_exit(SIGKILL);
  #else
+       sig = SIGKILL;
        if (__die("Oops", regs, error_code))
-               regs = NULL;
+               sig = 0;
        /* Executive summary in case the body of the oops scrolled away */
        printk(KERN_EMERG "CR2: %016lx\n", address);
-       oops_end(flags, regs, SIGKILL);
+       oops_end(flags, regs, sig);
  #endif
  
  /*