diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-20 14:57:50 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-20 14:57:50 -0500 |
commit | c4a1745aa09fc110afdefea0e5d025043e348bae (patch) | |
tree | 6d28dc3a0c1bf18437b3d49f28e5c81b850cdb2f /include/asm-sparc64/page.h | |
parent | 88dcb91177cfa5b26143a29074389a2aa259c7cf (diff) | |
parent | ac0eb3eb7e54b700386068be025a43d2a3958ee5 (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6: (230 commits)
[SPARC64]: Update defconfig.
[SPARC64]: Fix 2 bugs in huge page support.
[SPARC64]: CONFIG_BLK_DEV_RAM fix
[SPARC64]: Optimized TSB table initialization.
[SPARC64]: Allow CONFIG_MEMORY_HOTPLUG to build.
[SPARC64]: Use SLAB caches for TSB tables.
[SPARC64]: Don't kill the page allocator when growing a TSB.
[SPARC64]: Randomize mm->mmap_base when PF_RANDOMIZE is set.
[SPARC64]: Increase top of 32-bit process stack.
[SPARC64]: Top-down address space allocation for 32-bit tasks.
[SPARC64] bbc_i2c: Fix cpu check and add missing module license.
[SPARC64]: Fix and re-enable dynamic TSB sizing.
[SUNSU]: Fix missing spinlock initialization.
[TG3]: Do not try to access NIC_SRAM_DATA_SIG on Sun parts.
[SPARC64]: First cut at VIS simulator for Niagara.
[SPARC64]: Fix system type in /proc/cpuinfo and remove bogus OBP check.
[SPARC64]: Add SMT scheduling support for Niagara.
[SPARC64]: Fix 32-bit truncation which broke sparsemem.
[SPARC64]: Move over to sparsemem.
[SPARC64]: Fix new context version SMP handling.
...
Diffstat (limited to 'include/asm-sparc64/page.h')
-rw-r--r-- | include/asm-sparc64/page.h | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/include/asm-sparc64/page.h b/include/asm-sparc64/page.h index 5426bb28a993..fcb2812265f4 100644 --- a/include/asm-sparc64/page.h +++ b/include/asm-sparc64/page.h | |||
@@ -104,10 +104,12 @@ typedef unsigned long pgprot_t; | |||
104 | #define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT) | 104 | #define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT) |
105 | #define ARCH_HAS_SETCLEAR_HUGE_PTE | 105 | #define ARCH_HAS_SETCLEAR_HUGE_PTE |
106 | #define ARCH_HAS_HUGETLB_PREFAULT_HOOK | 106 | #define ARCH_HAS_HUGETLB_PREFAULT_HOOK |
107 | #define HAVE_ARCH_HUGETLB_UNMAPPED_AREA | ||
107 | #endif | 108 | #endif |
108 | 109 | ||
109 | #define TASK_UNMAPPED_BASE (test_thread_flag(TIF_32BIT) ? \ | 110 | #define TASK_UNMAPPED_BASE (test_thread_flag(TIF_32BIT) ? \ |
110 | (_AC(0x0000000070000000,UL)) : (PAGE_OFFSET)) | 111 | (_AC(0x0000000070000000,UL)) : \ |
112 | (_AC(0xfffff80000000000,UL) + (1UL << 32UL))) | ||
111 | 113 | ||
112 | #endif /* !(__ASSEMBLY__) */ | 114 | #endif /* !(__ASSEMBLY__) */ |
113 | 115 | ||
@@ -124,17 +126,10 @@ typedef unsigned long pgprot_t; | |||
124 | #define __pa(x) ((unsigned long)(x) - PAGE_OFFSET) | 126 | #define __pa(x) ((unsigned long)(x) - PAGE_OFFSET) |
125 | #define __va(x) ((void *)((unsigned long) (x) + PAGE_OFFSET)) | 127 | #define __va(x) ((void *)((unsigned long) (x) + PAGE_OFFSET)) |
126 | 128 | ||
127 | /* PFNs are real physical page numbers. However, mem_map only begins to record | 129 | #define pfn_to_kaddr(pfn) __va((pfn) << PAGE_SHIFT) |
128 | * per-page information starting at pfn_base. This is to handle systems where | ||
129 | * the first physical page in the machine is at some huge physical address, | ||
130 | * such as 4GB. This is common on a partitioned E10000, for example. | ||
131 | */ | ||
132 | extern struct page *pfn_to_page(unsigned long pfn); | ||
133 | extern unsigned long page_to_pfn(struct page *); | ||
134 | 130 | ||
135 | #define virt_to_page(kaddr) pfn_to_page(__pa(kaddr)>>PAGE_SHIFT) | 131 | #define virt_to_page(kaddr) pfn_to_page(__pa(kaddr)>>PAGE_SHIFT) |
136 | 132 | ||
137 | #define pfn_valid(pfn) (((pfn)-(pfn_base)) < max_mapnr) | ||
138 | #define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT) | 133 | #define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT) |
139 | 134 | ||
140 | #define virt_to_phys __pa | 135 | #define virt_to_phys __pa |