home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD v1.2 / amidev_cd_12.iso / inc&ad2.0 / includes / exec / execbase.i < prev    next >
Text File  |  1992-09-01  |  7KB  |  211 lines

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