Hamazing/source/includes/exec/execbase.i
2023-05-22 18:29:18 +02:00

220 lines
6.8 KiB
OpenEdge ABL

IFND EXEC_EXECBASE_I
EXEC_EXECBASE_I SET 1
**
** $VER: execbase.i 39.3 (31.07.92)
** Includes Release 39.108
**
** Definition of the exec.library base structure.
**
** (C) Copyright 1985-1992 Commodore-Amiga, Inc.
** All Rights Reserved
**
IFND EXEC_TYPES_I
INCLUDE "exec/types.i"
ENDC ; EXEC_TYPES_I
IFND EXEC_LISTS_I
INCLUDE "exec/lists.i"
ENDC ; EXEC_LISTS_I
IFND EXEC_INTERRUPTS_I
INCLUDE "exec/interrupts.i"
ENDC ; EXEC_INTERRUPTS_I
IFND EXEC_LIBRARIES_I
INCLUDE "exec/libraries.i"
ENDC ; EXEC_LIBRARIES_I
** Definition of the Exec library base structure (pointed to by location 4).
** Most fields are not to be viewed or modified by user programs. Use
** extreme caution.
**
STRUCTURE ExecBase,LIB_SIZE ; Standard library node
******* Static System Variables *********************************************
UWORD SoftVer ; kickstart release number (obs.)
WORD LowMemChkSum ; checksum of 68000 trap vectors
ULONG ChkBase ; system base pointer complement
APTR ColdCapture ; coldstart soft capture vector
APTR CoolCapture ; coolstart soft capture vector
APTR WarmCapture ; warmstart soft capture vector
APTR SysStkUpper ; system stack base (upper bound)
APTR SysStkLower ; top of system stack (lower bound)
ULONG MaxLocMem ; top of chip memory
APTR DebugEntry ; global debugger entry point
APTR DebugData ; global debugger data segment
APTR AlertData ; alert data segment
APTR MaxExtMem ; top of extended mem, or null if none
WORD ChkSum ; for all of the above (minus 2)
******* Interrupt Related ********************************************
LABEL IntVects
STRUCT IVTBE,IV_SIZE
STRUCT IVDSKBLK,IV_SIZE
STRUCT IVSOFTINT,IV_SIZE
STRUCT IVPORTS,IV_SIZE
STRUCT IVCOPER,IV_SIZE
STRUCT IVVERTB,IV_SIZE
STRUCT IVBLIT,IV_SIZE
STRUCT IVAUD0,IV_SIZE
STRUCT IVAUD1,IV_SIZE
STRUCT IVAUD2,IV_SIZE
STRUCT IVAUD3,IV_SIZE
STRUCT IVRBF,IV_SIZE
STRUCT IVDSKSYNC,IV_SIZE
STRUCT IVEXTER,IV_SIZE
STRUCT IVINTEN,IV_SIZE
STRUCT IVNMI,IV_SIZE
******* Dynamic System Variables *************************************
APTR ThisTask ; pointer to current task (readable)
ULONG IdleCount ; idle counter
ULONG DispCount ; dispatch counter
UWORD Quantum ; time slice quantum
UWORD Elapsed ; current quantum ticks
UWORD SysFlags ; misc internal system flags
BYTE IDNestCnt ; interrupt disable nesting count
BYTE TDNestCnt ; task disable nesting count
UWORD AttnFlags ; special attention flags (readable)
UWORD AttnResched ; rescheduling attention
APTR ResModules ; pointer to resident module array
APTR TaskTrapCode ; default task trap routine
APTR TaskExceptCode ; default task exception code
APTR TaskExitCode ; default task exit code
ULONG TaskSigAlloc ; preallocated signal mask
UWORD TaskTrapAlloc ; preallocated trap mask
******* System List Headers (private!) ********************************
STRUCT MemList,LH_SIZE
STRUCT ResourceList,LH_SIZE
STRUCT DeviceList,LH_SIZE
STRUCT IntrList,LH_SIZE
STRUCT LibList,LH_SIZE
STRUCT PortList,LH_SIZE
STRUCT TaskReady,LH_SIZE
STRUCT TaskWait,LH_SIZE
STRUCT SoftInts,SH_SIZE*5
******* Other Globals ******************************************************
STRUCT LastAlert,4*4
;------ these next two variables are provided to allow
;------ system developers to have a rough idea of the
;------ period of two externally controlled signals --
;------ the time between vertical blank interrupts and the
;------ external line rate (which is counted by CIA A's
;------ "time of day" clock). In general these values
;------ will be 50 or 60, and may or may not track each
;------ other. These values replace the obsolete AFB_PAL
;------ and AFB_50HZ flags.
UBYTE VBlankFrequency ;(readable)
UBYTE PowerSupplyFrequency ;(readable)
STRUCT SemaphoreList,LH_SIZE
;------ these next two are to be able to kickstart into user ram.
;------ KickMemPtr holds a singly linked list of MemLists which
;------ will be removed from the memory list via AllocAbs. If
;------ all the AllocAbs's succeeded, then the KickTagPtr will
;------ be added to the rom tag list.
APTR KickMemPtr ; ptr to queue of mem lists
APTR KickTagPtr ; ptr to rom tag queue
APTR KickCheckSum ; checksum for mem and tags
******* V36 Exec additions start here ***************************************
UWORD ex_Pad0 ; Private internal use
ULONG ex_LaunchPoint ; Private to Launch/Switch
APTR ex_RamLibPrivate
;* The next ULONG contains the system "E" clock frequency,
;* expressed in Hertz. The E clock is used as a timebase for
;* the Amiga's 8520 I/O chips. (E is connected to "02").
;* Typical values are 715909 for NTSC, or 709379 for PAL.
;*
ULONG ex_EClockFrequency ;(readable)
ULONG ex_CacheControl ;Private to the CacheControl call
ULONG ex_TaskID ;Next available task ID
STRUCT ex_Reserved1,5*4
APTR ex_MMULock ;Private
STRUCT ex_Reserved2,3*4
******* V39 Exec additions start here ***************************************
;* The following list and data element are used for
;* V39 exec's low memory handler.
STRUCT ex_MemHandlers,MLH_SIZE ;* List of handlers
APTR ex_MemHandler ;* Handler pointer (PRIVATE!)
LABEL SYSBASESIZE
******* Bit defines for AttnFlags (see above) *******************************
* Processors and Co-processors:
BITDEF AF,68010,0 ; also set for 68020
BITDEF AF,68020,1 ; also set for 68030
BITDEF AF,68030,2 ; also set for 68040
BITDEF AF,68040,3
BITDEF AF,68881,4 ; also set for 68882
BITDEF AF,68882,5
BITDEF AF,FPU40,6 ; Set if 68040 FPU
;
; The AFB_FPU40 bit is set when a working 68040 FPU
; is in the system. If this bit is set and both the
; AFB_68881 and AFB_68882 bits are not set, then the 68040
; math emulation code has not been loaded and only 68040
; FPU instructions are available. This bit is valid *ONLY*
; if the AFB_68040 bit is set.
;
; BITDEF AF,RESERVED8,8
; BITDEF AF,RESERVED9,9
BITDEF AF,PRIVATE,15 ; Just what it says
******* Selected bit definitions for Cache manipulation calls **************
BITDEF CACR,EnableI,0 ;Enable instruction cache
BITDEF CACR,FreezeI,1 ;Freeze instruction cache
BITDEF CACR,ClearI,3 ;Clear instruction cache
BITDEF CACR,IBE,4 ;Instruction burst enable
BITDEF CACR,EnableD,8 ;68030 Enable data cache
BITDEF CACR,FreezeD,9 ;68030 Freeze data cache
BITDEF CACR,ClearD,11 ;68030 Clear data cache
BITDEF CACR,DBE,12 ;68030 Data burst enable
BITDEF CACR,WriteAllocate,13 ;68030 Write-Allocate mode (must
;always be set)
BITDEF CACR,EnableE,30 ;Master enable for external caches
;External caches should track the
;state of the internal caches
;such that they do not cache anything
;that the internal cache turned off
;for.
BITDEF CACR,CopyBack,31 ;Master enable for copyback caches
BITDEF DMA,Continue,1 ;Continuation flag for CachePreDMA
BITDEF DMA,NoModify,2 ;Set if DMA does not update memory
ENDC ; EXEC_EXECBASE_I