This commit was manufactured by cvs2svn to create branch 'vserver'.
[linux-2.6.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 Ralf Baechle
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 #include <linux/config.h>
14
15 /*
16  * This handles the memory map.
17  */
18 #define PAGE_OFFSET             0xffffffff80000000
19
20 /*
21  * Memory above this physical address will be considered highmem.
22  * Fixme: 59 bits is a fictive number and makes assumptions about processors
23  * in the distant future.  Nobody will care for a few years :-)
24  */
25 #ifndef HIGHMEM_START
26 #define HIGHMEM_START           (1UL << 59UL)
27 #endif
28
29 #ifdef CONFIG_DMA_NONCOHERENT
30 #define CAC_BASE                0x9800000000000000
31 #else
32 #define CAC_BASE                0xa800000000000000
33 #endif
34 #define IO_BASE                 0x9000000000000000
35 #define UNCAC_BASE              0x9000000000000000
36 #define MAP_BASE                0xc000000000000000
37
38 #define TO_PHYS(x)              (             ((x) & TO_PHYS_MASK))
39 #define TO_CAC(x)               (CAC_BASE   | ((x) & TO_PHYS_MASK))
40 #define TO_UNCAC(x)             (UNCAC_BASE | ((x) & TO_PHYS_MASK))
41
42 #endif /* __ASM_MACH_IP32_SPACES_H */