Files
seta75D 2e8a93c394 Init
2021-10-11 18:20:23 -03:00

76 lines
2.2 KiB
C

/* @(#)cpu.h 1.1 92/07/30 SMI */
/*
* Copyright (c) 1987 by Sun Microsystems, Inc.
*
* This file is intended to contain the specific details
* of various implementations of a given architecture.
*/
#ifndef _sun3_cpu_h
#define _sun3_cpu_h
#define CPU_ARCH 0xf0 /* mask for architecture bits */
#define SUN3_ARCH 0x10 /* arch value for Sun 3 */
#define CPU_MACH 0x0f /* mask for machine implementation */
#define MACH_160 0x01
#define MACH_50 0x02
#define MACH_260 0x03
#define MACH_110 0x04
#define MACH_60 0x07
#define MACH_E 0x08
#define CPU_SUN3_160 (SUN3_ARCH + MACH_160)
#define CPU_SUN3_50 (SUN3_ARCH + MACH_50)
#define CPU_SUN3_260 (SUN3_ARCH + MACH_260)
#define CPU_SUN3_110 (SUN3_ARCH + MACH_110)
#define CPU_SUN3_60 (SUN3_ARCH + MACH_60)
#define CPU_SUN3_E (SUN3_ARCH + MACH_E)
#if defined(KERNEL) && !defined(LOCORE)
int cpu; /* machine type we are running on */
int dvmasize; /* usable dvma size in clicks */
int fbobmemavail; /* video copy memory is available */
#ifdef SUN3_260
int vac; /* there is virtual address cache */
int bcenable; /* bcopy hardware enabled */
#endif SUN3_260
#endif defined(KERNEL) && !defined(LOCORE)
/*
* SEGTEMP & SEGTEMP2 are virtual segments reserved for temporary operations.
* We use the segments immediately before the start of debugger area.
*/
#include <debug/debug.h>
#define SEGTEMP ((addr_t)(DEBUGSTART - (2 * NBSG)))
#define SEGTEMP2 ((addr_t)(DEBUGSTART - NBSG))
/*
* Various I/O space related constants
*/
#define VME16_BASE 0xFFFF0000
#define VME16_SIZE (1<<16)
#define VME16_MASK (VME16_SIZE-1)
#define VME24_BASE 0xFF000000
#define VME24_SIZE (1<<24)
#define VME24_MASK (VME24_SIZE-1)
/*
* The Basic DVMA space size for all Sun-3 implementations
* is given by DVMASIZE. The actual usable dvma size
* (in clicks) is given by the dvmasize variable declared
* above (for compatibility with Sun-2).
*/
#define DVMASIZE 0x100000
/*
* FBSIZE is the amount of memory we will use for the frame buffer
* copy region if the copy mode of the frame buffer is to be used.
*/
#define FBSIZE 0x20000 /* size of frame buffer memory region */
#define OBFBADDR 0x100000 /* location of frame buffer in memory */
#endif /*!_sun3_cpu_h*/