123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- /*
- * This file is subject to the terms and conditions of the GNU General Public
- * License. See the file "COPYING" in the main directory of this archive
- * for more details.
- *
- * Copyright (C) 1994 Waldorf GMBH
- * Copyright (C) 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003 Ralf Baechle
- * Copyright (C) 1996 Paul M. Antoine
- * Copyright (C) 1999, 2000 Silicon Graphics, Inc.
- */
- #ifndef _ASM_PROCESSOR_H
- #define _ASM_PROCESSOR_H
- #include <linux/cpumask.h>
- #include <linux/threads.h>
- #include <asm/cachectl.h>
- #include <asm/cpu.h>
- #include <asm/cpu-info.h>
- #include <asm/mipsregs.h>
- #include <asm/prefetch.h>
- /*
- * Return current * instruction pointer ("program counter").
- */
- #define current_text_addr() ({ __label__ _l; _l: &&_l;})
- /*
- * System setup and hardware flags..
- */
- extern void (*cpu_wait)(void);
- extern unsigned int vced_count, vcei_count;
- /*
- * MIPS does have an arch_pick_mmap_layout()
- */
- #define HAVE_ARCH_PICK_MMAP_LAYOUT 1
- /*
- * A special page (the vdso) is mapped into all processes at the very
- * top of the virtual memory space.
- */
- #define SPECIAL_PAGES_SIZE PAGE_SIZE
- #ifdef CONFIG_32BIT
- /*
- * User space process size: 2GB. This is hardcoded into a few places,
- * so don't change it unless you know what you are doing.
- */
- #define TASK_SIZE 0x7fff8000UL
- #ifdef __KERNEL__
- #define STACK_TOP_MAX TASK_SIZE
|