1*2688b459Schristos /* $NetBSD: vmparam.h,v 1.4 2019/03/27 17:15:29 christos Exp $ */ 2d7b7d02eSkiyohara 3d7b7d02eSkiyohara /* 4d7b7d02eSkiyohara * Copyright (c) 1988 The Regents of the University of California. 5d7b7d02eSkiyohara * All rights reserved. 6d7b7d02eSkiyohara * 7d7b7d02eSkiyohara * Redistribution and use in source and binary forms, with or without 8d7b7d02eSkiyohara * modification, are permitted provided that the following conditions 9d7b7d02eSkiyohara * are met: 10d7b7d02eSkiyohara * 1. Redistributions of source code must retain the above copyright 11d7b7d02eSkiyohara * notice, this list of conditions and the following disclaimer. 12d7b7d02eSkiyohara * 2. Redistributions in binary form must reproduce the above copyright 13d7b7d02eSkiyohara * notice, this list of conditions and the following disclaimer in the 14d7b7d02eSkiyohara * documentation and/or other materials provided with the distribution. 15d7b7d02eSkiyohara * 3. Neither the name of the University nor the names of its contributors 16d7b7d02eSkiyohara * may be used to endorse or promote products derived from this software 17d7b7d02eSkiyohara * without specific prior written permission. 18d7b7d02eSkiyohara * 19d7b7d02eSkiyohara * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 20d7b7d02eSkiyohara * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 21d7b7d02eSkiyohara * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 22d7b7d02eSkiyohara * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 23d7b7d02eSkiyohara * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 24d7b7d02eSkiyohara * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 25d7b7d02eSkiyohara * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 26d7b7d02eSkiyohara * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27d7b7d02eSkiyohara * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 28d7b7d02eSkiyohara * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 29d7b7d02eSkiyohara * SUCH DAMAGE. 30d7b7d02eSkiyohara */ 31d7b7d02eSkiyohara 32d7b7d02eSkiyohara #ifndef _EPOC32_VMPARAM_H_ 33d7b7d02eSkiyohara #define _EPOC32_VMPARAM_H_ 34d7b7d02eSkiyohara 35d7b7d02eSkiyohara #include <arm/arm32/vmparam.h> 36d7b7d02eSkiyohara 37d7b7d02eSkiyohara /* 38d7b7d02eSkiyohara * Address space constants 39d7b7d02eSkiyohara */ 40d7b7d02eSkiyohara 41d7b7d02eSkiyohara /* 42d7b7d02eSkiyohara * The line between user space and kernel space 43d7b7d02eSkiyohara * Mappings >= KERNEL_BASE are constant across all processes 44d7b7d02eSkiyohara */ 45d7b7d02eSkiyohara #define KERNEL_BASE 0xc0000000 46d7b7d02eSkiyohara 47d7b7d02eSkiyohara /* 48d7b7d02eSkiyohara * Size of User Raw I/O map 49d7b7d02eSkiyohara */ 50d7b7d02eSkiyohara 51d7b7d02eSkiyohara #define USRIOSIZE 300 52d7b7d02eSkiyohara 53d7b7d02eSkiyohara /* virtual sizes (bytes) for various kernel submaps */ 54d7b7d02eSkiyohara 55d7b7d02eSkiyohara #define VM_PHYS_SIZE (USRIOSIZE*PAGE_SIZE) 56d7b7d02eSkiyohara 57d7b7d02eSkiyohara /* 58d7b7d02eSkiyohara * max number of non-contig chunks of physical RAM you can have 59d7b7d02eSkiyohara */ 60d7b7d02eSkiyohara 61d7b7d02eSkiyohara #define VM_PHYSSEG_MAX 32 62d7b7d02eSkiyohara 63d7b7d02eSkiyohara /* 64d7b7d02eSkiyohara * when converting a physical address to a vm_page structure, we 65d7b7d02eSkiyohara * want to use a binary search on the chunks of physical memory 66d7b7d02eSkiyohara * to find our RAM 67d7b7d02eSkiyohara */ 68d7b7d02eSkiyohara 69d7b7d02eSkiyohara #define VM_PHYSSEG_STRAT VM_PSTRAT_BSEARCH 70d7b7d02eSkiyohara 71d7b7d02eSkiyohara /* 72d7b7d02eSkiyohara * we support 2 free lists: 73d7b7d02eSkiyohara * 74d7b7d02eSkiyohara * - DEFAULT for all systems 75d7b7d02eSkiyohara */ 76d7b7d02eSkiyohara 77d7b7d02eSkiyohara #define VM_NFREELIST 1 78d7b7d02eSkiyohara #define VM_FREELIST_DEFAULT 0 79d7b7d02eSkiyohara 80d7b7d02eSkiyohara #endif /* _EPOC32_VMPARAM_H_ */ 81