1/* 2 * linux/include/asm-arm/arch-rpc/memory.h 3 * 4 * Copyright (C) 1996,1997,1998 Russell King. 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License version 2 as 8 * published by the Free Software Foundation. 9 * 10 * Changelog: 11 * 20-Oct-1996 RMK Created 12 * 31-Dec-1997 RMK Fixed definitions to reduce warnings 13 * 11-Jan-1998 RMK Uninlined to reduce hits on cache 14 * 08-Feb-1998 RMK Added __virt_to_bus and __bus_to_virt 15 * 21-Mar-1999 RMK Renamed to memory.h 16 * RMK Added TASK_SIZE and PAGE_OFFSET 17 */ 18#ifndef __ASM_ARCH_MMU_H 19#define __ASM_ARCH_MMU_H 20 21/* 22 * Task size: 3GB 23 */ 24#define TASK_SIZE (0xc0000000UL) 25#define TASK_SIZE_26 (0x04000000UL) 26 27/* 28 * This decides where the kernel will search for a free chunk of vm 29 * space during mmap's. 30 */ 31#define TASK_UNMAPPED_BASE (TASK_SIZE / 3) 32 33/* 34 * Page offset: 3GB 35 */ 36#define PAGE_OFFSET (0xc0000000UL) 37#define PHYS_OFFSET (0x10000000UL) 38 39#define __virt_to_phys__is_a_macro 40#define __virt_to_phys(vpage) ((vpage) - PAGE_OFFSET + PHYS_OFFSET) 41#define __phys_to_virt__is_a_macro 42#define __phys_to_virt(ppage) ((ppage) + PAGE_OFFSET - PHYS_OFFSET) 43 44/* 45 * These are exactly the same on the RiscPC as the 46 * physical memory view. 47 */ 48#define __virt_to_bus__is_a_macro 49#define __virt_to_bus(x) __virt_to_phys(x) 50#define __bus_to_virt__is_a_macro 51#define __bus_to_virt(x) __phys_to_virt(x) 52 53#define PHYS_TO_NID(addr) (0) 54 55#endif 56