Annotation of sys/arch/sh/include/vmparam.h, Revision 1.1
1.1 ! nbrk 1: /* $OpenBSD: vmparam.h,v 1.3 2007/05/20 20:16:08 miod Exp $ */
! 2: /* $NetBSD: vmparam.h,v 1.17 2006/03/04 01:55:03 uwe Exp $ */
! 3:
! 4: /*-
! 5: * Copyright (c) 2002 The NetBSD Foundation, Inc.
! 6: * All rights reserved.
! 7: *
! 8: * This code is derived from software contributed to The NetBSD Foundation
! 9: * by UCHIYAMA Yasushi.
! 10: *
! 11: * Redistribution and use in source and binary forms, with or without
! 12: * modification, are permitted provided that the following conditions
! 13: * are met:
! 14: * 1. Redistributions of source code must retain the above copyright
! 15: * notice, this list of conditions and the following disclaimer.
! 16: * 2. Redistributions in binary form must reproduce the above copyright
! 17: * notice, this list of conditions and the following disclaimer in the
! 18: * documentation and/or other materials provided with the distribution.
! 19: * 3. All advertising materials mentioning features or use of this software
! 20: * must display the following acknowledgement:
! 21: * This product includes software developed by the NetBSD
! 22: * Foundation, Inc. and its contributors.
! 23: * 4. Neither the name of The NetBSD Foundation nor the names of its
! 24: * contributors may be used to endorse or promote products derived
! 25: * from this software without specific prior written permission.
! 26: *
! 27: * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
! 28: * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
! 29: * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
! 30: * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
! 31: * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
! 32: * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
! 33: * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
! 34: * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
! 35: * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
! 36: * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
! 37: * POSSIBILITY OF SUCH DAMAGE.
! 38: */
! 39:
! 40: #ifndef _SH_VMPARAM_H_
! 41: #define _SH_VMPARAM_H_
! 42: #include <sys/queue.h>
! 43:
! 44: /* Virtual address map. */
! 45: #define VM_MIN_ADDRESS ((vaddr_t)0)
! 46: #define VM_MAXUSER_ADDRESS ((vaddr_t)0x7ffff000)
! 47: #define VM_MAX_ADDRESS ((vaddr_t)0x7ffff000)
! 48: #define VM_MIN_KERNEL_ADDRESS ((vaddr_t)0xc0000000)
! 49: #define VM_MAX_KERNEL_ADDRESS ((vaddr_t)0xe0000000)
! 50:
! 51: /* top of stack */
! 52: #define USRSTACK VM_MAXUSER_ADDRESS
! 53:
! 54: /* Virtual memory resoruce limit. */
! 55: #define MAXTSIZ (64 * 1024 * 1024) /* max text size */
! 56: #ifndef MAXDSIZ
! 57: #define MAXDSIZ (512 * 1024 * 1024) /* max data size */
! 58: #endif
! 59: #ifndef MAXSSIZ
! 60: #define MAXSSIZ (32 * 1024 * 1024) /* max stack size */
! 61: #endif
! 62:
! 63: /* initial data size limit */
! 64: #ifndef DFLDSIZ
! 65: #define DFLDSIZ (128 * 1024 * 1024)
! 66: #endif
! 67: /* initial stack size limit */
! 68: #ifndef DFLSSIZ
! 69: #define DFLSSIZ (2 * 1024 * 1024)
! 70: #endif
! 71:
! 72: #define STACKGAP_RANDOM (256 * 1024)
! 73:
! 74: /*
! 75: * Size of shared memory map
! 76: */
! 77: #ifndef SHMMAXPGS
! 78: #define SHMMAXPGS 1024
! 79: #endif
! 80:
! 81: /* Size of user raw I/O map */
! 82: #ifndef USRIOSIZE
! 83: #define USRIOSIZE (MAXBSIZE / PAGE_SIZE * 8)
! 84: #endif
! 85:
! 86: #define VM_PHYS_SIZE (USRIOSIZE * PAGE_SIZE)
! 87:
! 88: /* pmap-specific data store in the vm_page structure. */
! 89: #define __HAVE_VM_PAGE_MD
! 90: #define PVH_REFERENCED 1
! 91: #define PVH_MODIFIED 2
! 92:
! 93: #ifndef _LOCORE
! 94: struct pv_entry;
! 95: struct vm_page_md {
! 96: SLIST_HEAD(, pv_entry) pvh_head;
! 97: int pvh_flags;
! 98: };
! 99:
! 100: #define VM_MDPAGE_INIT(pg) \
! 101: do { \
! 102: struct vm_page_md *pvh = &(pg)->mdpage; \
! 103: SLIST_INIT(&pvh->pvh_head); \
! 104: pvh->pvh_flags = 0; \
! 105: } while (/*CONSTCOND*/0)
! 106: #endif /* _LOCORE */
! 107: #endif /* !_SH_VMPARAM_H_ */
CVSweb