; ; File: MMUEqu.a ; ; Contains: Equates relevant to the MMUs available in Macintoshes. ; ; Written by: Bob Herold ; ; Copyright: © 1988-1991, 1993 by Apple Computer, Inc., all rights reserved. ; ; Change History (most recent first): ; ; 2/5/93 SAM Added EMMU type for emulated MMUs. ; <7> 12/31/91 RB Added writeProtectBit equate. ; <6> 1/30/91 gbm sab, #38: Change the ‘already including this file’ variable to ; all uppercase (for security reasons) ; <4> 2/20/90 CCH Added theSRP field to MMUConfigInfo record. ; <3> 1/5/90 BG Clarification comments added to the *MMUConfigInfo* record ; header and definitions. ; <2> 1/2/90 BG First pass at cleaning this up to deal with 68040 MMUs. More is ; needed. ; <1.1> 5/14/89 rwh added descrTypeMask. Apologies to all. ; <1.0> 5/13/89 rwh new today IF &TYPE('__INCLUDINGMMUEQU__') = 'UNDEFINED' THEN __INCLUDINGMMUEQU__ SET 1 ;------------- ; MMU Modes ;------------- ;false32b EQU 0 ; 24 bit mode ;true32b EQU 1 ; 32 bit mode ;----- ; MMU Configuration Info record ;----- ; NOTE - this does not work well with the 68040, as it has FOUR Transparent Translation <3> ; registers: ITTO, ITT1, DTT0 and DTT1. Also, 'theCRP' is not 64 bits; in fact, <3> ; there is no CRP register on the 040. Instead, it and the SRP are replaced by <3> ; the SRP and URP (both 32 bits wide). The TC register is only 16 bits wide on <3> ; the 040. "This needs to be fixed." <3> MMUConfigInfo RECORD 0 ; MMU configuration info theCRP ds.l 1 ; start of the 64-bit CRP on 020/030's <4> theSRP ds.l 1 ; start of the 32-bit SRP on 040's <4> theTC ds.l 1 ; the TC (Translation Control Register) value ; (the lsw contains the TC on a 68040) <3> theTT0 ds.l 1 ; the {I}TT0 (Transparent Translation Reg 0) value theTT1 ds.l 1 ; the {I}TT1 (Transparent Translation Reg 1) value MMUInfoSize equ *-MMUConfigInfo ; size of an MMU info record ENDR ;----- ; Possible MMU Types ;----- NoMMU equ 0 ; No MMU chip present HMMU equ 1 ; fake 24-bit mapper (in Mac II only) MMB equ 2 ; --- no longer supported PMMU851 equ 3 ; 68851 Paged Memory Management Unit (in Mac II only) PMMU030 equ 4 ; 68030 built-in Paged Memory Management Unit PMMU040 equ 5 ; 68040 built-in MMU <2> EMMU1 equ 6 ; Emulated MMU Type 1 (Risc Emulator Based Systems) ;----- ; MMU Table equates ;----- writeProtectBit equ 2 ; write protect bit in table entries <7> rb descrPage equ $01 ; page descriptor type *** move these to MMUequ.a *** descrTbl4 equ $02 ; short table type descrTbl8 equ $03 ; long table type descrTypeMask equ $03 ; mask to get type field LongStat equ $FC00 ; status field for long table descriptors LowLim equ $7FFF ; default lowest limit for long descriptors ENDIF ; ...already included