aboutsummaryrefslogtreecommitdiff
path: root/arch/x86/include/asm/pgtable.h
AgeCommit message (Collapse)AuthorFilesLines
2009-02-06x86: unify pud_offsetJeremy Fitzhardinge1-0/+5
Impact: cleanup Unify and demacro pud_offset. Signed-off-by: Jeremy Fitzhardinge <[email protected]>
2009-02-06x86: unify pud_indexJeremy Fitzhardinge1-0/+6
Impact: cleanup Unify and demacro pud_index. Signed-off-by: Jeremy Fitzhardinge <[email protected]>
2009-02-06x86: unify pgd_pageJeremy Fitzhardinge1-0/+5
Impact: cleanup Unify and demacro pgd_page. Signed-off-by: Jeremy Fitzhardinge <[email protected]>
2009-02-06x86: unify pud_pageJeremy Fitzhardinge1-0/+6
Impact: cleanup Unify and demacro pud_page. Signed-off-by: Jeremy Fitzhardinge <[email protected]>
2009-02-06x86: include pgtable_SIZE.h earlierJeremy Fitzhardinge1-6/+10
We'll need the definitions sooner. Signed-off-by: Jeremy Fitzhardinge <[email protected]>
2009-02-06x86: unify pud_page_vaddrJeremy Fitzhardinge1-0/+5
Impact: cleanup Unify and demacro pud_page_vaddr. Signed-off-by: Jeremy Fitzhardinge <[email protected]>
2009-02-06x86: unify pgd_page_vaddrJeremy Fitzhardinge1-0/+5
Impact: cleanup Unify and demacro pgd_page_vaddr. Signed-off-by: Jeremy Fitzhardinge <[email protected]>
2009-02-06x86: unify pmd_noneJeremy Fitzhardinge1-0/+7
Impact: cleanup Unify and demacro pmd_none. Signed-off-by: Jeremy Fitzhardinge <[email protected]>
2009-02-06x86: unify pmd_presentJeremy Fitzhardinge1-0/+5
Impact: cleanup Unify and demacro pmd_present. Signed-off-by: Jeremy Fitzhardinge <[email protected]>
2009-02-06x86: unify pgd_presentJeremy Fitzhardinge1-0/+7
Impact: cleanup Unify and demacro pgd_present. Signed-off-by: Jeremy Fitzhardinge <[email protected]>
2009-02-06x86: unify pud_presentJeremy Fitzhardinge1-0/+7
Impact: cleanup Unify and demacro pud_present. Signed-off-by: Jeremy Fitzhardinge <[email protected]>
2009-02-06x86: unify pte_presentJeremy Fitzhardinge1-0/+5
Impact: cleanup Unify and demacro pte_present. Signed-off-by: Jeremy Fitzhardinge <[email protected]>
2009-02-06x86: unify pte_sameJeremy Fitzhardinge1-0/+6
Impact: cleanup Unify and demacro pte_same. Signed-off-by: Jeremy Fitzhardinge <[email protected]>
2009-02-06x86: unify pte_noneJeremy Fitzhardinge1-0/+5
Impact: cleanup Unify and demacro pte_none. Signed-off-by: Jeremy Fitzhardinge <[email protected]>
2009-02-05Merge branch 'x86/urgent' into x86/apicIngo Molnar1-6/+20
Conflicts: arch/x86/mach-default/setup.c Semantic merge: arch/x86/kernel/irqinit_32.c Signed-off-by: Ingo Molnar <[email protected]>
2009-02-04x86: don't apply __supported_pte_mask to non-present ptesJeremy Fitzhardinge1-6/+20
On an x86 system which doesn't support global mappings, __supported_pte_mask has _PAGE_GLOBAL clear, to make sure it never appears in the PTE. pfn_pte() and so on will enforce it with: static inline pte_t pfn_pte(unsigned long page_nr, pgprot_t pgprot) { return __pte((((phys_addr_t)page_nr << PAGE_SHIFT) | pgprot_val(pgprot)) & __supported_pte_mask); } However, we overload _PAGE_GLOBAL with _PAGE_PROTNONE on non-present ptes to distinguish them from swap entries. However, applying __supported_pte_mask indiscriminately will clear the bit and corrupt the pte. I guess the best fix is to only apply __supported_pte_mask to present ptes. This seems like the right solution to me, as it means we can completely ignore the issue of overlaps between the present pte bits and the non-present pte-as-swap entry use of the bits. __supported_pte_mask contains the set of flags we support on the current hardware. We also use bits in the pte for things like logically present ptes with no permissions, and swap entries for swapped out pages. We should only apply __supported_pte_mask to present ptes, because otherwise we may destroy other information being stored in the ptes. Signed-off-by: Jeremy Fitzhardinge <[email protected]> Signed-off-by: H. Peter Anvin <[email protected]>
2009-01-22x86: add pte_set_flags/clear_flags for pte flag manipulationJeremy Fitzhardinge1-12/+26
It's not necessary to deconstruct and reconstruct a pte every time its flags are being updated. Introduce pte_set_flags and pte_clear_flags to set and clear flags in a pte. This allows the flag manipulation code to be inlined, and avoids calls via paravirt-ops. Signed-off-by: Jeremy Fitzhardinge <[email protected]> Signed-off-by: Ingo Molnar <[email protected]>
2009-01-13x86 PAT: consolidate old memtype new memtype check into a function[email protected]1-0/+19
Impact: cleanup Move the new memtype old memtype allowed check to header so that is can be shared by other users. Subsequent patch uses this in pat.c in remap_pfn_range() code path. No functionality change in this patch. Signed-off-by: Venkatesh Pallipadi <[email protected]> Signed-off-by: Suresh Siddha <[email protected]> Signed-off-by: Ingo Molnar <[email protected]>
2008-12-23Merge branches 'x86/apic', 'x86/cleanups', 'x86/cpufeature', ↵Ingo Molnar1-6/+22
'x86/crashdump', 'x86/debug', 'x86/defconfig', 'x86/detect-hyper', 'x86/doc', 'x86/dumpstack', 'x86/early-printk', 'x86/fpu', 'x86/idle', 'x86/io', 'x86/memory-corruption-check', 'x86/microcode', 'x86/mm', 'x86/mtrr', 'x86/nmi-watchdog', 'x86/pat2', 'x86/pci-ioapic-boot-irq-quirks', 'x86/ptrace', 'x86/quirks', 'x86/reboot', 'x86/setup-memory', 'x86/signal', 'x86/sparse-fixes', 'x86/time', 'x86/uv' and 'x86/xen' into x86/core
2008-12-19x86: PAT: move track untrack pfnmap stubs to asm-generic[email protected]1-4/+2
Impact: Cleanup and branch hints only. Move the track and untrack pfn stub routines from memory.c to asm-generic. Also add unlikely to pfnmap related calls in fork and exit path. Signed-off-by: Venkatesh Pallipadi <[email protected]> Signed-off-by: Suresh Siddha <[email protected]> Signed-off-by: H. Peter Anvin <[email protected]>
2008-12-19x86: PAT: remove follow_pfnmap_pte in favor of follow_phys[email protected]1-5/+0
Impact: Cleanup - removes a new function in favor of a recently modified older one. Replace follow_pfnmap_pte in pat code with follow_phys. follow_phys lso returns protection eliminating the need of pte_pgprot call. Using follow_phys also eliminates the need for pte_pa. Signed-off-by: Venkatesh Pallipadi <[email protected]> Signed-off-by: Suresh Siddha <[email protected]> Signed-off-by: H. Peter Anvin <[email protected]>
2008-12-18x86: PAT: add pgprot_writecombine() interface for drivers - v3[email protected]1-0/+3
Impact: New mm functionality. Add pgprot_writecombine. pgprot_writecombine will be aliased to pgprot_noncached when not supported by the architecture. Signed-off-by: Venkatesh Pallipadi <[email protected]> Signed-off-by: Suresh Siddha <[email protected]> Signed-off-by: H. Peter Anvin <[email protected]>
2008-12-18x86: PAT: change pgprot_noncached to uc_minus instead of strong uc - v3[email protected]1-0/+8
Impact: mm behavior change. Make pgprot_noncached uc_minus instead of strong UC. This will make pgprot_noncached to be in line with ioremap_nocache() and all the other APIs that map page uc_minus on uc request. Signed-off-by: Venkatesh Pallipadi <[email protected]> Signed-off-by: Suresh Siddha <[email protected]> Signed-off-by: H. Peter Anvin <[email protected]>
2008-12-18x86: PAT: implement track/untrack of pfnmap regions for x86 - v3[email protected]1-0/+10
Impact: New mm functionality. Hookup remap_pfn_range and vm_insert_pfn and corresponding copy and free routines with reserve and free tracking. reserve and free here only takes care of non RAM region mapping. For RAM region, driver should use set_memory_[uc|wc|wb] to set the cache type and then setup the mapping for user pte. We can bypass below reserve/free in that case. Signed-off-by: Venkatesh Pallipadi <[email protected]> Signed-off-by: Suresh Siddha <[email protected]> Signed-off-by: H. Peter Anvin <[email protected]>
2008-12-16x86: consolidate __swp_XXX() macrosJan Beulich1-6/+8
Impact: cleanup, code robustization The __swp_...() macros silently relied upon which bits are used for _PAGE_FILE and _PAGE_PROTNONE. After having changed _PAGE_PROTNONE in our Xen kernel to no longer overlap _PAGE_PAT, live locks and crashes were reported that could have been avoided if these macros properly used the symbolic constants. Since, as pointed out earlier, for Xen Dom0 support mainline likewise will need to eliminate the conflict between _PAGE_PAT and _PAGE_PROTNONE, this patch does all the necessary adjustments, plus it introduces a mechanism to check consistency between MAX_SWAPFILES_SHIFT and the actual encoding macros. This also fixes a latent bug in that x86-64 used a 6-bit mask in __swp_type(), and if MAX_SWAPFILES_SHIFT was increased beyond 5 in (the seemingly unrelated) linux/swap.h, this would have resulted in a collision with _PAGE_FILE. Non-PAE 32-bit code gets similarly adjusted for its pte_to_pgoff() and pgoff_to_pte() calculations. Signed-off-by: Jan Beulich <[email protected]> Signed-off-by: Ingo Molnar <[email protected]>
2008-10-23Merge branch 'proc' of ↵Linus Torvalds1-1/+2
git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/proc * 'proc' of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/proc: (35 commits) proc: remove fs/proc/proc_misc.c proc: move /proc/vmcore creation to fs/proc/vmcore.c proc: move pagecount stuff to fs/proc/page.c proc: move all /proc/kcore stuff to fs/proc/kcore.c proc: move /proc/schedstat boilerplate to kernel/sched_stats.h proc: move /proc/modules boilerplate to kernel/module.c proc: move /proc/diskstats boilerplate to block/genhd.c proc: move /proc/zoneinfo boilerplate to mm/vmstat.c proc: move /proc/vmstat boilerplate to mm/vmstat.c proc: move /proc/pagetypeinfo boilerplate to mm/vmstat.c proc: move /proc/buddyinfo boilerplate to mm/vmstat.c proc: move /proc/vmallocinfo to mm/vmalloc.c proc: move /proc/slabinfo boilerplate to mm/slub.c, mm/slab.c proc: move /proc/slab_allocators boilerplate to mm/slab.c proc: move /proc/interrupts boilerplate code to fs/proc/interrupts.c proc: move /proc/stat to fs/proc/stat.c proc: move rest of /proc/partitions code to block/genhd.c proc: move /proc/cpuinfo code to fs/proc/cpuinfo.c proc: move /proc/devices code to fs/proc/devices.c proc: move rest of /proc/locks to fs/locks.c ...
2008-10-22x86: Fix ASM_X86__ header guardsH. Peter Anvin1-3/+3
Change header guards named "ASM_X86__*" to "_ASM_X86_*" since: a. the double underscore is ugly and pointless. b. no leading underscore violates namespace constraints. Signed-off-by: H. Peter Anvin <[email protected]>
2008-10-22x86, um: ... and asm-x86 moveAl Viro1-0/+561
Signed-off-by: Al Viro <[email protected]> Signed-off-by: H. Peter Anvin <[email protected]>