Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-x86
* ssh://master.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-x86: (33 commits) x86: convert cpuinfo_x86 array to a per_cpu array x86: introduce frame_pointer() and stack_pointer() x86 & generic: change to __builtin_prefetch() i386: do not BUG_ON() when MSR is unknown x86: acpi use cpu_physical_id x86: convert cpu_llc_id to be a per cpu variable x86: convert cpu_to_apicid to be a per cpu variable i386: introduce "used_vectors" bitmap which can be used to reserve vectors. x86: use raw locks during oopses x86: honor _PAGE_PSE bit on page walks i386: do cpuid_device_create() in CPU_UP_PREPARE instead of CPU_ONLINE. x86: implement missing x86_64 function smp_call_function_mask() x86: use descriptor's functions instead of inline assembly i386: consolidate show_regs and show_registers for i386 i386: make callgraph use dump_trace() on i386/x86_64 x86: enable iommu_merge by default i386: i386 add AMD64 Barcelona PMU MSR definitions to msr.h x86: Unify i386 and x86-64 early quirks x86: enable HPET on ICH3 and ICH4 x86: force enable HPET on VT8235/8237 chipsets ... Manually fix trivial conflict with task pid container helper changes in arch/x86/kernel/process_32.c
Tento commit je obsažen v:
@@ -564,7 +564,8 @@ no_context:
|
||||
* it's allocated already.
|
||||
*/
|
||||
if ((page >> PAGE_SHIFT) < max_low_pfn
|
||||
&& (page & _PAGE_PRESENT)) {
|
||||
&& (page & _PAGE_PRESENT)
|
||||
&& !(page & _PAGE_PSE)) {
|
||||
page &= PAGE_MASK;
|
||||
page = ((__typeof__(page) *) __va(page))[(address >> PAGE_SHIFT)
|
||||
& (PTRS_PER_PTE - 1)];
|
||||
|
@@ -169,7 +169,7 @@ void dump_pagetable(unsigned long address)
|
||||
pmd = pmd_offset(pud, address);
|
||||
if (bad_address(pmd)) goto bad;
|
||||
printk("PMD %lx ", pmd_val(*pmd));
|
||||
if (!pmd_present(*pmd)) goto ret;
|
||||
if (!pmd_present(*pmd) || pmd_large(*pmd)) goto ret;
|
||||
|
||||
pte = pte_offset_kernel(pmd, address);
|
||||
if (bad_address(pte)) goto bad;
|
||||
@@ -285,7 +285,6 @@ static int vmalloc_fault(unsigned long address)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int page_fault_trace;
|
||||
int show_unhandled_signals = 1;
|
||||
|
||||
/*
|
||||
@@ -354,10 +353,6 @@ asmlinkage void __kprobes do_page_fault(struct pt_regs *regs,
|
||||
if (likely(regs->eflags & X86_EFLAGS_IF))
|
||||
local_irq_enable();
|
||||
|
||||
if (unlikely(page_fault_trace))
|
||||
printk("pagefault rip:%lx rsp:%lx cs:%lu ss:%lu address %lx error %lx\n",
|
||||
regs->rip,regs->rsp,regs->cs,regs->ss,address,error_code);
|
||||
|
||||
if (unlikely(error_code & PF_RSVD))
|
||||
pgtable_bad(address, regs, error_code);
|
||||
|
||||
@@ -488,7 +483,7 @@ bad_area_nosemaphore:
|
||||
if (show_unhandled_signals && unhandled_signal(tsk, SIGSEGV) &&
|
||||
printk_ratelimit()) {
|
||||
printk(
|
||||
"%s%s[%d]: segfault at %016lx rip %016lx rsp %016lx error %lx\n",
|
||||
"%s%s[%d]: segfault at %lx rip %lx rsp %lx error %lx\n",
|
||||
tsk->pid > 1 ? KERN_INFO : KERN_EMERG,
|
||||
tsk->comm, tsk->pid, address, regs->rip,
|
||||
regs->rsp, error_code);
|
||||
@@ -621,10 +616,3 @@ void vmalloc_sync_all(void)
|
||||
BUILD_BUG_ON(!(((MODULES_END - 1) & PGDIR_MASK) ==
|
||||
(__START_KERNEL & PGDIR_MASK)));
|
||||
}
|
||||
|
||||
static int __init enable_pagefaulttrace(char *str)
|
||||
{
|
||||
page_fault_trace = 1;
|
||||
return 1;
|
||||
}
|
||||
__setup("pagefaulttrace", enable_pagefaulttrace);
|
||||
|
@@ -612,7 +612,7 @@ void __init init_cpu_to_node(void)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < NR_CPUS; i++) {
|
||||
u8 apicid = x86_cpu_to_apicid[i];
|
||||
u8 apicid = x86_cpu_to_apicid_init[i];
|
||||
if (apicid == BAD_APICID)
|
||||
continue;
|
||||
if (apicid_to_node[apicid] == NUMA_NO_NODE)
|
||||
|
Odkázat v novém úkolu
Zablokovat Uživatele