Merge commit 'v2.6.30-rc6' into perfcounters/core
Merge reason: this branch was on an -rc4 base, merge it up to -rc6 to get the latest upstream fixes. Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
@@ -7,6 +7,7 @@
|
||||
#include <asm/page.h>
|
||||
#include <asm/page_types.h>
|
||||
#include <asm/sections.h>
|
||||
#include <asm/setup.h>
|
||||
#include <asm/system.h>
|
||||
#include <asm/tlbflush.h>
|
||||
|
||||
@@ -304,8 +305,23 @@ unsigned long __init_refok init_memory_mapping(unsigned long start,
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_X86_64
|
||||
if (!after_bootmem)
|
||||
if (!after_bootmem && !start) {
|
||||
pud_t *pud;
|
||||
pmd_t *pmd;
|
||||
|
||||
mmu_cr4_features = read_cr4();
|
||||
|
||||
/*
|
||||
* _brk_end cannot change anymore, but it and _end may be
|
||||
* located on different 2M pages. cleanup_highmap(), however,
|
||||
* can only consider _end when it runs, so destroy any
|
||||
* mappings beyond _brk_end here.
|
||||
*/
|
||||
pud = pud_offset(pgd_offset_k(_brk_end), _brk_end);
|
||||
pmd = pmd_offset(pud, _brk_end - 1);
|
||||
while (++pmd <= pmd_offset(pud, (unsigned long)_end - 1))
|
||||
pmd_clear(pmd);
|
||||
}
|
||||
#endif
|
||||
__flush_tlb_all();
|
||||
|
||||
|
@@ -87,7 +87,7 @@ static struct kmmio_probe *get_kmmio_probe(unsigned long addr)
|
||||
{
|
||||
struct kmmio_probe *p;
|
||||
list_for_each_entry_rcu(p, &kmmio_probes, list) {
|
||||
if (addr >= p->addr && addr <= (p->addr + p->len))
|
||||
if (addr >= p->addr && addr < (p->addr + p->len))
|
||||
return p;
|
||||
}
|
||||
return NULL;
|
||||
|
@@ -216,7 +216,7 @@ int __init get_memcfg_from_srat(void)
|
||||
|
||||
if (num_memory_chunks == 0) {
|
||||
printk(KERN_WARNING
|
||||
"could not finy any ACPI SRAT memory areas.\n");
|
||||
"could not find any ACPI SRAT memory areas.\n");
|
||||
goto out_fail;
|
||||
}
|
||||
|
||||
|
@@ -361,6 +361,7 @@ static void __init unparse_node(int node)
|
||||
{
|
||||
int i;
|
||||
node_clear(node, nodes_parsed);
|
||||
node_clear(node, cpu_nodes_parsed);
|
||||
for (i = 0; i < MAX_LOCAL_APIC; i++) {
|
||||
if (apicid_to_node[i] == node)
|
||||
apicid_to_node[i] = NUMA_NO_NODE;
|
||||
|
Reference in New Issue
Block a user