1*11498SJerry.Gilliam@Sun.COM /* 2*11498SJerry.Gilliam@Sun.COM * CDDL HEADER START 3*11498SJerry.Gilliam@Sun.COM * 4*11498SJerry.Gilliam@Sun.COM * The contents of this file are subject to the terms of the 5*11498SJerry.Gilliam@Sun.COM * Common Development and Distribution License (the "License"). 6*11498SJerry.Gilliam@Sun.COM * You may not use this file except in compliance with the License. 7*11498SJerry.Gilliam@Sun.COM * 8*11498SJerry.Gilliam@Sun.COM * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9*11498SJerry.Gilliam@Sun.COM * or http://www.opensolaris.org/os/licensing. 10*11498SJerry.Gilliam@Sun.COM * See the License for the specific language governing permissions 11*11498SJerry.Gilliam@Sun.COM * and limitations under the License. 12*11498SJerry.Gilliam@Sun.COM * 13*11498SJerry.Gilliam@Sun.COM * When distributing Covered Code, include this CDDL HEADER in each 14*11498SJerry.Gilliam@Sun.COM * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15*11498SJerry.Gilliam@Sun.COM * If applicable, add the following below this CDDL HEADER, with the 16*11498SJerry.Gilliam@Sun.COM * fields enclosed by brackets "[]" replaced with your own identifying 17*11498SJerry.Gilliam@Sun.COM * information: Portions Copyright [yyyy] [name of copyright owner] 18*11498SJerry.Gilliam@Sun.COM * 19*11498SJerry.Gilliam@Sun.COM * CDDL HEADER END 20*11498SJerry.Gilliam@Sun.COM */ 21*11498SJerry.Gilliam@Sun.COM /* 22*11498SJerry.Gilliam@Sun.COM * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 23*11498SJerry.Gilliam@Sun.COM * Use is subject to license terms. 24*11498SJerry.Gilliam@Sun.COM */ 25*11498SJerry.Gilliam@Sun.COM 26*11498SJerry.Gilliam@Sun.COM #ifndef _SYS_MACHPARAM_H 27*11498SJerry.Gilliam@Sun.COM #define _SYS_MACHPARAM_H 28*11498SJerry.Gilliam@Sun.COM 29*11498SJerry.Gilliam@Sun.COM #ifdef __cplusplus 30*11498SJerry.Gilliam@Sun.COM extern "C" { 31*11498SJerry.Gilliam@Sun.COM #endif 32*11498SJerry.Gilliam@Sun.COM 33*11498SJerry.Gilliam@Sun.COM #ifndef _ASM 34*11498SJerry.Gilliam@Sun.COM #define ADDRESS_C(c) c ## ul 35*11498SJerry.Gilliam@Sun.COM #else /* _ASM */ 36*11498SJerry.Gilliam@Sun.COM #define ADDRESS_C(c) (c) 37*11498SJerry.Gilliam@Sun.COM #endif /* _ASM */ 38*11498SJerry.Gilliam@Sun.COM 39*11498SJerry.Gilliam@Sun.COM /* 40*11498SJerry.Gilliam@Sun.COM * Common subset of sun4 machine dependent parameters and limits 41*11498SJerry.Gilliam@Sun.COM */ 42*11498SJerry.Gilliam@Sun.COM 43*11498SJerry.Gilliam@Sun.COM /* 44*11498SJerry.Gilliam@Sun.COM * MMU_PAGES* describes the physical page size used by the mapping hardware. 45*11498SJerry.Gilliam@Sun.COM * PAGES* describes the logical page size used by the system. 46*11498SJerry.Gilliam@Sun.COM */ 47*11498SJerry.Gilliam@Sun.COM #define MMU_PAGE_SIZES 6 /* max mmu-supported page sizes */ 48*11498SJerry.Gilliam@Sun.COM #define DEFAULT_MMU_PAGE_SIZES 4 /* default supported page sizes */ 49*11498SJerry.Gilliam@Sun.COM 50*11498SJerry.Gilliam@Sun.COM /* 51*11498SJerry.Gilliam@Sun.COM * XXX make sure the MMU_PAGESHIFT definition here is 52*11498SJerry.Gilliam@Sun.COM * consistent with the one in param.h 53*11498SJerry.Gilliam@Sun.COM */ 54*11498SJerry.Gilliam@Sun.COM #define MMU_PAGESHIFT 13 55*11498SJerry.Gilliam@Sun.COM #define MMU_PAGESIZE (1<<MMU_PAGESHIFT) 56*11498SJerry.Gilliam@Sun.COM #define MMU_PAGEOFFSET (MMU_PAGESIZE - 1) 57*11498SJerry.Gilliam@Sun.COM #define MMU_PAGEMASK (~MMU_PAGEOFFSET) 58*11498SJerry.Gilliam@Sun.COM 59*11498SJerry.Gilliam@Sun.COM #define MMU_PAGESHIFT64K 16 60*11498SJerry.Gilliam@Sun.COM #define MMU_PAGESIZE64K (1 << MMU_PAGESHIFT64K) 61*11498SJerry.Gilliam@Sun.COM #define MMU_PAGEOFFSET64K (MMU_PAGESIZE64K - 1) 62*11498SJerry.Gilliam@Sun.COM #define MMU_PAGEMASK64K (~MMU_PAGEOFFSET64K) 63*11498SJerry.Gilliam@Sun.COM 64*11498SJerry.Gilliam@Sun.COM #define MMU_PAGESHIFT512K 19 65*11498SJerry.Gilliam@Sun.COM #define MMU_PAGESIZE512K (1 << MMU_PAGESHIFT512K) 66*11498SJerry.Gilliam@Sun.COM #define MMU_PAGEOFFSET512K (MMU_PAGESIZE512K - 1) 67*11498SJerry.Gilliam@Sun.COM #define MMU_PAGEMASK512K (~MMU_PAGEOFFSET512K) 68*11498SJerry.Gilliam@Sun.COM 69*11498SJerry.Gilliam@Sun.COM #define MMU_PAGESHIFT4M 22 70*11498SJerry.Gilliam@Sun.COM #define MMU_PAGESIZE4M (1 << MMU_PAGESHIFT4M) 71*11498SJerry.Gilliam@Sun.COM #define MMU_PAGEOFFSET4M (MMU_PAGESIZE4M - 1) 72*11498SJerry.Gilliam@Sun.COM #define MMU_PAGEMASK4M (~MMU_PAGEOFFSET4M) 73*11498SJerry.Gilliam@Sun.COM 74*11498SJerry.Gilliam@Sun.COM #define MMU_PAGESHIFT32M 25 75*11498SJerry.Gilliam@Sun.COM #define MMU_PAGESIZE32M (1 << MMU_PAGESHIFT32M) 76*11498SJerry.Gilliam@Sun.COM #define MMU_PAGEOFFSET32M (MMU_PAGESIZE32M - 1) 77*11498SJerry.Gilliam@Sun.COM #define MMU_PAGEMASK32M (~MMU_PAGEOFFSET32M) 78*11498SJerry.Gilliam@Sun.COM 79*11498SJerry.Gilliam@Sun.COM #define MMU_PAGESHIFT256M 28 80*11498SJerry.Gilliam@Sun.COM #define MMU_PAGESIZE256M (1 << MMU_PAGESHIFT256M) 81*11498SJerry.Gilliam@Sun.COM #define MMU_PAGEOFFSET256M (MMU_PAGESIZE256M - 1) 82*11498SJerry.Gilliam@Sun.COM #define MMU_PAGEMASK256M (~MMU_PAGEOFFSET256M) 83*11498SJerry.Gilliam@Sun.COM 84*11498SJerry.Gilliam@Sun.COM #define PAGESHIFT 13 85*11498SJerry.Gilliam@Sun.COM #define PAGESIZE (1<<PAGESHIFT) 86*11498SJerry.Gilliam@Sun.COM #define PAGEOFFSET (PAGESIZE - 1) 87*11498SJerry.Gilliam@Sun.COM #define PAGEMASK (~PAGEOFFSET) 88*11498SJerry.Gilliam@Sun.COM 89*11498SJerry.Gilliam@Sun.COM #ifdef __cplusplus 90*11498SJerry.Gilliam@Sun.COM } 91*11498SJerry.Gilliam@Sun.COM #endif 92*11498SJerry.Gilliam@Sun.COM 93*11498SJerry.Gilliam@Sun.COM #endif /* _SYS_MACHPARAM_H */ 94