minix/sys/arch/evbarm/include/vmparam.h
Lionel Sambuc b1c4ba4ab6 ARM updates
Due to the ABI we are using we have to use the earm architecture
moniker for the build system to behave correctly. This involves
then some headers to move around.

There is also a few related Makefile updates as well as minor
source code corrections.
2013-01-17 10:03:58 +01:00

100 lines
2.9 KiB
C

/* $NetBSD: vmparam.h,v 1.28 2012/02/18 16:29:37 christos Exp $ */
/*
* Copyright (c) 1988 The Regents of the University of California.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef _EVBARM_VMPARAM_H_
#define _EVBARM_VMPARAM_H_
#if defined(__minix)
#include <arm/arm32/vmparam.h>
#endif /* defined(__minix) */
#if defined(_KERNEL) || defined(_KMEMUSER)
#include <arm/arm32/vmparam.h>
/*
* Address space constants
*/
/*
* The line between user space and kernel space
* Mappings >= KERNEL_BASE are constant across all processes
*/
#ifdef KERNEL_BASE_EXT
#define KERNEL_BASE KERNEL_BASE_EXT
#else
#define KERNEL_BASE 0x80000000
#endif
/*
* Override the default pager_map size, there's not enough KVA.
*/
#define PAGER_MAP_DEFAULT_SIZE (4 * 1024 * 1024)
/*
* Size of User Raw I/O map
*/
#define USRIOSIZE 300
/* virtual sizes (bytes) for various kernel submaps */
#define VM_PHYS_SIZE (USRIOSIZE*PAGE_SIZE)
/*
* max number of non-contig chunks of physical RAM you can have
*/
#define VM_PHYSSEG_MAX 32
/*
* when converting a physical address to a vm_page structure, we
* want to use a binary search on the chunks of physical memory
* to find our RAM
*/
#define VM_PHYSSEG_STRAT VM_PSTRAT_BSEARCH
/*
* we support 2 free lists:
*
* - DEFAULT for all systems
* - ISADMA for the ISA DMA range on Sharks only
*/
#define VM_NFREELIST 2
#define VM_FREELIST_DEFAULT 0
#define VM_FREELIST_ISADMA 1
#endif /* _KERNEL || _KMEMUSER */
#endif /* _EVBARM_VMPARAM_H_ */