blob: 62ca51952af75e22b0db365108db2af5b1ac3485 (
plain) (
tree)
|
|
/***************************************************************************
*
* MDGMPORT.UPD
*
* Update log and version information for FastMAC Plus based NDIS 3.0
* miniport driver.
*
* Copyright (c) Madge Networks Ltd 1994
*
* COMPANY CONFIDENTIAL
*
* Created: 20/06/1994
*
****************************************************************************/
/*---------------------------------------------------------------------------
|
| Helper macro to make a DWORD.
|
---------------------------------------------------------------------------*/
#define MAKE_DWORD(a, b, c, d) \
((((DWORD) (a)) << 24) + \
(((DWORD) (b)) << 16) + \
(((DWORD) (c)) << 8 ) + \
(((DWORD) (d)) ))
/*---------------------------------------------------------------------------
|
| Version number.
|
---------------------------------------------------------------------------*/
//
// Define both a string and a comma separated list of numbers. These will be
// used by the resource compiler when version stamping the driver file.
//
#define MADGE_NT_VERSION 2,04,30,00
#define MADGE_NT_VERSION_STR "2.04.30"
#define MADGE_NT_VERSION_DWORD MAKE_DWORD(2, 4, 30, 0)
#define _IS_ALPHA // Define if alpha version.
/*---------------------------------------------------------------------------
|
| Compile time string definitions identifying driver type. Used in one of
| the request calls (OID_GEN_VENDOR_DESCRIPTION).
|
|--------------------------------------------------------------------------*/
#if NDIS_NT
#define MADGE_NT_NAME "MdgMPort"
#define MADGE_DRIVER_NAME NDIS_STRING_CONST("MdgMPort");
#define MADGE_FMP_NAME NDIS_STRING_CONST("MDGMPORT.BIN");
#endif
#if DBG
#define _DRIVER_PREFIX "DEBUG_MADGE_NDIS3_DRIVER:"
#else
#define _DRIVER_PREFIX "MADGE_NDIS3_DRIVER:"
#endif
#define DRIVER_VERSION \
_DRIVER_PREFIX##" "##MADGE_NT_NAME##" "##MADGE_NT_VERSION_STR
/*---------------------------------------------------------------------------
Ý
Ý Product instance identification string.
Ý
---------------------------------------------------------------------------*/
#ifdef _IS_ALPHA
#define NT_PRODUCT_INSTANCE_ID "MDGMPORT v"##MADGE_NT_VERSION_STR
#else
#define NT_PRODUCT_INSTANCE_ID "MDGMPORT.SYS v"##MADGE_NT_VERSION_STR
#endif
/*---------------------------------------------------------------------------
|
| String for identification by MVER.
|
|--------------------------------------------------------------------------*/
#define MVER_STRING \
"VeRsIoN="##MADGE_NT_NAME##" "##MADGE_NT_VERSION_STR
/*---------------------------------------------------------------------------
|
| Update history.
|
|----------------------------------------------------------------------------
2.04.30 10/10/1995 PBA
Source to be shipped to Microsoft. This is the LSS 4.31
build with support added for non-intel platforms.
2.04.01-.29 Reserved for 4.3(1) maintanance.
2.04 21/07/1995 PBA
Re-released for 4.3(1) with PCI-TI DMA/DIO fix.
2.03.01-.49 Reserved for 4.3(1) maintanance.
2.03.01 14/07/1995 PBA
Now uses FTK 2.21.11 which has software handshakes
for all PCI cards in pseduo DMA mode. There is a race
condition on a PCI bus whereby SWHLDA gets "stuck" and
a pending pseudo DMA starts before the host tells
the adapter to start it.
FTK 2.21.11 also fixes a bug in the RAP 1B MMIO code
where we could erroneously do an MMIO transfer if
we were on a shared interrupt.
FTK 2.21.11 also fixes a PCI-IT DMA problem. We were
not checking if pseudo DMA was enabled in the
interrupt handler and because the interrupt handler
is called for real DMA should SWHRQ be set we would
do some erroneous pseudo DMA processing.
2.03 30/06/1995 PBA
Hardware thread released for LSS 4.3(1) with support
for PCI-TI adapters and untested support for PCI-Abyss
adapters. Uses FTK 2.21.07 and FMPLUS 1.36.
2.02 Used for non-intel thread drivied from LSS 4.30.
2.01.03 12/05/1995 PBA
Now uses FTK 2.21.02 that can cope with the stray
initialisation interrupt generated by some
socket controllers.
2.01.02 07/04/1995 PBA
Now uses FTK 2.21.01 and FastMAC Plus 1.34.10 which
have an extended handshake on transmit MMIO to
avoid a SAM upload/DIO race condition.
2.01.01 05/04/1995 PBA
Power PC build. Only tested on ISA and PCI adapters.
Only works in PIO mode.
2.02.01 - .49 Reserved for 4.3(0 and/or PnP) maintenance.
2.01 02/02/1995 PBA
Released for 4.3(0 and/or PnP). Any previous 4.3(x)
threads are now dead.
2.00.61 02/02/1995 PBA
Now uses FastMAC Plus 1.28. Given to DaveF for Chicago
testing and possible shipping to Microsoft for M8
and/or NT 3.51.
2.00.60 01/02/1995 PBA
Windows95 build 310 always returns the native bus type
of the PC rather than the type of the bus the adapter
is in. To get around the problem we now read the bus
type from the wrapper and then override the value if
we find an adapter type parameter in the registry.
2.00.59 31/01/1995 PBA
The Windows95 wrapper now supports the
NdisReadPciSlotInformation so we can now have a binary
compatible build. The register parameter "PlatformType"
is used to determine the OS type the driver is running on.
Also allowed "IoBaseAddress" to be used instead of
"IoLocation" for forwards compatibility with NT 3.51.
2.00.58 24/01/1995 PBA
Uses FTK 2.20.26 that fixes a problem where the software
handshake was not being enabled properly for PCMCIA
adapters.
2.00.57 12/01/1995 PBA
Given to central support to fix PRF 2841.
Uses FastMAC Plus 1.20.
2.00.56 12/01/1995 PBA
Now uses FTK 2.20.25 that has a fix to avoid
driver_remove_adapter deallocating the FastMAC Plus
dma test buffer when it has not been allocated.
2.00.55 12/01/1995 PBA
Now deregister shutdown handler in MadgeCleanupAdapter
to avoid the odd blue screen when MadgeShutdown was
called after we had freed the adapter structure.
2.00.54 12/01/1995 PBA
Now uses FTK 2.20.24 that allows the driver to run
on none Madge adapters if #define MADGIC_BIT 0x8000
is present in user.h.
2.00.53 11/01/1995 PBA
Given to central support. Uses FastMAC Plus 1.25.
2.00.52 11/01/1995 PBA
Given to central support to fix PRF 2841.
i.e. Insufficient shared memory available when the
driver is installed while NT is being installed to
start the adapter during the NT installation. The solution
is to add a shared memory aribitration routine which
attempts to reduce the number of RX/TX slots and the
maxiumum frame size until there is enough shared memory
left. Uses FastMAC Plus 1.20.
2.00.51 06/01/1995 PBA
Shipped source to FrancisT so he could build it on
a MIPs. Uses FastMAC Plus 1.25.
2.00.50 03/01/1995 PBA
Changed so that TX/RX buffers on use shared memory in DMA
mode. PIO and MMIO use ordinary memory.
Version numbers 1.50.01 to 1.99.99 are used for a FastMAC version.
1.07.52 13/12/1994 PBA
No longer sets monitor contender in the open options.
1.07.51 09/12/1994 PBA
Changed so that if we are compiling for a none Intel
platform we allocate map registers properly. For Intel
platforms we still use the cludge where we allocate
the adapter block ourselves. This should solve the
DEC AXP 2100 problem.
1.07.50 09/12/1994 PBA
Revised to use the new FTK (2.20.xx).
1.07.01 - .49 Reserved for release 4.3(1) maintenance.
1.07 Reserved for release 4.3(1).
Screwed up the versions numbers. Live development jumps to 1.07.50
1.06.52 29/11/1994 PBA
Gave source to FrancisF to try and track down the
DEC 2100 shared memory allocation problem.
1.06.51 24/11/1994 PBA
Moved the clearing of the private SRB in progress flag
out of the DPR and into the ISR as the DPR doesn't
get called during the initialisation code under Chicago.
Doing it this way avoids the nasty delay loop in the
initialisation code when setting the product instance id.
---- Special ---------------------------------------------------------------
1.06.81 - Microsoft thread based on 1.06.80 splits here.
1.06.80 11/01/1994 PBA
Same as 1.06.50 but accepts IoBaseAddress for the I/O
location as well as IoLocation. Uses FastMAC Plus 1.20.
Shipped to Jameel Hyder at Microsoft for NT 3.51 beta.
---- Special ---------------------------------------------------------------
1.06.70 13/12/1994 PBA
This is an alpha for FrancisT derived directly from
1.06. The only differences are that it does not open in
monitor contention mode, it uses map registers rather
than the "horrible hack" and it is an NT only build.
---- Special ---------------------------------------------------------------
1.06.60 05/11/1994 PBA
Same as 1.06.50 but with FastMAC Plus 1.24.
---- Special ---------------------------------------------------------------
1.06.50 23/11/1994 PBA
Shipped to Microsoft for possible inclusion in the next
NT and Chicago (M8) releases. Uses FastMAC Plus v1.20.
This is based on 1.05.04.
----------------------------------------------------------------------------
1.06.01 - .49 Reserved for release 4.3(0) maintenance.
1.06 Reserved for release 4.3(0).
Source used for 4.3(1) split from the main thread here.
1.05.04 22/11/1994 PBA
Changed the initialisation code to allow as few as
2 RX and 2 TX slots. Hopefully this will keep
Microsoft quiet about shared memory allocation.
1.05.03 22/11/1994 PBA
Added a shutdown handler. Note there is no documentation
for this, just an example in the IBMTOK2i source.
1.05.02 21/11/1994 PBA
Now re-tries bring-up up to 10 times.
1.05.01 18/11/1994 PBA
Added code to set a product instance id in FastMAC plus.
1.05 18/11/1994 PBA
Windows95 build for PnP field trials. Uses FastMAC Plus
v1.20.
1.04.54 17/11/1994 PBA
Modified the PnP HWI to set the channel ready bit
if the active float channel ready bit is set in the
PnP hardware features byte.
1.04.53 17/11/1994 PBA
Added support for PCI under Chicago. This has to be
done with a compile time switch because the
NdisReadPciSlotInformation functions is not in the
Chicago (M7) Ndis wrapper. If this function call
is present then Chicago refuses to load the driver.
We get the PCI configuration in Chicago by just reading
from the registry.
1.04.52 16/11/1994 PBA
Changed PnP HWI so that it knows about C30s.
1.04.51 07/11/1994 PBA
Added PnP support. Chicago only at the moment.
1.04.50 04/11/1994 PBA
Added PCMCIA support. Chicago only at the moment.
Version numbers 1.04.01 to 1.04.49 are reserved for maintenance fixes
to version 1.04. Live development continues at 1.04.50.
1.04 08/11/1994 PBA
Cludged version use for PCI Releases. Uses FastMAC Plus v1.21
and hwi_pci.c from v1.03 archive. This means that the
driver does MMIO on RX only (pseudo DMA on transmit).
1.03.07 07/11/1994 PBA
Alpha version shipped to Gordon Cairns.
Uses FastMAC Plus alpha v1.23.01
1.03.06 03/11/1994 PBA
Now supports transmit and receive PCI MMIO.
1.03.05 02/11/1994 PBA
Now sets the FTK error code if RX or TX buffers cannot
be allocaed.
1.03.04 01/11/1994 PBA
Arranged for the PCI cards to be defaulted to pseudo DMA
if MMIO memory is not allocated or cannot be mapped into
virtual memory.
1.03.03 01/11/1994 PBA
Tidied up the error messages written to the event long
as the new DDK has a better range of error codes.
1.03.02 11/10/1994 PBA
Added a RingSpeed parameter to set the ringspeed(!).
RingSpeed == 0 means don't care about the ring speed;
use the default or use Force4/Force16. 1 means 4MBits.
2 means 16 MBits. RingSpeed overrides Force4/Force16.
1.03.01 7/10/1994 PD
Added traffic monitoring code enabled by uncommenting
line defining OID_MADGE_MONITOR in NDISMOD.H.
1.03 28/09/1994 PBA
Released for PCI release 4.2(3).
1.02.53 28/09/1994 PBA
Now uses FastMAC Plus 1.21.
1.02.52 28/09/1994 PBA
Added PCI support. There is a new registry parameter
called "NoMmio". By default MMIO is used as the PCI
transfer method. If NoMmio is 1 then pseudo DMA is used.
PCI adapters are identified by the "SlotNumber" parameter
in the registry. This is actually set to the logical
device number of the PCI adapter. If SlotNumber is set
to 0xffff then the PCI bus is searched for the first
unused Madge PCI adapter.
1.02.51 21/09/1994 PBA
Added a Multiprocessor parameter. If this parameter is
non-zero and the DMA channel is zero then multiprocessor
safe PIO is used. The code which enabled multiprocessor
safe PIO by when the DMA channel was set to 0x8000 has
been left in for backwards compatibility.
1.02.50 12/09/1994 PBA
The I/O location of the SIF registers is now recorded in
the adapter structure at initialisation time by the
hwi_xxx.c routines. Previously the SIF registers were
assumed to be at fixed offsets from a SIF base address.
This change is needed to support PCI adapters.
Due to the problems with FastMAC Plus a re-release with a new FastMAC
plus image will be needed for LSS 4.30. This release will be based on
1.02.xx which is the same as the earlier LSS 4.30 with some minor bug
fixes. Live development continues with 1.02.50.
1.02.04 12/09/1994 PBA
Now sets the "Madgic" bits in the FMP dowload header so
that we will run on none Madge adapters.
1.02.03 12/09/1994 PBA
Fixed a bug where we didn't check if the tx buffer memory
allocation had succeeded.
1.02.02 31/08/1994 PBA
Source shipped to Microsoft.
1.02.01 31/08/1994 PBA
Noew only checks the major and minor version numbers
of the download.
1.02 24/08/1994 PBA
Re-released for 4.3.
1.01.03 16/08/1994 PBA
Added comments about ring speed and duplicate addresses
to the cannot open error message.
1.01.02 11/08/1994 PBA
At the recommendation of Kevin Martin (Microsoft) the
NDIS_MAC_OPTIONS_NO_LOOPBACK bit is no-longer set and we
just allow the hardware to do loopback.
1.01.01 10/08/1994 PBA
Added a flag to the adapter structure called UseMPSafePIO.
If this flag is set then all of the DIO on the transmit
and receive paths is encapsulated in functions invoked
by NdisMSynchronizeWithInterrupt to protect the DIO
from PIO interrupts happening on another processor in
a multiprocessor machine. This flag is set if the DMA
channel is specified as 0x8000 - see MadgeReadRegstry().
1.01 22/07/1994 PBA
Released for 4.30.
1.00.08 20/07/1994 PBA
Added support for a Force16 option for ATULA adapters
and Force16 and Force4 options for AT/P and ISA/C/P
adapters.
1.00.07 19/07/1994 PBA
Added an option to allow the adapter to be forced open
(it was always done before, which is wrong).
1.00.06 04/07/1994 PBA
Found a race condition with ATULA cards in PIO mode. We
MUST claim interrupts (even if they are just for PIO)
until the "DMA" initialisation test is over or sometimes
WFWG (and possibly NT) permanently masks out our interrupts.
1.00.05 01/07/1994 PBA
Alpha version for Gordon Cairns to test.
1.00.04 29/06/1994 PBA
Used conditional assembly in sys_mem.c so that the
I/O on Intel platforms does not involve any mapping
(since the mapping always results in the port address
anyway).
1.00.03 28/06/1994 PBA
Now uses FTK common to all of the NDIS3 drivers.
1.00.02 28/06/1994 PBA
Fixed a bug in the ChangeFilter function. We were carefully
working out the new open options and passing the old options
in the SRB.
1.00.01 21/06/1994 PBA
First instance for MdgMPort. Derived from MdgNT v1.01.12
---------------------------------------------------------------------------*/
/******** End of MDGMPORT.UPD **********************************************/
|