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_IP22_SPACES_H 11#define _ASM_MACH_IP22_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#define PAGE_OFFSET 0xffffffff80000000UL 38 39#ifndef HIGHMEM_START 40#define HIGHMEM_START (1UL << 59UL) 41#endif 42 43#define CAC_BASE 0xffffffff80000000 44#define IO_BASE 0xffffffffa0000000 45#define UNCAC_BASE 0xffffffffa0000000 46#define MAP_BASE 0xc000000000000000 47 48#define TO_PHYS(x) ( ((x) & TO_PHYS_MASK)) 49#define TO_CAC(x) (CAC_BASE | ((x) & TO_PHYS_MASK)) 50#define TO_UNCAC(x) (UNCAC_BASE | ((x) & TO_PHYS_MASK)) 51 52#endif /* CONFIG_64BIT */ 53 54#endif /* __ASM_MACH_IP22_SPACES_H */ 55