NT4/private/ntos/fw/mips/dmaregs.h

208 lines
7.8 KiB
C
Raw Normal View History

2001-01-01 00:00:00 +01:00
/*++
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