aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDavid S. Miller <davem@sunset.davemloft.net>2006-03-02 21:12:27 -0500
committerDavid S. Miller <davem@sunset.davemloft.net>2006-03-20 04:14:14 -0500
commit8bcd17411643beb9a601e032d0cf1016909a81d3 (patch)
treefc71e788df4fada768247fa7c12e983d2f6f1a32 /include
parent45f791eb0f03e760183d30d3f1f18dc2b8e902fe (diff)
[SPARC64]: Do not allow mapping pages within 4GB of 64-bit VA hole.
The UltraSPARC T1 manual recommends this because the chip could instruction prefetch into the VA hole, and this would also make decoding certain kinds of memory access traps more difficult (because the chip sign extends certain pieces of trap state). Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/asm-sparc64/a.out.h4
-rw-r--r--include/asm-sparc64/page.h3
2 files changed, 5 insertions, 2 deletions
diff --git a/include/asm-sparc64/a.out.h b/include/asm-sparc64/a.out.h
index 02af289e3f46..faac321d5594 100644
--- a/include/asm-sparc64/a.out.h
+++ b/include/asm-sparc64/a.out.h
@@ -95,7 +95,9 @@ struct relocation_info /* used when header.a_machtype == M_SPARC */
95 95
96#ifdef __KERNEL__ 96#ifdef __KERNEL__
97 97
98#define STACK_TOP (test_thread_flag(TIF_32BIT) ? 0xf0000000 : 0x80000000000L) 98#define STACK_TOP (test_thread_flag(TIF_32BIT) ? \
99 0xf0000000 : \
100 (0x0000080000000000UL - (1UL << 32UL)))
99 101
100#endif 102#endif
101 103
diff --git a/include/asm-sparc64/page.h b/include/asm-sparc64/page.h
index 5426bb28a993..c277ac56b9d7 100644
--- a/include/asm-sparc64/page.h
+++ b/include/asm-sparc64/page.h
@@ -107,7 +107,8 @@ typedef unsigned long pgprot_t;
107#endif 107#endif
108 108
109#define TASK_UNMAPPED_BASE (test_thread_flag(TIF_32BIT) ? \ 109#define TASK_UNMAPPED_BASE (test_thread_flag(TIF_32BIT) ? \
110 (_AC(0x0000000070000000,UL)) : (PAGE_OFFSET)) 110 (_AC(0x0000000070000000,UL)) : \
111 (_AC(0xfffff80000000000,UL) + (1UL << 32UL)))
111 112
112#endif /* !(__ASSEMBLY__) */ 113#endif /* !(__ASSEMBLY__) */
113 114