vm_machparam.h revision 9aff5184bfbc5b708bf2ddd810ce726347b52332
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/* Copyright (c) 1988 AT&T */
/* All Rights Reserved */
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _SYS_VM_MACHPARAM_H
#define _SYS_VM_MACHPARAM_H
#ifdef __cplusplus
extern "C" {
#endif
/*
* Machine dependent constants for sun4u.
*/
/*
*/
#define USRTEXT 0x2000
/*
* Virtual memory related constants for UNIX resource control, all in bytes
* The default stack size of 8M allows an optimization of mmu mapping
* resources so that in normal use a single mmu region map entry (smeg)
* can be used to map both the stack and shared libraries
*/
/*
* Minimum allowable virtual address space to be used
* by the seg_map segment driver for fast kernel mappings.
*/
#define MINMAPSIZE 0x200000
/*
* The virtual address space to be used by the seg_map segment
* driver for fast kernel mappings.
*
* Size is 1/8th of physmem at boot.
*/
#ifdef _LP64
#else
#endif /* _LP64 */
/*
* Define the default virtual size and valid size range for the segkp segment.
*/
#ifdef _LP64
#else
#endif /* _LP64 */
/*
* Define minimum size for zio segment
*/
/*
* The time for a process to be blocked before being very swappable.
* This is a number of seconds which the system takes as being a non-trivial
* amount of real time. You probably shouldn't change this;
* it is used in subtle ways (fractions and multiples of it are, that is, like
* half of a ``long time'', almost a long time, etc.)
* It is related to human patience and other factors which don't really
* change over time.
*/
#define MAXSLP 20
/*
* A swapped in process is given a small amount of core without being bothered
* by the page replacement algorithm. Basically this says that if you are
* swapped in you deserve some resources. We protect the last SAFERSS
* pages against paging and will just swap you out rather than paging you.
* Note that each process has at least UPAGES pages which are not
* paged anyways so this number just means a swapped in process is
* given around 32k bytes.
*/
/*
* nominal ``small'' resident set size
* protected against replacement
*/
#define SAFERSS 3
/*
* DISKRPM is used to estimate the number of paging i/o operations
* which one can expect from a single disk controller.
*
* XXX - The system doesn't account for multiple swap devices.
*/
#define DISKRPM 60
/*
* The maximum value for handspreadpages which is the the distance
* between the two clock hands in pages.
*/
/*
* Paged text files that are less than PGTHRESH bytes
* may be "prefaulted in" instead of demand paged.
*/
/*
* Cacheable bit for 64 bit MXCC Stream Source registers
*/
#define BC_CACHE_SHIFT 36
/*
* set type for 64 bit phys addr variables. Needed at least for interface
* with MXCC.
*/
#ifndef _ASM
typedef unsigned long long pa_t;
#endif
#ifdef __cplusplus
}
#endif
#endif /* _SYS_VM_MACHPARAM_H */