diff options
author | David S. Miller <davem@davemloft.net> | 2008-07-18 02:43:55 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-07-18 02:44:53 -0400 |
commit | f7fe93344fd3f4ccd406a35f751a61b77f94b0fc (patch) | |
tree | 2d164e040f6acde923147a53e5c92fa0ca0cf0ec /arch/sparc64/lib | |
parent | d172ad18f9914f70c761a6cad470efc986d5e07e (diff) |
sparc64: Remove 4MB and 512K base page size options.
Adrian Bunk reported that enabling 4MB page size breaks the build.
The problem is that MAX_ORDER combined with the page shift exceeds the
SECTION_SIZE_BITS we use in asm-sparc64/sparsemem.h
There are several ways I suppose we could work around this. For one
we could define a CONFIG_FORCE_MAX_ZONEORDER to decrease MAX_ORDER in
these higher page size cases.
But I also know that these page size cases are broken wrt. TLB miss
handling especially on pre-hypervisor systems, and there isn't an easy
way to fix that.
These options were meant to be fun experimental hacks anyways, and
only 8K and 64K make any sense to support.
So remove 512K and 4M base page size support. Of course, we still
support these page sizes for huge pages.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/lib')
-rw-r--r-- | arch/sparc64/lib/copy_page.S | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/sparc64/lib/copy_page.S b/arch/sparc64/lib/copy_page.S index 37460666a5c3..b243d3b606ba 100644 --- a/arch/sparc64/lib/copy_page.S +++ b/arch/sparc64/lib/copy_page.S | |||
@@ -25,9 +25,9 @@ | |||
25 | 25 | ||
26 | #define DCACHE_SIZE (PAGE_SIZE * 2) | 26 | #define DCACHE_SIZE (PAGE_SIZE * 2) |
27 | 27 | ||
28 | #if (PAGE_SHIFT == 13) || (PAGE_SHIFT == 19) | 28 | #if (PAGE_SHIFT == 13) |
29 | #define PAGE_SIZE_REM 0x80 | 29 | #define PAGE_SIZE_REM 0x80 |
30 | #elif (PAGE_SHIFT == 16) || (PAGE_SHIFT == 22) | 30 | #elif (PAGE_SHIFT == 16) |
31 | #define PAGE_SIZE_REM 0x100 | 31 | #define PAGE_SIZE_REM 0x100 |
32 | #else | 32 | #else |
33 | #error Wrong PAGE_SHIFT specified | 33 | #error Wrong PAGE_SHIFT specified |
@@ -198,7 +198,7 @@ cheetah_copy_page_insn: | |||
198 | cmp %o2, PAGE_SIZE_REM | 198 | cmp %o2, PAGE_SIZE_REM |
199 | bne,pt %xcc, 1b | 199 | bne,pt %xcc, 1b |
200 | add %o0, 0x40, %o0 | 200 | add %o0, 0x40, %o0 |
201 | #if (PAGE_SHIFT == 16) || (PAGE_SHIFT == 22) | 201 | #if (PAGE_SHIFT == 16) |
202 | TOUCH(f0, f2, f4, f6, f8, f10, f12, f14) | 202 | TOUCH(f0, f2, f4, f6, f8, f10, f12, f14) |
203 | ldda [%o1] ASI_BLK_P, %f32 | 203 | ldda [%o1] ASI_BLK_P, %f32 |
204 | stda %f48, [%o0] %asi | 204 | stda %f48, [%o0] %asi |