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

51 lines
1.9 KiB
C

/*
* @(#)cpu.map.h 1.1 92/07/30 SMI; from UCB X.X XX/XX/XX
* Copyright (c) 1986 by Sun Microsystems, Inc.
*
*******************************************************************
* cpu.map.h - Memory Mapping and Paging on the Sun 3x
*
* This file is used for all standalone code (ROM Monitor,
* Diagnostics, boot programs, etc) and for the Unix kernel.
*
*******************************************************************
*/
#ifndef ADRSPC_SIZE
/*
* The address space available to a single process is 256 Megabytes.
*/
#define ADRSPC_SIZE 0x10000000
/*
* Each page can be mapped to memory, I/O, or a global bus (eg, P4 or VMEbus)
* or can be inaccessible (INVALID). Pages can be made Read/Writable,
* set for Cachinhibit, Marked Used, Write-protect, or Modified, and Contain
* a 2 bit (DT) Descriptor Type Field:
*
* The struct pgmapent holds the bit fields for a normal short page
* descriptor used in the 68030 PMMU page table.
*/
struct pgmapent {
unsigned pm_page :19; /* Page # in physical memory */
unsigned :6; /* #7-#12 Not used */
unsigned pm_cacheinhibit :1; /* #6 Cache Inhibit */
unsigned :1; /* #5 Reserved */
unsigned pm_modified :1; /* #4 Modified bit */
unsigned pm_used :1; /* #3 Used Bit */
unsigned pm_wrpro :1; /* #2 Write Protect Bit */
unsigned pm_dt :2; /* #0-#1 Descriptor Type */
};
/*
* The Following are the Sun-3x function code defines.
*/
#define FC_UD 1 /* User Data */
#define FC_UP 2 /* User Program */
#define FC_USER 3 /* Sun 3x User Reserve Space */
#define FC_SD 5 /* Supervisor Data */
#define FC_SP 6 /* Supervisor Program */
#define FC_CPU 7 /* CPU Space (Int Ack, Co-processors, ...) */
#endif ADRSPC_SIZE