[BACK]Return to vmparam.h CVS log [TXT][DIR] Up to [local] / sys / arch / alpha / include

Annotation of sys/arch/alpha/include/vmparam.h, Revision 1.1.1.1

1.1       nbrk        1: /* $OpenBSD: vmparam.h,v 1.14 2005/04/11 15:12:59 deraadt Exp $ */
                      2: /* $NetBSD: vmparam.h,v 1.18 2000/05/22 17:13:54 thorpej Exp $ */
                      3:
                      4: /*
                      5:  * Copyright (c) 1988 University of Utah.
                      6:  * Copyright (c) 1992, 1993
                      7:  *     The Regents of the University of California.  All rights reserved.
                      8:  *
                      9:  * This code is derived from software contributed to Berkeley by
                     10:  * the Systems Programming Group of the University of Utah Computer
                     11:  * Science Department and Ralph Campbell.
                     12:  *
                     13:  * Redistribution and use in source and binary forms, with or without
                     14:  * modification, are permitted provided that the following conditions
                     15:  * are met:
                     16:  * 1. Redistributions of source code must retain the above copyright
                     17:  *    notice, this list of conditions and the following disclaimer.
                     18:  * 2. Redistributions in binary form must reproduce the above copyright
                     19:  *    notice, this list of conditions and the following disclaimer in the
                     20:  *    documentation and/or other materials provided with the distribution.
                     21:  * 3. Neither the name of the University nor the names of its contributors
                     22:  *    may be used to endorse or promote products derived from this software
                     23:  *    without specific prior written permission.
                     24:  *
                     25:  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
                     26:  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                     27:  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                     28:  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
                     29:  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
                     30:  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
                     31:  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
                     32:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
                     33:  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
                     34:  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
                     35:  * SUCH DAMAGE.
                     36:  *
                     37:  * from: Utah $Hdr: vmparam.h 1.16 91/01/18$
                     38:  *
                     39:  *     @(#)vmparam.h   8.2 (Berkeley) 4/22/94
                     40:  */
                     41:
                     42: #ifndef        _ALPHA_VMPARAM_H_
                     43: #define        _ALPHA_VMPARAM_H_
                     44:
                     45: /*
                     46:  * Machine dependent constants for Alpha.
                     47:  */
                     48:
                     49: /*
                     50:  * USRTEXT is the start of the user text/data space, while USRSTACK
                     51:  * is the top (end) of the user stack.  Immediately above the user stack
                     52:  * resides the user structure, which is UPAGES long and contains the
                     53:  * kernel stack.
                     54:  *
                     55:  * Digital UNIX (formerly DEC OSF/1) places the stack below the
                     56:  * text segment (i.e. growing downward from 4G).  We may want to
                     57:  * consider doing that at some point, but it might require changes
                     58:  * to the exec code.
                     59:  */
                     60: #define        USRTEXT         NBPG
                     61: #define        USRSTACK        ((vaddr_t)0x0000000200000000)           /* 8G */
                     62:
                     63: /*
                     64:  * Virtual memory related constants, all in bytes
                     65:  */
                     66: #ifndef MAXTSIZ
                     67: #define        MAXTSIZ         (1<<30)                 /* max text size (1G) */
                     68: #endif
                     69: #ifndef DFLDSIZ
                     70: #define        DFLDSIZ         (1<<27)                 /* initial data size (128M) */
                     71: #endif
                     72: #ifndef MAXDSIZ
                     73: #define        MAXDSIZ         (1<<30)                 /* max data size (1G) */
                     74: #endif
                     75: #ifndef        DFLSSIZ
                     76: #define        DFLSSIZ         (1<<21)                 /* initial stack size (2M) */
                     77: #endif
                     78: #ifndef        MAXSSIZ
                     79: #define        MAXSSIZ         (1<<25)                 /* max stack size (32M) */
                     80: #endif
                     81:
                     82: #define STACKGAP_RANDOM        256*1024
                     83:
                     84: /*
                     85:  * PTEs for mapping user space into the kernel for phyio operations.
                     86:  * 64 pte's are enough to cover 8 disks * MAXBSIZE.
                     87:  */
                     88: #ifndef USRIOSIZE
                     89: #define USRIOSIZE      64
                     90: #endif
                     91:
                     92: /*
                     93:  * PTEs for system V style shared memory.
                     94:  * This is basically slop for kmempt which we actually allocate (malloc) from.
                     95:  */
                     96: #ifndef SHMMAXPGS
                     97: #define SHMMAXPGS      4096            /* 32mb */
                     98: #endif
                     99:
                    100: /*
                    101:  * Mach derived constants
                    102:  */
                    103:
                    104: /* user/kernel map constants */
                    105: #define VM_MIN_ADDRESS         ((vaddr_t)ALPHA_USEG_BASE)          /* 0 */
                    106: #define VM_MAXUSER_ADDRESS     ((vaddr_t)(ALPHA_USEG_END + 1L))    /* 4T */
                    107: #define VM_MAX_ADDRESS         VM_MAXUSER_ADDRESS
                    108: #define VM_MIN_KERNEL_ADDRESS  ((vaddr_t)ALPHA_K1SEG_BASE)
                    109: #define VM_MAX_KERNEL_ADDRESS  ((vaddr_t)ALPHA_K1SEG_END)
                    110:
                    111: /* virtual sizes (bytes) for various kernel submaps */
                    112: #define VM_PHYS_SIZE           (USRIOSIZE*NBPG)
                    113:
                    114: /* some Alpha-specific constants */
                    115: #define        VPTBASE         ((vaddr_t)0xfffffffc00000000)   /* Virt. pg table */
                    116:
                    117: #define        VM_PHYSSEG_MAX          16              /* XXX */
                    118: #define        VM_PHYSSEG_STRAT        VM_PSTRAT_BSEARCH
                    119: #define        VM_PHYSSEG_NOADD                        /* no more after vm_mem_init */
                    120:
                    121: #define        VM_NFREELIST            1
                    122: #define        VM_FREELIST_DEFAULT     0
                    123:
                    124: /*
                    125:  * pmap-specific data stored in the vm_physmem[] array.
                    126:  */
                    127: #define __HAVE_PMAP_PHYSSEG
                    128: struct pmap_physseg {
                    129:        struct pv_head *pvhead;         /* pv list of this seg */
                    130: };
                    131:
                    132: #endif /* ! _ALPHA_VMPARAM_H_ */

CVSweb