10 Feb, 2008
1 commit
-
Specifically the boot time page tables in a CONFIG_X86_PAE=y enabled
kernel are in PAE format.early_ioremap is updated to use the standard page table accessors.
Clear any mappings beyond max_low_pfn from the boot page tables in
native_pagetable_setup_start because the initial mappings can extend
beyond the range of physical memory and into the vmalloc area.Derived from patches by Eric Biederman and H. Peter Anvin.
[ jeremy@goop.org: PAE swapper_pg_dir needs to be page-sized fix ]
Signed-off-by: Ian Campbell
Cc: H. Peter Anvin
Cc: Eric W. Biederman
Cc: Andi Kleen
Cc: Mika Penttilä
Cc: Jeremy Fitzhardinge
Signed-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner
06 Feb, 2008
1 commit
-
pgtable.h does not include highmem.h but uses various constants from
highmem.h. We cannot include highmem.h because highmem.h will in turn include
many other include files that also depend on pgtable.hSo move the definitions from highmem.h into pgtable.h.
[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Christoph Lameter
Cc: Ingo Molnar
Cc: Thomas Gleixner
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
04 Feb, 2008
1 commit
-
Signed-off-by: Andi Kleen
Signed-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner
30 Jan, 2008
16 commits
-
Use a standard list threaded through page->lru for maintaining the pgd
list on PAE. This is the same as 64-bit, and seems saner than using a
non-standard list via page->index.Signed-off-by: Jeremy Fitzhardinge
Signed-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner -
In x86 PAE mode, stop treating pmds as a special case. Previously
they were always allocated and freed with the pgd. The modifies the
code to be the same as 64-bit mode, where they are allocated on
demand.This is a step on the way to unifying 32/64-bit pagetable allocation
as much as possible.There is a complicating wart, however. When you install a new
reference to a pmd in the pgd, the processor isn't guaranteed to see
it unless you reload cr3. Since reloading cr3 also has the
side-effect of flushing the tlb, this is an expense that we want to
avoid whereever possible.This patch simply avoids reloading cr3 unless the update is to the
current pagetable. Later patches will optimise this further.Signed-off-by: Jeremy Fitzhardinge
Cc: Andi Kleen
Cc: Linus Torvalds
Cc: H. Peter Anvin
Cc: William Irwin
Signed-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner -
Signed-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner -
The SMP trampoline always runs in real mode, so making it executable
in the page tables doesn't make much sense because it executes
before page tables are set up. That was the only user of
set_kernel_exec(). Remove set_kernel_exec().Signed-off-by: Andi Kleen
Acked-by: Jan Beulich
Signed-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner -
based on this patch from Andi Kleen:
| Subject: CPA: Return the page table level in lookup_address()
| From: Andi Kleen
|
| Needed for the next change.
|
| And change all the callers.and ported it to x86.git.
Signed-off-by: Andi Kleen
Acked-by: Jan Beulich
Signed-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner -
Move ZERO_PAGE/empty_zero_page to common place.
Signed-off-by: Jeremy Fitzhardinge
Signed-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner -
Make various pte accessors common.
Signed-off-by: Jeremy Fitzhardinge
Signed-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner -
based on:
Subject: x86: unify pgtable accessors which use supported_pte_mask
From: Jeremy FitzhardingeSigned-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner -
Unify functions to test and set bits in pagetable entries.
NOP: only moves existing code around, without any change to it.
Signed-off-by: Jeremy Fitzhardinge
Signed-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner -
reorder. NOP.
Signed-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner -
add new ops to 32-bit.
based on:
Subject: x86/pgtable: unify pagetable accessors
From: Jeremy FitzhardingeSigned-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner -
change the pte_mk inlines to the unified format. Non-NOP!
based on:
Subject: x86/pgtable: unify pagetable accessors
From: Jeremy FitzhardingeSigned-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner -
change the pte_dirty/* inlines to the unified format. Non-NOP!
based on:
Subject: x86/pgtable: unify pagetable accessors
From: Jeremy FitzhardingeSigned-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner -
32 and 64-bit use the same flags for pagetable entries, so make them all common.
[ mingo@elte.hu: fixes ]
Signed-off-by: Jeremy Fitzhardinge
Signed-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner -
add PWT bit to NOCACHE flags. No real difference to CPUs, but needed
later for PAT.Signed-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner -
Signed-off-by: Thomas Gleixner
Signed-off-by: Ingo Molnar
20 Oct, 2007
1 commit
-
remove asm/bitops.h includes
including asm/bitops directly may cause compile errors. don't include it
and include linux/bitops instead. next patch will deny including asm header
directly.Cc: Adrian Bunk
Signed-off-by: Jiri Slaby
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
17 Oct, 2007
1 commit
-
Slab constructors currently have a flags parameter that is never used. And
the order of the arguments is opposite to other slab functions. The object
pointer is placed before the kmem_cache pointer.Convert
ctor(void *object, struct kmem_cache *s, unsigned long flags)
to
ctor(struct kmem_cache *s, void *object)
throughout the kernel
[akpm@linux-foundation.org: coupla fixes]
Signed-off-by: Christoph Lameter
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
11 Oct, 2007
1 commit
-
Move the headers to include/asm-x86 and fixup the
header install make rulesSigned-off-by: Thomas Gleixner
Signed-off-by: Ingo Molnar