/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (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 1989 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _sun4_param_h
#define _sun4_param_h
#pragma ident "%Z%%M% %I% %E% SMI"
/*
* This file is intended to contain the basic
* specific details of a given architecture.
*/
/*
* Machine dependent constants for Sun4.
*/
/*
* Define the VAC symbol if we could run on a machine
* which has a Virtual Address Cache (e.g. SUN4_260)
*/
#define VAC
#else
#endif /* SUN4_260 || SUN4_470 || SUN4_330 */
/*
* Define the FPU symbol if we could run on a machine with an external
* FPU (i.e. not integrated with the normal machine state like the vax).
*/
#define FPU
/*
* Define the MMU_3LEVEL symbol if we could run on a machine with
* a three level mmu. We also assume these machines have region
* and user cache flush operations.
*/
#ifdef SUN4_470
#define MMU_3LEVEL
#else
#endif /* SUN4_470 */
/*
* Define IOC if we could run on machines that have an I/O cache.
*/
#ifdef SUN4_470
#define IOC
#else
#endif /* SUN4_470 */
/*
* Define BCOPY_BUF if we could run on machines that have a bcopy buffer.
*/
#ifdef SUN4_470
#define BCOPY_BUF
#else
#endif /* SUN4_470 */
/*
* Define VA_HOLE for machines that have a hole in the virtual address space.
*/
#define VA_HOLE
#else
#endif /* SUN4_260 || SUN4_110 || SUN4_330 */
/*
* MMU_PAGES* describes the physical page size used by the mapping hardware.
* PAGES* describes the logical page size used by the system.
*/
/*
* DATA_ALIGN is used to define the alignment of the Unix data segment.
*/
/*
* Some random macros for units conversion.
*/
/*
* MMU pages to bytes, and back (with and without rounding)
*/
/*
* pages to bytes, and back (with and without rounding)
*/
/*
* 2 versions of pages to disk blocks
*/
/*
* Delay units are in microseconds.
*/
#define CDELAY(c, n) \
{ \
register int N = n; \
while (--N > 0) { \
if (c) \
break; \
usec_delay(1); \
} \
}
/*
* KERNSIZE the amount of vitual address space the kernel
* uses in all contexts.
*/
/*
* KERNELBASE is the virtual address which
*/
/*
* SYSBASE is the virtual address which
* the kernel allocated memory mapping starts in all contexts.
*/
/*
* Msgbuf size.
*/
/*
* XXX - Macros for compatibility
*/
/* Clicks (MMU PAGES) to disk blocks */
/* Clicks (MMU PAGES) to bytes, and back (with rounding) */
/*
* XXX - Old names for some backwards compatibility
*/
#define CLSIZELOG2 0
#define clrnd(i) (i)
#endif /* !_sun4_param_h */