mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 22:21:40 +00:00
aout: move STACK_TOP[_MAX] to asm/processor.h
Move STACK_TOP[_MAX] out of asm/a.out.h and into asm/processor.h as they're required whether or not A.OUT format is available. Signed-off-by: David Howells <dhowells@redhat.com> Cc: <linux-arch@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
3eb056764d
commit
922a70d327
@ -98,11 +98,5 @@ struct exec
|
||||
set_personality (((BFPM->sh_bang || EX.ah.entry < 0x100000000L \
|
||||
? ADDR_LIMIT_32BIT : 0) | PER_OSF4))
|
||||
|
||||
#define STACK_TOP \
|
||||
(current->personality & ADDR_LIMIT_32BIT ? 0x80000000 : 0x00120000000UL)
|
||||
|
||||
#define STACK_TOP_MAX 0x00120000000UL
|
||||
|
||||
#endif
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
#endif /* __A_OUT_GNU_H__ */
|
||||
|
@ -20,6 +20,11 @@
|
||||
*/
|
||||
#define TASK_SIZE (0x40000000000UL)
|
||||
|
||||
#define STACK_TOP \
|
||||
(current->personality & ADDR_LIMIT_32BIT ? 0x80000000 : 0x00120000000UL)
|
||||
|
||||
#define STACK_TOP_MAX 0x00120000000UL
|
||||
|
||||
/* This decides where the kernel will search for a free chunk of vm
|
||||
* space during mmap's.
|
||||
*/
|
||||
|
@ -27,12 +27,6 @@ struct exec
|
||||
|
||||
#define M_ARM 103
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#define STACK_TOP ((current->personality == PER_LINUX_32BIT) ? \
|
||||
TASK_SIZE : TASK_SIZE_26)
|
||||
#define STACK_TOP_MAX TASK_SIZE
|
||||
#endif
|
||||
|
||||
#ifndef LIBRARY_START_TEXT
|
||||
#define LIBRARY_START_TEXT (0x00c00000)
|
||||
#endif
|
||||
|
@ -22,6 +22,12 @@
|
||||
#include <asm/ptrace.h>
|
||||
#include <asm/types.h>
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#define STACK_TOP ((current->personality == PER_LINUX_32BIT) ? \
|
||||
TASK_SIZE : TASK_SIZE_26)
|
||||
#define STACK_TOP_MAX TASK_SIZE
|
||||
#endif
|
||||
|
||||
union debug_insn {
|
||||
u32 arm;
|
||||
u16 thumb;
|
||||
|
@ -17,11 +17,4 @@ struct exec
|
||||
#define N_DRSIZE(a) ((a).a_drsize)
|
||||
#define N_SYMSIZE(a) ((a).a_syms)
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
#define STACK_TOP TASK_SIZE
|
||||
#define STACK_TOP_MAX STACK_TOP
|
||||
|
||||
#endif
|
||||
|
||||
#endif /* __ASM_AVR32_A_OUT_H */
|
||||
|
@ -13,6 +13,11 @@
|
||||
|
||||
#define TASK_SIZE 0x80000000
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#define STACK_TOP TASK_SIZE
|
||||
#define STACK_TOP_MAX STACK_TOP
|
||||
#endif
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
static inline void *current_text_addr(void)
|
||||
|
@ -16,10 +16,4 @@ struct exec {
|
||||
#define N_DRSIZE(a) ((a).a_drsize)
|
||||
#define N_SYMSIZE(a) ((a).a_syms)
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
#define STACK_TOP TASK_SIZE
|
||||
|
||||
#endif
|
||||
|
||||
#endif /* __BFIN_A_OUT_H__ */
|
||||
|
@ -30,6 +30,10 @@ static inline void wrusp(unsigned long usp)
|
||||
extern unsigned long memory_end;
|
||||
#define TASK_SIZE (memory_end)
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#define STACK_TOP TASK_SIZE
|
||||
#endif
|
||||
|
||||
#define TASK_UNMAPPED_BASE 0
|
||||
|
||||
struct thread_struct {
|
||||
|
@ -6,11 +6,6 @@
|
||||
* wants to know about a.out even if there is no interpreter available...
|
||||
*/
|
||||
|
||||
/* grabbed from the intel stuff */
|
||||
#define STACK_TOP TASK_SIZE
|
||||
#define STACK_TOP_MAX STACK_TOP
|
||||
|
||||
|
||||
struct exec
|
||||
{
|
||||
unsigned long a_info; /* Use macros N_MAGIC, etc for access */
|
||||
@ -28,5 +23,4 @@ struct exec
|
||||
#define N_DRSIZE(a) ((a).a_drsize)
|
||||
#define N_SYMSIZE(a) ((a).a_syms)
|
||||
|
||||
|
||||
#endif
|
||||
|
@ -17,6 +17,9 @@
|
||||
|
||||
struct task_struct;
|
||||
|
||||
#define STACK_TOP TASK_SIZE
|
||||
#define STACK_TOP_MAX STACK_TOP
|
||||
|
||||
/* This decides where the kernel will search for a free chunk of vm
|
||||
* space during mmap's.
|
||||
*/
|
||||
|
@ -17,11 +17,4 @@ struct exec
|
||||
#define N_DRSIZE(a) ((a).a_drsize)
|
||||
#define N_SYMSIZE(a) ((a).a_syms)
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
#define STACK_TOP TASK_SIZE
|
||||
#define STACK_TOP_MAX STACK_TOP
|
||||
|
||||
#endif
|
||||
|
||||
#endif /* __H8300_A_OUT_H__ */
|
||||
|
@ -39,6 +39,11 @@ static inline void wrusp(unsigned long usp) {
|
||||
*/
|
||||
#define TASK_SIZE (0xFFFFFFFFUL)
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#define STACK_TOP TASK_SIZE
|
||||
#define STACK_TOP_MAX STACK_TOP
|
||||
#endif
|
||||
|
||||
/*
|
||||
* This decides where the kernel will search for a free chunk of vm
|
||||
* space during mmap's. We won't be using it
|
||||
|
@ -29,7 +29,4 @@ struct exec {
|
||||
#define N_SYMSIZE(x) 0
|
||||
#define N_TXTOFF(x) 0
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#include <asm/ustack.h>
|
||||
#endif
|
||||
#endif /* _ASM_IA64_A_OUT_H */
|
||||
|
@ -17,11 +17,4 @@ struct exec
|
||||
#define N_DRSIZE(a) ((a).a_drsize)
|
||||
#define N_SYMSIZE(a) ((a).a_syms)
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
#define STACK_TOP TASK_SIZE
|
||||
#define STACK_TOP_MAX STACK_TOP
|
||||
|
||||
#endif
|
||||
|
||||
#endif /* _ASM_M32R_A_OUT_H */
|
||||
|
@ -60,6 +60,11 @@ extern struct cpuinfo_m32r cpu_data[];
|
||||
#define TASK_SIZE (0x00400000UL)
|
||||
#endif
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#define STACK_TOP TASK_SIZE
|
||||
#define STACK_TOP_MAX STACK_TOP
|
||||
#endif
|
||||
|
||||
/* This decides where the kernel will search for a free chunk of vm
|
||||
* space during mmap's.
|
||||
*/
|
||||
|
@ -17,11 +17,4 @@ struct exec
|
||||
#define N_DRSIZE(a) ((a).a_drsize)
|
||||
#define N_SYMSIZE(a) ((a).a_syms)
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
#define STACK_TOP TASK_SIZE
|
||||
#define STACK_TOP_MAX STACK_TOP
|
||||
|
||||
#endif
|
||||
|
||||
#endif /* __M68K_A_OUT_H__ */
|
||||
|
@ -41,6 +41,11 @@ static inline void wrusp(unsigned long usp)
|
||||
#define TASK_SIZE (0x0E000000UL)
|
||||
#endif
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#define STACK_TOP TASK_SIZE
|
||||
#define STACK_TOP_MAX STACK_TOP
|
||||
#endif
|
||||
|
||||
/* This decides where the kernel will search for a free chunk of vm
|
||||
* space during mmap's.
|
||||
*/
|
||||
|
@ -32,17 +32,4 @@ struct exec
|
||||
#define N_DRSIZE(a) ((a).a_drsize)
|
||||
#define N_SYMSIZE(a) ((a).a_syms)
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
#ifdef CONFIG_32BIT
|
||||
#define STACK_TOP TASK_SIZE
|
||||
#endif
|
||||
#ifdef CONFIG_64BIT
|
||||
#define STACK_TOP \
|
||||
(test_thread_flag(TIF_32BIT_ADDR) ? TASK_SIZE32 : TASK_SIZE)
|
||||
#endif
|
||||
#define STACK_TOP_MAX TASK_SIZE
|
||||
|
||||
#endif
|
||||
|
||||
#endif /* _ASM_A_OUT_H */
|
||||
|
@ -39,6 +39,7 @@ extern unsigned int vced_count, vcei_count;
|
||||
* so don't change it unless you know what you are doing.
|
||||
*/
|
||||
#define TASK_SIZE 0x7fff8000UL
|
||||
#define STACK_TOP TASK_SIZE
|
||||
|
||||
/*
|
||||
* This decides where the kernel will search for a free chunk of vm
|
||||
@ -57,6 +58,8 @@ extern unsigned int vced_count, vcei_count;
|
||||
*/
|
||||
#define TASK_SIZE32 0x7fff8000UL
|
||||
#define TASK_SIZE 0x10000000000UL
|
||||
#define STACK_TOP \
|
||||
(test_thread_flag(TIF_32BIT_ADDR) ? TASK_SIZE32 : TASK_SIZE)
|
||||
|
||||
/*
|
||||
* This decides where the kernel will search for a free chunk of vm
|
||||
@ -69,6 +72,10 @@ extern unsigned int vced_count, vcei_count;
|
||||
(test_tsk_thread_flag(tsk, TIF_32BIT_ADDR) ? TASK_SIZE32 : TASK_SIZE)
|
||||
#endif
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#define STACK_TOP_MAX TASK_SIZE
|
||||
#endif
|
||||
|
||||
#define NUM_FPU_REGS 32
|
||||
|
||||
typedef __u64 fpureg_t;
|
||||
|
@ -17,14 +17,4 @@ struct exec
|
||||
#define N_DRSIZE(a) ((a).a_drsize)
|
||||
#define N_SYMSIZE(a) ((a).a_syms)
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
/* XXX: STACK_TOP actually should be STACK_BOTTOM for parisc.
|
||||
* prumpf */
|
||||
|
||||
#define STACK_TOP TASK_SIZE
|
||||
#define STACK_TOP_MAX DEFAULT_TASK_SIZE
|
||||
|
||||
#endif
|
||||
|
||||
#endif /* __A_OUT_GNU_H__ */
|
||||
|
@ -47,6 +47,16 @@
|
||||
#define DEFAULT_MAP_BASE DEFAULT_MAP_BASE32
|
||||
#endif
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
/* XXX: STACK_TOP actually should be STACK_BOTTOM for parisc.
|
||||
* prumpf */
|
||||
|
||||
#define STACK_TOP TASK_SIZE
|
||||
#define STACK_TOP_MAX DEFAULT_TASK_SIZE
|
||||
|
||||
#endif
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
/*
|
||||
|
@ -17,23 +17,4 @@ struct exec
|
||||
#define N_DRSIZE(a) ((a).a_drsize)
|
||||
#define N_SYMSIZE(a) ((a).a_syms)
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#ifdef __powerpc64__
|
||||
|
||||
#define STACK_TOP_USER64 TASK_SIZE_USER64
|
||||
#define STACK_TOP_USER32 TASK_SIZE_USER32
|
||||
|
||||
#define STACK_TOP (test_thread_flag(TIF_32BIT) ? \
|
||||
STACK_TOP_USER32 : STACK_TOP_USER64)
|
||||
|
||||
#define STACK_TOP_MAX STACK_TOP_USER64
|
||||
|
||||
#else /* __powerpc64__ */
|
||||
|
||||
#define STACK_TOP TASK_SIZE
|
||||
#define STACK_TOP_MAX STACK_TOP
|
||||
|
||||
#endif /* __powerpc64__ */
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
#endif /* _ASM_POWERPC_A_OUT_H */
|
||||
|
@ -113,6 +113,25 @@ extern struct task_struct *last_task_used_spe;
|
||||
TASK_UNMAPPED_BASE_USER32 : TASK_UNMAPPED_BASE_USER64 )
|
||||
#endif
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#ifdef __powerpc64__
|
||||
|
||||
#define STACK_TOP_USER64 TASK_SIZE_USER64
|
||||
#define STACK_TOP_USER32 TASK_SIZE_USER32
|
||||
|
||||
#define STACK_TOP (test_thread_flag(TIF_32BIT) ? \
|
||||
STACK_TOP_USER32 : STACK_TOP_USER64)
|
||||
|
||||
#define STACK_TOP_MAX STACK_TOP_USER64
|
||||
|
||||
#else /* __powerpc64__ */
|
||||
|
||||
#define STACK_TOP TASK_SIZE
|
||||
#define STACK_TOP_MAX STACK_TOP
|
||||
|
||||
#endif /* __powerpc64__ */
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
typedef struct {
|
||||
unsigned long seg;
|
||||
} mm_segment_t;
|
||||
|
@ -29,11 +29,4 @@ struct exec
|
||||
#define N_DRSIZE(a) ((a).a_drsize)
|
||||
#define N_SYMSIZE(a) ((a).a_syms)
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
#define STACK_TOP TASK_SIZE
|
||||
#define STACK_TOP_MAX DEFAULT_TASK_SIZE
|
||||
|
||||
#endif
|
||||
|
||||
#endif /* __A_OUT_GNU_H__ */
|
||||
|
@ -78,6 +78,13 @@ extern int get_cpu_capability(unsigned int *);
|
||||
|
||||
#endif /* __s390x__ */
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
#define STACK_TOP TASK_SIZE
|
||||
#define STACK_TOP_MAX DEFAULT_TASK_SIZE
|
||||
|
||||
#endif
|
||||
|
||||
#define HAVE_ARCH_PICK_MMAP_LAYOUT
|
||||
|
||||
typedef struct {
|
||||
|
@ -17,11 +17,4 @@ struct exec
|
||||
#define N_DRSIZE(a) ((a).a_drsize)
|
||||
#define N_SYMSIZE(a) ((a).a_syms)
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
#define STACK_TOP TASK_SIZE
|
||||
#define STACK_TOP_MAX STACK_TOP
|
||||
|
||||
#endif
|
||||
|
||||
#endif /* __ASM_SH_A_OUT_H */
|
||||
|
@ -50,6 +50,9 @@ extern struct sh_cpuinfo cpu_data[];
|
||||
*/
|
||||
#define TASK_SIZE 0x7c000000UL
|
||||
|
||||
#define STACK_TOP TASK_SIZE
|
||||
#define STACK_TOP_MAX STACK_TOP
|
||||
|
||||
/* This decides where the kernel will search for a free chunk of vm
|
||||
* space during mmap's.
|
||||
*/
|
||||
|
@ -83,6 +83,9 @@ extern struct sh_cpuinfo cpu_data[];
|
||||
*/
|
||||
#define TASK_SIZE 0x7ffff000UL
|
||||
|
||||
#define STACK_TOP TASK_SIZE
|
||||
#define STACK_TOP_MAX STACK_TOP
|
||||
|
||||
/* This decides where the kernel will search for a free chunk of vm
|
||||
* space during mmap's.
|
||||
*/
|
||||
|
@ -87,13 +87,4 @@ struct relocation_info /* used when header.a_machtype == M_SPARC */
|
||||
|
||||
#define N_RELOCATION_INFO_DECLARED 1
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
#include <asm/page.h>
|
||||
|
||||
#define STACK_TOP (PAGE_OFFSET - PAGE_SIZE)
|
||||
#define STACK_TOP_MAX STACK_TOP
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
#endif /* __SPARC_A_OUT_H__ */
|
||||
|
@ -33,6 +33,10 @@
|
||||
* we can make our access_ok test faster
|
||||
*/
|
||||
#define TASK_SIZE PAGE_OFFSET
|
||||
#ifdef __KERNEL__
|
||||
#define STACK_TOP (PAGE_OFFSET - PAGE_SIZE)
|
||||
#define STACK_TOP_MAX STACK_TOP
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
struct task_struct;
|
||||
|
||||
|
@ -93,18 +93,6 @@ struct relocation_info /* used when header.a_machtype == M_SPARC */
|
||||
|
||||
#define N_RELOCATION_INFO_DECLARED 1
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
#define STACK_TOP32 ((1UL << 32UL) - PAGE_SIZE)
|
||||
#define STACK_TOP64 (0x0000080000000000UL - (1UL << 32UL))
|
||||
|
||||
#define STACK_TOP (test_thread_flag(TIF_32BIT) ? \
|
||||
STACK_TOP32 : STACK_TOP64)
|
||||
|
||||
#define STACK_TOP_MAX STACK_TOP64
|
||||
|
||||
#endif
|
||||
|
||||
#endif /* !(__ASSEMBLY__) */
|
||||
|
||||
#endif /* !(__SPARC64_A_OUT_H__) */
|
||||
|
@ -36,7 +36,19 @@
|
||||
#else
|
||||
#define VPTE_SIZE (1 << (VA_BITS - PAGE_SHIFT + 3))
|
||||
#endif
|
||||
|
||||
#define TASK_SIZE ((unsigned long)-VPTE_SIZE)
|
||||
#ifdef __KERNEL__
|
||||
|
||||
#define STACK_TOP32 ((1UL << 32UL) - PAGE_SIZE)
|
||||
#define STACK_TOP64 (0x0000080000000000UL - (1UL << 32UL))
|
||||
|
||||
#define STACK_TOP (test_thread_flag(TIF_32BIT) ? \
|
||||
STACK_TOP32 : STACK_TOP64)
|
||||
|
||||
#define STACK_TOP_MAX STACK_TOP64
|
||||
|
||||
#endif
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
|
@ -8,7 +8,7 @@
|
||||
#ifndef _SPARC64_USER_H
|
||||
#define _SPARC64_USER_H
|
||||
|
||||
#include <asm/a.out.h>
|
||||
#include <linux/a.out.h>
|
||||
struct sunos_regs {
|
||||
unsigned int psr, pc, npc, y;
|
||||
unsigned int regs[15];
|
||||
|
@ -8,15 +8,4 @@
|
||||
|
||||
#include "asm/arch/a.out.h"
|
||||
|
||||
#undef STACK_TOP
|
||||
#undef STACK_TOP_MAX
|
||||
|
||||
extern unsigned long stacksizelim;
|
||||
|
||||
#define STACK_ROOM (stacksizelim)
|
||||
|
||||
#define STACK_TOP (TASK_SIZE - 2 * PAGE_SIZE)
|
||||
|
||||
#define STACK_TOP_MAX STACK_TOP
|
||||
|
||||
#endif
|
||||
|
@ -94,6 +94,15 @@ static inline void mm_copy_segments(struct mm_struct *from_mm,
|
||||
*/
|
||||
#define TASK_SIZE (CONFIG_TOP_ADDR & PGDIR_MASK)
|
||||
|
||||
#undef STACK_TOP
|
||||
#undef STACK_TOP_MAX
|
||||
|
||||
extern unsigned long stacksizelim;
|
||||
|
||||
#define STACK_ROOM (stacksizelim)
|
||||
#define STACK_TOP (TASK_SIZE - 2 * PAGE_SIZE)
|
||||
#define STACK_TOP_MAX STACK_TOP
|
||||
|
||||
/* This decides where the kernel will search for a free chunk of vm
|
||||
* space during mmap's.
|
||||
*/
|
||||
|
@ -17,14 +17,4 @@ struct exec
|
||||
#define N_DRSIZE(a) ((a).a_drsize)
|
||||
#define N_SYMSIZE(a) ((a).a_syms)
|
||||
|
||||
#ifdef __KERNEL__
|
||||
# include <linux/thread_info.h>
|
||||
# define STACK_TOP TASK_SIZE
|
||||
# ifdef CONFIG_X86_32
|
||||
# define STACK_TOP_MAX STACK_TOP
|
||||
# else
|
||||
# define STACK_TOP_MAX TASK_SIZE64
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#endif /* _ASM_X86_A_OUT_H */
|
||||
|
@ -719,6 +719,8 @@ static inline void prefetchw(const void *x)
|
||||
* User space process size: 3GB (default).
|
||||
*/
|
||||
#define TASK_SIZE (PAGE_OFFSET)
|
||||
#define STACK_TOP TASK_SIZE
|
||||
#define STACK_TOP_MAX STACK_TOP
|
||||
|
||||
#define INIT_THREAD { \
|
||||
.sp0 = sizeof(init_stack) + (long)&init_stack, \
|
||||
@ -802,6 +804,9 @@ extern unsigned long thread_saved_pc(struct task_struct *tsk);
|
||||
#define TASK_SIZE_OF(child) ((test_tsk_thread_flag(child, TIF_IA32)) ? \
|
||||
IA32_PAGE_OFFSET : TASK_SIZE64)
|
||||
|
||||
#define STACK_TOP TASK_SIZE
|
||||
#define STACK_TOP_MAX TASK_SIZE64
|
||||
|
||||
#define INIT_THREAD { \
|
||||
.sp0 = (unsigned long)&init_stack + sizeof(init_stack) \
|
||||
}
|
||||
|
@ -14,11 +14,6 @@
|
||||
#ifndef _XTENSA_A_OUT_H
|
||||
#define _XTENSA_A_OUT_H
|
||||
|
||||
/* Note: the kernel needs the a.out definitions, even if only ELF is used. */
|
||||
|
||||
#define STACK_TOP TASK_SIZE
|
||||
#define STACK_TOP_MAX STACK_TOP
|
||||
|
||||
struct exec
|
||||
{
|
||||
unsigned long a_info;
|
||||
|
@ -34,6 +34,8 @@
|
||||
*/
|
||||
|
||||
#define TASK_SIZE __XTENSA_UL_CONST(0x40000000)
|
||||
#define STACK_TOP TASK_SIZE
|
||||
#define STACK_TOP_MAX STACK_TOP
|
||||
|
||||
/*
|
||||
* General exception cause assigned to debug exceptions. Debug exceptions go
|
||||
|
Loading…
Reference in New Issue
Block a user