diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-11-09 18:16:52 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-11-09 18:16:52 -0500 |
commit | c4888f9ffafe7db107b7eafb3a68eaeeff3779c3 (patch) | |
tree | d30da15f6b5d74c8c04fd92991af5e1615d95691 /arch/powerpc/mm/40x_mmu.c | |
parent | e36aeee65d4db050bd8713537416a0a0632db079 (diff) | |
parent | 688016f4e2028e3c2c27e959ad001536e10ee2c5 (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: (37 commits)
[POWERPC] EEH: Make sure warning message is printed
[POWERPC] Make altivec code in swsusp_32.S depend on CONFIG_ALTIVEC
[POWERPC] windfarm: Fix windfarm thread freezer interaction
[POWERPC] Fix si_addr value on low level hash failures
[POWERPC] Refresh ppc64_defconfig and enable pasemi-related options
[POWERPC] pasemi: Update defconfig
[POWERPC] iSeries: Fix ref counting in vio setup
[POWERPC] ] Fix memset size error
[POWERPC] Fix link errors for allyesconfig
[POWERPC] iSeries_init_IRQ non-PCI tidy
[POWERPC] Change fallocate to match unistd.h on powerpc
[POWERPC] EEH: Avoid crash on null device
[POWERPC] EEH: Drivers that need reset trump others
[POWERPC] EEH: Clean up comments
[POWERPC] Fix off-by-one error in setting decrementer on Book E/4xx (v2)
[POWERPC] Fix switch_slb handling of 1T ESID values
[POWERPC] Fix build failure when CONFIG_VIRT_CPU_ACCOUNTING is not defined
[POWERPC] Include udbg.h when using udbg_printf
[POWERPC] Fix cache line vs. block size confusion
[POWERPC] Fix sysctl table check failure on PowerMac
...
Diffstat (limited to 'arch/powerpc/mm/40x_mmu.c')
-rw-r--r-- | arch/powerpc/mm/40x_mmu.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/arch/powerpc/mm/40x_mmu.c b/arch/powerpc/mm/40x_mmu.c index e067df836be2..3899ea97fbdf 100644 --- a/arch/powerpc/mm/40x_mmu.c +++ b/arch/powerpc/mm/40x_mmu.c | |||
@@ -98,13 +98,12 @@ unsigned long __init mmu_mapin_ram(void) | |||
98 | 98 | ||
99 | v = KERNELBASE; | 99 | v = KERNELBASE; |
100 | p = PPC_MEMSTART; | 100 | p = PPC_MEMSTART; |
101 | s = 0; | 101 | s = total_lowmem; |
102 | 102 | ||
103 | if (__map_without_ltlbs) { | 103 | if (__map_without_ltlbs) |
104 | return s; | 104 | return 0; |
105 | } | ||
106 | 105 | ||
107 | while (s <= (total_lowmem - LARGE_PAGE_SIZE_16M)) { | 106 | while (s >= LARGE_PAGE_SIZE_16M) { |
108 | pmd_t *pmdp; | 107 | pmd_t *pmdp; |
109 | unsigned long val = p | _PMD_SIZE_16M | _PAGE_HWEXEC | _PAGE_HWWRITE; | 108 | unsigned long val = p | _PMD_SIZE_16M | _PAGE_HWEXEC | _PAGE_HWWRITE; |
110 | 109 | ||
@@ -116,10 +115,10 @@ unsigned long __init mmu_mapin_ram(void) | |||
116 | 115 | ||
117 | v += LARGE_PAGE_SIZE_16M; | 116 | v += LARGE_PAGE_SIZE_16M; |
118 | p += LARGE_PAGE_SIZE_16M; | 117 | p += LARGE_PAGE_SIZE_16M; |
119 | s += LARGE_PAGE_SIZE_16M; | 118 | s -= LARGE_PAGE_SIZE_16M; |
120 | } | 119 | } |
121 | 120 | ||
122 | while (s <= (total_lowmem - LARGE_PAGE_SIZE_4M)) { | 121 | while (s >= LARGE_PAGE_SIZE_4M) { |
123 | pmd_t *pmdp; | 122 | pmd_t *pmdp; |
124 | unsigned long val = p | _PMD_SIZE_4M | _PAGE_HWEXEC | _PAGE_HWWRITE; | 123 | unsigned long val = p | _PMD_SIZE_4M | _PAGE_HWEXEC | _PAGE_HWWRITE; |
125 | 124 | ||
@@ -128,8 +127,8 @@ unsigned long __init mmu_mapin_ram(void) | |||
128 | 127 | ||
129 | v += LARGE_PAGE_SIZE_4M; | 128 | v += LARGE_PAGE_SIZE_4M; |
130 | p += LARGE_PAGE_SIZE_4M; | 129 | p += LARGE_PAGE_SIZE_4M; |
131 | s += LARGE_PAGE_SIZE_4M; | 130 | s -= LARGE_PAGE_SIZE_4M; |
132 | } | 131 | } |
133 | 132 | ||
134 | return s; | 133 | return total_lowmem - s; |
135 | } | 134 | } |