]> git.sur5r.net Git - u-boot/blob - arch/mips/include/asm/mach-generic/spaces.h
SPDX: Convert all of our single license tags to Linux Kernel style
[u-boot] / arch / mips / include / asm / mach-generic / spaces.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Copyright (C) 1994 - 1999, 2000, 03, 04 Ralf Baechle
4  * Copyright (C) 2000, 2002  Maciej W. Rozycki
5  * Copyright (C) 1990, 1999, 2000 Silicon Graphics, Inc.
6  */
7 #ifndef _ASM_MACH_GENERIC_SPACES_H
8 #define _ASM_MACH_GENERIC_SPACES_H
9
10 #include <asm/const.h>
11
12 /*
13  * This gives the physical RAM offset.
14  */
15 #ifndef PHYS_OFFSET
16 #define PHYS_OFFSET             _AC(0, UL)
17 #endif
18
19 #ifdef CONFIG_32BIT
20 #ifdef CONFIG_KVM_GUEST
21 #define CAC_BASE                _AC(0x40000000, UL)
22 #else
23 #define CAC_BASE                _AC(0x80000000, UL)
24 #endif
25 #ifndef IO_BASE
26 #define IO_BASE                 _AC(0xa0000000, UL)
27 #endif
28 #ifndef UNCAC_BASE
29 #define UNCAC_BASE              _AC(0xa0000000, UL)
30 #endif
31
32 #ifndef MAP_BASE
33 #ifdef CONFIG_KVM_GUEST
34 #define MAP_BASE                _AC(0x60000000, UL)
35 #else
36 #define MAP_BASE                _AC(0xc0000000, UL)
37 #endif
38 #endif
39
40 /*
41  * Memory above this physical address will be considered highmem.
42  */
43 #ifndef HIGHMEM_START
44 #define HIGHMEM_START           _AC(0x20000000, UL)
45 #endif
46
47 #endif /* CONFIG_32BIT */
48
49 #ifdef CONFIG_64BIT
50
51 #ifndef CAC_BASE
52 #ifdef CONFIG_DMA_NONCOHERENT
53 #define CAC_BASE                _AC(0x9800000000000000, UL)
54 #else
55 #define CAC_BASE                _AC(0xa800000000000000, UL)
56 #endif
57 #endif
58
59 #ifndef IO_BASE
60 #define IO_BASE                 _AC(0x9000000000000000, UL)
61 #endif
62
63 #ifndef UNCAC_BASE
64 #define UNCAC_BASE              _AC(0x9000000000000000, UL)
65 #endif
66
67 #ifndef MAP_BASE
68 #define MAP_BASE                _AC(0xc000000000000000, UL)
69 #endif
70
71 /*
72  * Memory above this physical address will be considered highmem.
73  * Fixme: 59 bits is a fictive number and makes assumptions about processors
74  * in the distant future.  Nobody will care for a few years :-)
75  */
76 #ifndef HIGHMEM_START
77 #define HIGHMEM_START           (_AC(1, UL) << _AC(59, UL))
78 #endif
79
80 #define TO_PHYS(x)              (             ((x) & TO_PHYS_MASK))
81 #define TO_CAC(x)               (CAC_BASE   | ((x) & TO_PHYS_MASK))
82 #define TO_UNCAC(x)             (UNCAC_BASE | ((x) & TO_PHYS_MASK))
83
84 #endif /* CONFIG_64BIT */
85
86 /*
87  * This handles the memory map.
88  */
89 #ifndef PAGE_OFFSET
90 #define PAGE_OFFSET             (CAC_BASE + PHYS_OFFSET)
91 #endif
92
93 #ifndef FIXADDR_TOP
94 #ifdef CONFIG_KVM_GUEST
95 #define FIXADDR_TOP             ((unsigned long)(long)(int)0x7ffe0000)
96 #else
97 #define FIXADDR_TOP             ((unsigned long)(long)(int)0xfffe0000)
98 #endif
99 #endif
100
101 #endif /* __ASM_MACH_GENERIC_SPACES_H */