208 lines
7.8 KiB
C
208 lines
7.8 KiB
C
/*++
|
|
|
|
Copyright (c) 1990 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
dmaregs.h
|
|
|
|
Abstract:
|
|
|
|
This module defines the offsets of the MCTADR registers to allow
|
|
access to them from assembly code.
|
|
|
|
Register names correspond to the ones in the structure DMA_REGISTERS
|
|
declared in jazzdma.h
|
|
|
|
Author:
|
|
|
|
Lluis Abello 6-May-91
|
|
|
|
Revision History:
|
|
|
|
Lluis Abello 1-Apr-93 Added DUO registers
|
|
|
|
--*/
|
|
#ifndef _DMAREGS
|
|
#define _DMAREGS
|
|
|
|
#ifndef DUO
|
|
//
|
|
// DMA REGISTER OFFSETS
|
|
//
|
|
#define DmaConfiguration 0x000
|
|
#define DmaRevisionLevel 0x008
|
|
#define DmaInvalidAddress 0x010
|
|
#define DmaTranslationBase 0x018
|
|
#define DmaTranslationLimit 0x020
|
|
#define DmaTranslationInvalidate 0x028
|
|
#define DmaCacheMaintenance 0x030
|
|
#define DmaRemoteFailedAddress 0x038
|
|
#define DmaMemoryFailedAddress 0x040
|
|
#define DmaPhysicalTag 0x048
|
|
#define DmaLogicalTag 0x050
|
|
#define DmaByteMask 0x058
|
|
#define DmaBufferWindowLow 0x060
|
|
#define DmaBufferWindowHigh 0x068
|
|
#define DmaRemoteSpeed0 0x070
|
|
#define DmaRemoteSpeed1 0x078
|
|
#define DmaRemoteSpeed2 0x080
|
|
#define DmaRemoteSpeed3 0x088
|
|
#define DmaRemoteSpeed4 0x090
|
|
#define DmaRemoteSpeed5 0x098
|
|
#define DmaRemoteSpeed6 0x0a0
|
|
#define DmaRemoteSpeed7 0x0a8
|
|
#define DmaRemoteSpeed8 0x0b0
|
|
#define DmaRemoteSpeed9 0x0b8
|
|
#define DmaRemoteSpeed10 0x0c0
|
|
#define DmaRemoteSpeed11 0x0c8
|
|
#define DmaRemoteSpeed12 0x0d0
|
|
#define DmaRemoteSpeed13 0x0d8
|
|
#define DmaRemoteSpeed14 0x0e0
|
|
#define DmaRemoteSpeed15 0x0e8
|
|
#define DmaParityDiagnosticLow 0x0f0
|
|
#define DmaParityDiagnosticHigh 0x0f8
|
|
#define DmaChannel0Mode 0x100
|
|
#define DmaChannel0Enable 0x108
|
|
#define DmaChannel0ByteCount 0x110
|
|
#define DmaChannel0Address 0x118
|
|
#define DmaChannel1Mode 0x120
|
|
#define DmaChannel1Enable 0x128
|
|
#define DmaChannel1ByteCount 0x130
|
|
#define DmaChannel1Address 0x138
|
|
#define DmaChannel2Mode 0x140
|
|
#define DmaChannel2Enable 0x148
|
|
#define DmaChannel2ByteCount 0x150
|
|
#define DmaChannel2Address 0x158
|
|
#define DmaChannel3Mode 0x160
|
|
#define DmaChannel3Enable 0x168
|
|
#define DmaChannel3ByteCount 0x170
|
|
#define DmaChannel3Address 0x178
|
|
#define DmaChannel4Mode 0x180
|
|
#define DmaChannel4Enable 0x188
|
|
#define DmaChannel4ByteCount 0x190
|
|
#define DmaChannel4Address 0x198
|
|
#define DmaChannel5Mode 0x1a0
|
|
#define DmaChannel5Enable 0x1a8
|
|
#define DmaChannel5ByteCount 0x1b0
|
|
#define DmaChannel5Address 0x1b8
|
|
#define DmaChannel6Mode 0x1c0
|
|
#define DmaChannel6Enable 0x1c8
|
|
#define DmaChannel6ByteCount 0x1d0
|
|
#define DmaChannel6Address 0x1d8
|
|
#define DmaChannel7Mode 0x1e0
|
|
#define DmaChannel7Enable 0x1e8
|
|
#define DmaChannel7ByteCount 0x1f0
|
|
#define DmaChannel7Address 0x1f8
|
|
#define DmaInterruptSource 0x200
|
|
#define DmaErrortype 0x208
|
|
#define DmaRefreshRate 0x210
|
|
#define DmaRefreshCounter 0x218
|
|
#define DmaSystemSecurity 0x220
|
|
#define DmaInterruptInterval 0x228
|
|
#define DmaIntervalTimer 0x230
|
|
#define DmaInterruptAcknowledge 0x238
|
|
|
|
#else
|
|
//
|
|
// MP_DMA register offsets for DUO.
|
|
//
|
|
#define DmaConfiguration 0x000
|
|
#define DmaRevisionLevel 0x008
|
|
#define DmaRemoteFailedAddress 0x010
|
|
#define DmaMemoryFailedAddress 0x018
|
|
#define DmaInvalidAddress 0x020
|
|
#define DmaTranslationBase 0x028
|
|
#define DmaTranslationLimit 0x030
|
|
#define DmaTranslationInvalidate 0x038
|
|
#define DmaChannelInterruptAcknowledge 0x040
|
|
#define DmaLocalInterruptAcknowledge 0x048
|
|
#define DmaEisaInterruptAcknowledge 0x050
|
|
#define DmaTimerInterruptAcknowledge 0x058
|
|
#define DmaIpInterruptAcknowledge 0x060
|
|
#define DmaWhoAmI 0x070
|
|
#define DmaNMISource 0x078
|
|
#define DmaRemoteSpeed0 0x080
|
|
#define DmaRemoteSpeed1 0x088
|
|
#define DmaRemoteSpeed2 0x090
|
|
#define DmaRemoteSpeed3 0x098
|
|
#define DmaRemoteSpeed4 0x0A0
|
|
#define DmaRemoteSpeed5 0x0A8
|
|
#define DmaRemoteSpeed6 0x0B0
|
|
#define DmaRemoteSpeed7 0x0B8
|
|
#define DmaRemoteSpeed8 0x0C0
|
|
#define DmaRemoteSpeed9 0x0C8
|
|
#define DmaRemoteSpeed10 0x0D0
|
|
#define DmaRemoteSpeed11 0x0D8
|
|
#define DmaRemoteSpeed12 0x0E0
|
|
#define DmaRemoteSpeed13 0x0E8
|
|
#define DmaRemoteSpeed14 0x0F0
|
|
#define DmaInterruptEnable 0x0F8
|
|
#define DmaChannel0Mode 0x100
|
|
#define DmaChannel0Enable 0x108
|
|
#define DmaChannel0ByteCount 0x110
|
|
#define DmaChannel0Address 0x118
|
|
#define DmaChannel1Mode 0x120
|
|
#define DmaChannel1Enable 0x128
|
|
#define DmaChannel1ByteCount 0x130
|
|
#define DmaChannel1Address 0x138
|
|
#define DmaChannel2Mode 0x140
|
|
#define DmaChannel2Enable 0x148
|
|
#define DmaChannel2ByteCount 0x150
|
|
#define DmaChannel2Address 0x158
|
|
#define DmaChannel3Mode 0x160
|
|
#define DmaChannel3Enable 0x168
|
|
#define DmaChannel3ByteCount 0x170
|
|
#define DmaChannel3Address 0x178
|
|
#define DmaArbitrationControl 0x180
|
|
#define DmaErrortype 0x188
|
|
#define DmaRefreshRate 0x190
|
|
#define DmaRefreshCounter 0x198
|
|
#define DmaSystemSecurity 0x1A0
|
|
#define DmaInterruptInterval 0x1A8
|
|
#define DmaIntervalTimer 0x1B0
|
|
#define DmaIpi 0x1B8
|
|
#define DmaInterruptDiagnostic 0x1C0
|
|
#define DmaEccDiagnostic 0x1C8
|
|
#define DmaMemoryConfig0 0x1D0
|
|
#define DmaMemoryConfig1 0x1D8
|
|
#define DmaMemoryConfig2 0x1E0
|
|
#define DmaMemoryConfig3 0x1E8
|
|
#define IoCacheBufferBase 0x200
|
|
#define DmaIoCachePhysicalTag0 0x400
|
|
#define DmaIoCachePhysicalTag1 0x408
|
|
#define DmaIoCachePhysicalTag2 0x410
|
|
#define DmaIoCachePhysicalTag3 0x418
|
|
#define DmaIoCachePhysicalTag4 0x420
|
|
#define DmaIoCachePhysicalTag5 0x428
|
|
#define DmaIoCachePhysicalTag6 0x430
|
|
#define DmaIoCachePhysicalTag7 0x438
|
|
#define DmaIoCacheLogicalTag0 0x440
|
|
#define DmaIoCacheLogicalTag1 0x448
|
|
#define DmaIoCacheLogicalTag2 0x450
|
|
#define DmaIoCacheLogicalTag3 0x458
|
|
#define DmaIoCacheLogicalTag4 0x460
|
|
#define DmaIoCacheLogicalTag5 0x468
|
|
#define DmaIoCacheLogicalTag6 0x470
|
|
#define DmaIoCacheLogicalTag7 0x478
|
|
#define DmaIoCacheLowByteMask0 0x480
|
|
#define DmaIoCacheLowByteMask1 0x488
|
|
#define DmaIoCacheLowByteMask2 0x490
|
|
#define DmaIoCacheLowByteMask3 0x498
|
|
#define DmaIoCacheLowByteMask4 0x4A0
|
|
#define DmaIoCacheLowByteMask5 0x4A8
|
|
#define DmaIoCacheLowByteMask6 0x4B0
|
|
#define DmaIoCacheLowByteMask7 0x4B8
|
|
#define DmaIoCacheHighByteMask0 0x4C0
|
|
#define DmaIoCacheHighByteMask1 0x4C8
|
|
#define DmaIoCacheHighByteMask2 0x4D0
|
|
#define DmaIoCacheHighByteMask3 0x4D8
|
|
#define DmaIoCacheHighByteMask4 0x4E0
|
|
#define DmaIoCacheHighByteMask5 0x4E8
|
|
#define DmaIoCacheHighByteMask6 0x4F0
|
|
#define DmaIoCacheHighByteMask7 0x4F8
|
|
|
|
#endif // DUO
|
|
|
|
#endif //_DMAREGS
|