diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-08-11 13:40:28 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-08-11 13:40:28 -0400 |
commit | e2205a156f4dd727097f7f492bf03aa8920b0071 (patch) | |
tree | 7c4947406e9e11b5fbe183db4e0ae1943b9a7d15 /arch/powerpc/mm/init_64.c | |
parent | a7ef6a40f700496c60b8f7206fff74fecd67b3a2 (diff) | |
parent | 13fa00a8780885edcdf0bc53b81e5d0fec71119a (diff) |
Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
powerpc: Remove include/linux/harrier_defs.h
powerpc: Do not ignore arch/powerpc/include
powerpc: Delete completed "ppc removal" task from feature removal file
powerpc/mm: Fix attribute confusion with htab_bolt_mapping()
powerpc/pci: Don't keep ISA memory hole resources in the tree
powerpc: Zero fill the return values of rtas argument buffer
powerpc/4xx: Update defconfig files for 2.6.27-rc1
powerpc/44x: Incorrect NOR offset in Warp DTS
powerpc/44x: Warp DTS changes for board updates
powerpc/4xx: Cleanup Warp for i2c driver changes.
powerpc/44x: Adjust warp-nand resource end address
Diffstat (limited to 'arch/powerpc/mm/init_64.c')
-rw-r--r-- | arch/powerpc/mm/init_64.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/arch/powerpc/mm/init_64.c b/arch/powerpc/mm/init_64.c index 4f7df85129d8..036fe2f10c77 100644 --- a/arch/powerpc/mm/init_64.c +++ b/arch/powerpc/mm/init_64.c | |||
@@ -206,13 +206,10 @@ static int __meminit vmemmap_populated(unsigned long start, int page_size) | |||
206 | int __meminit vmemmap_populate(struct page *start_page, | 206 | int __meminit vmemmap_populate(struct page *start_page, |
207 | unsigned long nr_pages, int node) | 207 | unsigned long nr_pages, int node) |
208 | { | 208 | { |
209 | unsigned long mode_rw; | ||
210 | unsigned long start = (unsigned long)start_page; | 209 | unsigned long start = (unsigned long)start_page; |
211 | unsigned long end = (unsigned long)(start_page + nr_pages); | 210 | unsigned long end = (unsigned long)(start_page + nr_pages); |
212 | unsigned long page_size = 1 << mmu_psize_defs[mmu_vmemmap_psize].shift; | 211 | unsigned long page_size = 1 << mmu_psize_defs[mmu_vmemmap_psize].shift; |
213 | 212 | ||
214 | mode_rw = _PAGE_ACCESSED | _PAGE_DIRTY | _PAGE_COHERENT | PP_RWXX; | ||
215 | |||
216 | /* Align to the page size of the linear mapping. */ | 213 | /* Align to the page size of the linear mapping. */ |
217 | start = _ALIGN_DOWN(start, page_size); | 214 | start = _ALIGN_DOWN(start, page_size); |
218 | 215 | ||
@@ -230,9 +227,9 @@ int __meminit vmemmap_populate(struct page *start_page, | |||
230 | pr_debug("vmemmap %08lx allocated at %p, physical %08lx.\n", | 227 | pr_debug("vmemmap %08lx allocated at %p, physical %08lx.\n", |
231 | start, p, __pa(p)); | 228 | start, p, __pa(p)); |
232 | 229 | ||
233 | mapped = htab_bolt_mapping(start, start + page_size, | 230 | mapped = htab_bolt_mapping(start, start + page_size, __pa(p), |
234 | __pa(p), mode_rw, mmu_vmemmap_psize, | 231 | PAGE_KERNEL, mmu_vmemmap_psize, |
235 | mmu_kernel_ssize); | 232 | mmu_kernel_ssize); |
236 | BUG_ON(mapped < 0); | 233 | BUG_ON(mapped < 0); |
237 | } | 234 | } |
238 | 235 | ||