home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 4 / FreshFish_May-June1994.bin / useful / dist / cbm / v39 / include / exec / execbase.i < prev    next >
Text File  |  1992-09-24  |  7KB  |  220 lines

  1.     IFND    EXEC_EXECBASE_I
  2. EXEC_EXECBASE_I SET    1
  3. **
  4. **    $VER: execbase.i 39.3 (31.07.92)
  5. **    Includes Release 39.108
  6. **
  7. **    Definition of the exec.library base structure.
  8. **
  9. **    (C) Copyright 1985-1992 Commodore-Amiga, Inc.
  10. **        All Rights Reserved
  11. **
  12.  
  13.     IFND EXEC_TYPES_I
  14.     INCLUDE "exec/types.i"
  15.     ENDC    ; EXEC_TYPES_I
  16.  
  17.     IFND EXEC_LISTS_I
  18.     INCLUDE "exec/lists.i"
  19.     ENDC    ; EXEC_LISTS_I
  20.  
  21.     IFND EXEC_INTERRUPTS_I
  22.     INCLUDE "exec/interrupts.i"
  23.     ENDC    ; EXEC_INTERRUPTS_I
  24.  
  25.     IFND EXEC_LIBRARIES_I
  26.     INCLUDE "exec/libraries.i"
  27.     ENDC    ; EXEC_LIBRARIES_I
  28.  
  29.  
  30.  
  31. ** Definition of the Exec library base structure (pointed to by location 4).
  32. ** Most fields are not to be viewed or modified by user programs.  Use
  33. ** extreme caution.
  34. **
  35.  STRUCTURE  ExecBase,LIB_SIZE        ; Standard library node
  36.  
  37. ******* Static System Variables *********************************************
  38.  
  39.     UWORD    SoftVer    ; kickstart release number (obs.)
  40.     WORD    LowMemChkSum    ; checksum of 68000 trap vectors
  41.     ULONG    ChkBase    ; system base pointer complement
  42.     APTR    ColdCapture    ; coldstart soft capture vector
  43.     APTR    CoolCapture    ; coolstart soft capture vector
  44.     APTR    WarmCapture    ; warmstart soft capture vector
  45.     APTR    SysStkUpper    ; system stack base   (upper bound)
  46.     APTR    SysStkLower    ; top of system stack (lower bound)
  47.     ULONG    MaxLocMem    ; top of chip memory
  48.     APTR    DebugEntry    ; global debugger entry point
  49.     APTR    DebugData    ; global debugger data segment
  50.     APTR    AlertData    ; alert data segment
  51.     APTR    MaxExtMem    ; top of extended mem, or null if none
  52.  
  53.     WORD    ChkSum        ; for all of the above (minus 2)
  54.  
  55.  
  56. ******* Interrupt Related ********************************************
  57.  
  58.     LABEL    IntVects
  59.     STRUCT    IVTBE,IV_SIZE
  60.     STRUCT    IVDSKBLK,IV_SIZE
  61.     STRUCT    IVSOFTINT,IV_SIZE
  62.     STRUCT    IVPORTS,IV_SIZE
  63.     STRUCT    IVCOPER,IV_SIZE
  64.     STRUCT    IVVERTB,IV_SIZE
  65.     STRUCT    IVBLIT,IV_SIZE
  66.     STRUCT    IVAUD0,IV_SIZE
  67.     STRUCT    IVAUD1,IV_SIZE
  68.     STRUCT    IVAUD2,IV_SIZE
  69.     STRUCT    IVAUD3,IV_SIZE
  70.     STRUCT    IVRBF,IV_SIZE
  71.     STRUCT    IVDSKSYNC,IV_SIZE
  72.     STRUCT    IVEXTER,IV_SIZE
  73.     STRUCT    IVINTEN,IV_SIZE
  74.     STRUCT    IVNMI,IV_SIZE
  75.  
  76.  
  77. ******* Dynamic System Variables *************************************
  78.  
  79.     APTR    ThisTask    ; pointer to current task (readable)
  80.  
  81.     ULONG    IdleCount    ; idle counter
  82.     ULONG    DispCount    ; dispatch counter
  83.     UWORD    Quantum    ; time slice quantum
  84.     UWORD    Elapsed    ; current quantum ticks
  85.     UWORD    SysFlags    ; misc internal system flags
  86.     BYTE    IDNestCnt    ; interrupt disable nesting count
  87.     BYTE    TDNestCnt    ; task disable nesting count
  88.  
  89.     UWORD    AttnFlags    ; special attention flags (readable)
  90.  
  91.     UWORD    AttnResched    ; rescheduling attention
  92.     APTR    ResModules    ; pointer to resident module array
  93.     APTR    TaskTrapCode    ; default task trap routine
  94.     APTR    TaskExceptCode    ; default task exception code
  95.     APTR    TaskExitCode    ; default task exit code
  96.     ULONG    TaskSigAlloc    ; preallocated signal mask
  97.     UWORD    TaskTrapAlloc    ; preallocated trap mask
  98.  
  99.  
  100. ******* System List Headers (private!) ********************************
  101.  
  102.     STRUCT    MemList,LH_SIZE
  103.     STRUCT    ResourceList,LH_SIZE
  104.     STRUCT    DeviceList,LH_SIZE
  105.     STRUCT    IntrList,LH_SIZE
  106.     STRUCT    LibList,LH_SIZE
  107.     STRUCT    PortList,LH_SIZE
  108.     STRUCT    TaskReady,LH_SIZE
  109.     STRUCT    TaskWait,LH_SIZE
  110.  
  111.     STRUCT    SoftInts,SH_SIZE*5
  112.  
  113.  
  114. ******* Other Globals ******************************************************
  115.  
  116.     STRUCT    LastAlert,4*4
  117.  
  118.     ;------ these next two variables are provided to allow
  119.     ;------ system developers to have a rough idea of the
  120.     ;------ period of two externally controlled signals --
  121.     ;------ the time between vertical blank interrupts and the
  122.     ;------ external line rate (which is counted by CIA A's
  123.     ;------ "time of day" clock).  In general these values
  124.     ;------ will be 50 or 60, and may or may not track each
  125.     ;------ other.  These values replace the obsolete AFB_PAL
  126.     ;------ and AFB_50HZ flags.
  127.     UBYTE    VBlankFrequency     ;(readable)
  128.     UBYTE    PowerSupplyFrequency    ;(readable)
  129.  
  130.     STRUCT    SemaphoreList,LH_SIZE
  131.  
  132.     ;------ these next two are to be able to kickstart into user ram.
  133.     ;------ KickMemPtr holds a singly linked list of MemLists which
  134.     ;------ will be removed from the memory list via AllocAbs.    If
  135.     ;------ all the AllocAbs's succeeded, then the KickTagPtr will
  136.     ;------ be added to the rom tag list.
  137.     APTR    KickMemPtr    ; ptr to queue of mem lists
  138.     APTR    KickTagPtr    ; ptr to rom tag queue
  139.     APTR    KickCheckSum    ; checksum for mem and tags
  140.  
  141.  
  142. ******* V36 Exec additions start here ***************************************
  143.  
  144.     UWORD    ex_Pad0        ; Private internal use
  145.     ULONG    ex_LaunchPoint    ; Private to Launch/Switch
  146.     APTR    ex_RamLibPrivate
  147.     ;* The next ULONG contains the system "E" clock frequency,
  148.     ;* expressed in Hertz.    The E clock is used as a timebase for
  149.     ;* the Amiga's 8520 I/O chips. (E is connected to "02").
  150.     ;* Typical values are 715909 for NTSC, or 709379 for PAL.
  151.     ;*
  152.     ULONG    ex_EClockFrequency ;(readable)
  153.     ULONG    ex_CacheControl       ;Private to the CacheControl call
  154.     ULONG    ex_TaskID       ;Next available task ID
  155.  
  156.     STRUCT    ex_Reserved1,5*4
  157.  
  158.     APTR    ex_MMULock       ;Private
  159.  
  160.     STRUCT    ex_Reserved2,3*4
  161.  
  162. ******* V39 Exec additions start here ***************************************
  163.  
  164.     ;* The following list and data element are used for
  165.     ;* V39 exec's low memory handler.
  166.     STRUCT    ex_MemHandlers,MLH_SIZE        ;* List of handlers
  167.     APTR    ex_MemHandler            ;* Handler pointer (PRIVATE!)
  168.  
  169.     LABEL    SYSBASESIZE
  170.  
  171.  
  172. ******* Bit defines for AttnFlags (see above) *******************************
  173.  
  174. *  Processors and Co-processors:
  175.     BITDEF    AF,68010,0    ; also set for 68020
  176.     BITDEF    AF,68020,1    ; also set for 68030
  177.     BITDEF    AF,68030,2    ; also set for 68040
  178.     BITDEF    AF,68040,3
  179.     BITDEF    AF,68881,4    ; also set for 68882
  180.     BITDEF    AF,68882,5
  181.     BITDEF    AF,FPU40,6    ; Set if 68040 FPU
  182. ;
  183. ; The AFB_FPU40 bit is set when a working 68040 FPU
  184. ; is in the system.  If this bit is set and both the
  185. ; AFB_68881 and AFB_68882 bits are not set, then the 68040
  186. ; math emulation code has not been loaded and only 68040
  187. ; FPU instructions are available.  This bit is valid *ONLY*
  188. ; if the AFB_68040 bit is set.
  189. ;
  190. ;    BITDEF    AF,RESERVED8,8
  191. ;    BITDEF    AF,RESERVED9,9
  192.     BITDEF    AF,PRIVATE,15    ; Just what it says
  193.  
  194.  
  195. ******* Selected bit definitions for Cache manipulation calls **************
  196.  
  197.     BITDEF    CACR,EnableI,0        ;Enable instruction cache
  198.     BITDEF    CACR,FreezeI,1        ;Freeze instruction cache
  199.     BITDEF    CACR,ClearI,3        ;Clear instruction cache
  200.     BITDEF    CACR,IBE,4        ;Instruction burst enable
  201.     BITDEF    CACR,EnableD,8        ;68030 Enable data cache
  202.     BITDEF    CACR,FreezeD,9        ;68030 Freeze data cache
  203.     BITDEF    CACR,ClearD,11        ;68030 Clear data cache
  204.     BITDEF    CACR,DBE,12        ;68030 Data burst enable
  205.     BITDEF    CACR,WriteAllocate,13    ;68030 Write-Allocate mode (must
  206.                     ;always be set)
  207.     BITDEF    CACR,EnableE,30        ;Master enable for external caches
  208.                     ;External caches should track the
  209.                     ;state of the internal caches
  210.                     ;such that they do not cache anything
  211.                     ;that the internal cache turned off
  212.                     ;for.
  213.     BITDEF    CACR,CopyBack,31    ;Master enable for copyback caches
  214.  
  215.  
  216.     BITDEF    DMA,Continue,1        ;Continuation flag for CachePreDMA
  217.     BITDEF    DMA,NoModify,2        ;Set if DMA does not update memory
  218.  
  219.     ENDC    ; EXEC_EXECBASE_I
  220.