Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
at v2.6.22 71 lines 1.8 kB view raw
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_GENERIC_SPACES_H 11#define _ASM_MACH_GENERIC_SPACES_H 12 13 14#ifdef CONFIG_32BIT 15 16#define CAC_BASE 0x80000000 17#define IO_BASE 0xa0000000 18#define UNCAC_BASE 0xa0000000 19#define MAP_BASE 0xc0000000 20 21/* 22 * This handles the memory map. 23 * We handle pages at KSEG0 for kernels with 32 bit address space. 24 */ 25#define PAGE_OFFSET 0x80000000UL 26 27/* 28 * Memory above this physical address will be considered highmem. 29 */ 30#ifndef HIGHMEM_START 31#define HIGHMEM_START 0x20000000UL 32#endif 33 34#endif /* CONFIG_32BIT */ 35 36#ifdef CONFIG_64BIT 37 38/* 39 * This handles the memory map. 40 */ 41#ifdef CONFIG_DMA_NONCOHERENT 42#define PAGE_OFFSET 0x9800000000000000UL 43#else 44#define PAGE_OFFSET 0xa800000000000000UL 45#endif 46 47/* 48 * Memory above this physical address will be considered highmem. 49 * Fixme: 59 bits is a fictive number and makes assumptions about processors 50 * in the distant future. Nobody will care for a few years :-) 51 */ 52#ifndef HIGHMEM_START 53#define HIGHMEM_START (1UL << 59UL) 54#endif 55 56#ifdef CONFIG_DMA_NONCOHERENT 57#define CAC_BASE 0x9800000000000000UL 58#else 59#define CAC_BASE 0xa800000000000000UL 60#endif 61#define IO_BASE 0x9000000000000000UL 62#define UNCAC_BASE 0x9000000000000000UL 63#define MAP_BASE 0xc000000000000000UL 64 65#define TO_PHYS(x) ( ((x) & TO_PHYS_MASK)) 66#define TO_CAC(x) (CAC_BASE | ((x) & TO_PHYS_MASK)) 67#define TO_UNCAC(x) (UNCAC_BASE | ((x) & TO_PHYS_MASK)) 68 69#endif /* CONFIG_64BIT */ 70 71#endif /* __ASM_MACH_GENERIC_SPACES_H */