vmparam.h revision 1.8
11.8Schristos/*	$NetBSD: vmparam.h,v 1.8 2019/03/27 17:15:29 christos Exp $	*/
21.1Sgavan
31.1Sgavan/*
41.1Sgavan * Copyright (c) 1988 The Regents of the University of California.
51.1Sgavan * All rights reserved.
61.1Sgavan *
71.1Sgavan * Redistribution and use in source and binary forms, with or without
81.1Sgavan * modification, are permitted provided that the following conditions
91.1Sgavan * are met:
101.1Sgavan * 1. Redistributions of source code must retain the above copyright
111.1Sgavan *    notice, this list of conditions and the following disclaimer.
121.1Sgavan * 2. Redistributions in binary form must reproduce the above copyright
131.1Sgavan *    notice, this list of conditions and the following disclaimer in the
141.1Sgavan *    documentation and/or other materials provided with the distribution.
151.1Sgavan * 3. Neither the name of the University nor the names of its contributors
161.1Sgavan *    may be used to endorse or promote products derived from this software
171.1Sgavan *    without specific prior written permission.
181.1Sgavan *
191.1Sgavan * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
201.1Sgavan * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
211.1Sgavan * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
221.1Sgavan * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
231.1Sgavan * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
241.1Sgavan * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
251.1Sgavan * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
261.1Sgavan * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
271.1Sgavan * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
281.1Sgavan * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
291.1Sgavan * SUCH DAMAGE.
301.1Sgavan */
311.1Sgavan
321.1Sgavan#ifndef	_IYONIX_VMPARAM_H_
331.1Sgavan#define	_IYONIX_VMPARAM_H_
341.1Sgavan
351.1Sgavan#include <arm/arm32/vmparam.h>
361.1Sgavan
371.1Sgavan/*
381.1Sgavan * Address space constants
391.1Sgavan */
401.1Sgavan
411.1Sgavan/*
421.1Sgavan * The line between user space and kernel space
431.1Sgavan * Mappings >= KERNEL_BASE are constant across all processes
441.1Sgavan */
451.1Sgavan#define	KERNEL_BASE		0xf0000000
461.1Sgavan
471.1Sgavan/*
481.1Sgavan * Size of User Raw I/O map
491.1Sgavan */
501.1Sgavan
511.1Sgavan#define USRIOSIZE       300
521.1Sgavan
531.1Sgavan/* virtual sizes (bytes) for various kernel submaps */
541.1Sgavan
551.1Sgavan#define VM_PHYS_SIZE		(USRIOSIZE*PAGE_SIZE)
561.1Sgavan
571.1Sgavan/*
581.1Sgavan * max number of non-contig chunks of physical RAM you can have
591.1Sgavan */
601.1Sgavan
611.1Sgavan#define	VM_PHYSSEG_MAX		32
621.1Sgavan
631.1Sgavan/*
641.1Sgavan * when converting a physical address to a vm_page structure, we
651.1Sgavan * want to use a binary search on the chunks of physical memory
661.1Sgavan * to find our RAM
671.1Sgavan */
681.1Sgavan
691.1Sgavan#define	VM_PHYSSEG_STRAT	VM_PSTRAT_BSEARCH
701.1Sgavan
711.1Sgavan/*
721.1Sgavan * we support 2 free lists:
731.1Sgavan *
741.1Sgavan *	- DEFAULT for all systems
751.7Sskrll *	- ISADMA for the ISA DMA range
761.1Sgavan */
771.1Sgavan
781.1Sgavan#define	VM_NFREELIST		2
791.1Sgavan#define	VM_FREELIST_DEFAULT	0
801.1Sgavan#define	VM_FREELIST_ISADMA	1
811.1Sgavan
821.1Sgavan#endif	/* _IYONIX_VMPARAM_H_ */
83