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

Annotation of sys/arch/hppa64/include/vmparam.h, Revision 1.1

1.1     ! nbrk        1: /*     $OpenBSD: vmparam.h,v 1.3 2006/06/04 17:21:24 miod Exp $        */
        !             2:
        !             3: /*
        !             4:  * Copyright (c) 1988-1994, The University of Utah and
        !             5:  * the Computer Systems Laboratory at the University of Utah (CSL).
        !             6:  * All rights reserved.
        !             7:  *
        !             8:  * Permission to use, copy, modify and distribute this software is hereby
        !             9:  * granted provided that (1) source code retains these copyright, permission,
        !            10:  * and disclaimer notices, and (2) redistributions including binaries
        !            11:  * reproduce the notices in supporting documentation, and (3) all advertising
        !            12:  * materials mentioning features or use of this software display the following
        !            13:  * acknowledgement: ``This product includes software developed by the
        !            14:  * Computer Systems Laboratory at the University of Utah.''
        !            15:  *
        !            16:  * THE UNIVERSITY OF UTAH AND CSL ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS
        !            17:  * IS" CONDITION.  THE UNIVERSITY OF UTAH AND CSL DISCLAIM ANY LIABILITY OF
        !            18:  * ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
        !            19:  *
        !            20:  * CSL requests users of this software to return to csl-dist@cs.utah.edu any
        !            21:  * improvements that they make and grant CSL redistribution rights.
        !            22:  *
        !            23:  *     Utah $Hdr: vmparam.h 1.16 94/12/16$
        !            24:  */
        !            25:
        !            26: #ifndef _MACHINE_VMPARAM_H_
        !            27: #define _MACHINE_VMPARAM_H_
        !            28:
        !            29: /*
        !            30:  * Machine dependent constants for HP PA
        !            31:  */
        !            32: /*
        !            33:  * USRTEXT is the start of the user text/data space, while USRSTACK
        !            34:  * is the bottm (start) of the user stack.
        !            35:  */
        !            36: #define        USRTEXT         PAGE_SIZE               /* Start of user .text */
        !            37: #define        USRSTACK        0x68FF3000              /* Start of user stack */
        !            38: #define        SYSCALLGATE     0xC0000000              /* syscall gateway page */
        !            39:
        !            40: /*
        !            41:  * Virtual memory related constants, all in bytes
        !            42:  */
        !            43: #ifndef MAXTSIZ
        !            44: #define        MAXTSIZ         (64*1024*1024)          /* max text size */
        !            45: #endif
        !            46: #ifndef DFLDSIZ
        !            47: #define        DFLDSIZ         (16*1024*1024)          /* initial data size limit */
        !            48: #endif
        !            49: #ifndef MAXDSIZ
        !            50: #define        MAXDSIZ         (1*1024*1024*1024)      /* max data size */
        !            51: #endif
        !            52: #ifndef        DFLSSIZ
        !            53: #define        DFLSSIZ         (512*1024)              /* initial stack size limit */
        !            54: #endif
        !            55: #ifndef        MAXSSIZ
        !            56: #define        MAXSSIZ         (32*1024*1024)          /* max stack size */
        !            57: #endif
        !            58:
        !            59: #define        STACKGAP_RANDOM 256*1024
        !            60:
        !            61: #ifndef USRIOSIZE
        !            62: #define        USRIOSIZE       ((2*HPPA_PGALIAS)/PAGE_SIZE)    /* 2mb */
        !            63: #endif
        !            64:
        !            65: /*
        !            66:  * PTEs for system V style shared memory.
        !            67:  * This is basically slop for kmempt which we actually allocate (malloc) from.
        !            68:  */
        !            69: #ifndef SHMMAXPGS
        !            70: #define SHMMAXPGS      8192    /* 32mb */
        !            71: #endif
        !            72:
        !            73: #define        VM_MIN_ADDRESS          (0UL)
        !            74: #define        VM_MAXUSER_ADDRESS      (0x20000000000UL)
        !            75: #define        VM_MAX_ADDRESS          VM_MAXUSER_ADDRESS
        !            76: #define        VM_MIN_KERNEL_ADDRESS   (0x1000000000UL)
        !            77: #define        VM_MAX_KERNEL_ADDRESS   (0x10f0000000UL)
        !            78:
        !            79: /* virtual sizes (bytes) for various kernel submaps */
        !            80: #define VM_PHYS_SIZE           (USRIOSIZE*PAGE_SIZE)
        !            81:
        !            82: #define        VM_PHYSSEG_MAX          1       /* this many physmem segments */
        !            83: #define        VM_PHYSSEG_STRAT        VM_PSTRAT_RANDOM
        !            84:
        !            85: #define        VM_PHYSSEG_NOADD        /* XXX until uvm code is fixed */
        !            86:
        !            87: #define        VM_NFREELIST            2
        !            88: #define        VM_FREELIST_DEFAULT     0
        !            89: #define        VM_FREELIST_ARCH        1
        !            90:
        !            91: #if defined(_KERNEL) && !defined(_LOCORE)
        !            92: #define __HAVE_VM_PAGE_MD
        !            93: struct pv_entry;
        !            94: struct vm_page_md {
        !            95:        struct simplelock pvh_lock;     /* locks every pv on this list */
        !            96:        struct pv_entry *pvh_list;      /* head of list (locked by pvh_lock) */
        !            97:        u_int           pvh_attrs;      /* to preserve ref/mod */
        !            98: };
        !            99:
        !           100: #define        VM_MDPAGE_INIT(pg) do {                         \
        !           101:        simple_lock_init(&(pg)->mdpage.pvh_lock);       \
        !           102:        (pg)->mdpage.pvh_list = NULL;                   \
        !           103:        (pg)->mdpage.pvh_attrs = 0;                     \
        !           104: } while (0)
        !           105: #endif
        !           106:
        !           107: #endif /* _MACHINE_VMPARAM_H_ */

CVSweb