Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

89 lines
2.0 KiB

/*++
Copyright (c) 1990-1992 Microsoft Corporation
Module Name:
sonicdet.h
Abstract:
This file has processor-specific definitions.
The overall structure is taken from the Lance driver
by Tony Ercolano.
Author:
Anthony V. Ercolano (tonye) creation-date 19-Jun-1990
Adam Barr (adamba) 5-Nov-1991
Environment:
This driver is expected to work at the equivalent of kernel mode.
Architecturally, there is an assumption in this driver that we are
on a little endian machine.
Revision History:
--*/
//
// Handy macros to read out of sonic ports.
//
// Because the use of PortShift makes the code more complicated,
// we make some assumptions about when it is needed. On MIPS, we
// only support the internal version unless MIPS_EISA_SONIC
// is defined, in which case we support both.
//
// We define two constants, SONIC_EISA and SONIC_INTERNAL, if
// that particular adapter type is supported by this driver.
// This is to prevent unneeded code from being compiled in.
//
#ifdef MIPS_EISA_SONIC
//
// mips, with support for the EISA card; we have to use PortShift.
//
#define SONIC_WRITE_PORT(_Adapter, _Port, _Value) \
NdisRawWritePortUshort((_Adapter)->SonicPortAddress + (_Port << (_Adapter)->PortShift), (USHORT)(_Value))
#define SONIC_READ_PORT(_Adapter, _Port, _Value) \
NdisRawReadPortUshort((_Adapter)->SonicPortAddress + (_Port << (_Adapter)->PortShift), (PUSHORT)(_Value))
#define SONIC_EISA
#define SONIC_INTERNAL
#else // MIPS_EISA_SONIC
//
// mips, internal support only, the registers are always 32 bits
//
#define SONIC_WRITE_PORT(_Adapter, _Port, _Value) \
NdisRawWritePortUshort((_Adapter)->SonicPortAddress + (_Port * 4), (USHORT)(_Value))
#define SONIC_READ_PORT(_Adapter, _Port, _Value) \
NdisRawReadPortUshort((_Adapter)->SonicPortAddress + (_Port * 4), (PUSHORT)(_Value))
#undef SONIC_EISA
#define SONIC_INTERNAL
#endif // MIPS_EISA_SONIC
//
// The default adapter type for mips is Internal
//
#define SONIC_ADAPTER_TYPE_DEFAULT SONIC_ADAPTER_TYPE_INTERNAL