Linux-2.6.12-rc2
[linux-flexiantxendom0-natty.git] / include / asm-mips / mach-ip32 / spaces.h
1 /*
2  * This file is subject to the terms and conditions of the GNU General Public
3  * License.  See the file "COPYING" in the main directory of this archive
4  * for more details.
5  *
6  * Copyright (C) 1994 - 1999, 2000, 03, 04, 05 Ralf Baechle (ralf@linux-mips.org)
7  * Copyright (C) 2000, 2002  Maciej W. Rozycki
8  * Copyright (C) 1990, 1999, 2000 Silicon Graphics, Inc.
9  */
10 #ifndef _ASM_MACH_IP32_SPACES_H
11 #define _ASM_MACH_IP32_SPACES_H
12
13 /*
14  * Memory above this physical address will be considered highmem.
15  * Fixme: 59 bits is a fictive number and makes assumptions about processors
16  * in the distant future.  Nobody will care for a few years :-)
17  */
18 #ifndef HIGHMEM_START
19 #define HIGHMEM_START           (1UL << 59UL)
20 #endif
21
22 #define CAC_BASE                0x9800000000000000
23 #define IO_BASE                 0x9000000000000000
24 #define UNCAC_BASE              0x9000000000000000
25 #define MAP_BASE                0xc000000000000000
26
27 #define TO_PHYS(x)              (             ((x) & TO_PHYS_MASK))
28 #define TO_CAC(x)               (CAC_BASE   | ((x) & TO_PHYS_MASK))
29 #define TO_UNCAC(x)             (UNCAC_BASE | ((x) & TO_PHYS_MASK))
30
31 /*
32  * This handles the memory map.
33  */
34 #define PAGE_OFFSET             CAC_BASE
35
36 #endif /* __ASM_MACH_IP32_SPACES_H */