13Z082-70 - MDIS5 Windows driver (MEN) for 16Z082_IMPULSE
MDIS5 Windows driver (MEN) for 16Z082_IMPULSE
Download 13z08270.zip (2013-11-06)iMain file, requires MDIS5 System Package for Windows. ================================================================================
===== History of MDIS5 Windows Driver Package 13Z082-70 rev. 1.6.2.18
===== 2013-11-06 built from - MDIS5 LL-Driver 13Z082-06 rev. 1.6 (=Rev_1_5)
===== - MDIS5 Windows references rev. 2.18
================================================================================
-----[ 2013-11-06 : references Revision 2.18 ]-----
====== Based on Windows MDIS5 System Package 13MD05-70 Rev. 1.5 ======
--- Libraries ---
R: MK: errors and BSOD during Windows shutdown at SC26 with SMB2 driver
M: MK: synchronize power state change with IRP processing during shutdown
-----[ 2013-06-28 : 13Z082-06 Rev_1_5 ]-----
R: 1) IO module doesn't use io driver
2) driver not able to allocate 0x100 bytes of memory (caused Code 10 error under Windows)
3) cosmetics
M: 1) added swmodulelist section to the corresponding driver model
2) reduced address space to actual needed memory of IP core
3a) fixed user documentation
3b) changed descriptions from tacho to impulse
-----[ 2013-06-21 : 13Z082-06 Rev_1_4 ]-----
R: no documentation
M: added doxygen documentation
-----[ 2013-06-19 : 13Z082-06 Rev_1_3 ]-----
R: 1) MDIS5 driver required
2) IO driver required
M: 1) driver ported from MDIS4 to MDIS5 (according porting guide rev. 0.9)
2) added IO makefiles, added sw modules in desc. file
-----[ 2012-08-08 : references Revision 2.17 ]-----
=== Libraries ===
R:1. USR_OSS: UOS_KeyWait consumes too much CPU time
2. MK: BSOD 0x8E with EXCEPTION_CODE 0xc0000047 (semaphore max count exceeded)
3. MK: must not call BBIS driver's IrqEnable with masked IRQ
4. MK: prevent concurrent BBIS/LL-Drv. IrqEnable calls
5. MK: support required for chameleon FPGAs with mixed i/o and mem mapped units
6. MK: sub device list not save for concurrent execution
7. MK: M_read/M_write calls from MDIS4 applications not suppported by mistake
8. OSS: workaround in OSS_SemWait() required for SMB2 lib
9. OSS: prevent spin-lock dead-looks
M:1. USR_OSS: delay added to provide CPU time to other threads
2. MK: error handling improved to prevent release of not claimed semaphore
3.a) MK: disabling BBIS IRQ no longer with masked IRQ
b) MK: MK_REVISION set to MDIS_MKREV_2
4. MK: enable BBIS IRQ with claimed semaphore
5. MK: use newer BBIS_CFGINFO_ADDRSPACE prior BBIS_BRDINFO_ADDRSPACE
6. MK: sub device list protected with semaphore
7. MK: support MDIS4 IOCTLs for MDIS4 applications
8.a) OSS: OSS_SemWait: IRQL = DISPATCH_LEVEL: skip waiting
b) OSS: OSS_SemWait: IRQL > DISPATCH_LEVEL: skip KeWaitForSingleObject(), return ERR_OSS
9. OSS: use WDF spin-locks and restrict usage to IRQL <= DISPATCH_LEVEL
-----[ 2010-12-08 : references Revision 2.16 ]-----
====== Based on Windows MDIS5 System Package 13MD05-70 Rev. 1.3 ======
--- Libraries ---
R:1. Power Management support
2. MDIS_API: new MK error codes ERR_MK_SLEEP_ILLHDL, ERR_MK_SLEEP_LOCKED
3. MDIS_API: revision string is empty for M_MK_BLK_REV_ID
4. USR_OSS: signal handling update
5. OSS: signal events stay in signal list after exit on XP SP3
6. OSS: spin lock support functions required for Chameleon BBIS
7. SMB2: DBGWRT failed with zero data pointer
M:1.a) USR_SLEEP library added
b) MK: adapted for Power Management
2. MDIS_API: supports new error code description
3. MDIS_API: string generation fixed
4.a) USR_OSS: SigUnMask removed in UOS_SigWait
b) USR_OSS: terminates no longer signal thread on queue overrun
c) USR_OSS: queue size increased
5. OSS: added close of event for XP SP3
6. OSS: OSS_SpinLockXxx functions added
7. SMB2: fixed debug message
-----[ 2010-11-05 : references Revision 2.15 ]-----
APB5:
R: 1. prevent native file check-in if win-pkg fileset was already checked-in
2. bug: building internal win-pkg if swmodule attribut internal=false set
3. APB5 script error if xml specifies os/notos tag or one sw module is
specified multiple times
4. sometimes, win-pkg zip was checked-in as ascii file
M: 1. dont't ask to check-in native files if win-pkg fileset was checked-in
2. bug fixed: building internal win-pkg only if internal=true set
3. script fixed
4. win-pkg zip check-in fixed
BUILD:
R: missing libraries for executables with the use of API DLLs
M: added libraries to TMPL_TARGETLIBS for API DLLs version
-----[ 2010-11-03 : references Revision 2.14 ]-----
Windows driver package generation (BUILD, APB5):
R:1. new mdiswiz.exe version available
2. internal files not needed for public distribution
M:1. using mdiswiz.exe rev. 1.3
2. removed category public from internal files
SW Modules:
R:1. MDIS_API: new MK error codes ERR_MK_SLEEP_ILLHDL, ERR_MK_SLEEP_LOCKED
2. MK: IRP processing must be synchronized with power management
3. OSS: signal events stay in signal list after exit on XP SP3
4. USR_OSS: SigUnMask at the end of UOS_SigWait incorrect
5. USR_OSS: Queue overrun leads to exit thread, no further signals delivered
M:1. MDIS_API: new built to support new error code description
2.a) MK: block sleep until all IRPs in progress are finished
b) MK: begin no new IRP after system indicates to enter a sleep state
3. OSS: added close of event for XP SP3
4. USR_OSS: SigUnMask removed in UOS_SigWait
5.a) USR_OSS: removed closing thread on queue overrun
b) USR_OSS: queue size increased
-----[ 2010-09-27 : references Revision 2.13 ]-----
R:1. MK: MkDevListGet/SetCtxt() declared for paged segment but PAGED_CODE
missing
2. MK: PREfast warnings for some DBGTRC
3. MK: preventing power state change in kernel mode not supported any more,
user mode application is responsible for
4. MK: support for power management
5. MDIS_API: Revision string is empty for M_MK_BLK_REV_ID
6. SMB2: DBGWRT failed with zero data pointer
M:1. MK: PAGED_CODE added
2. MK: some DBGTRC fixed
3. MK: removed preventing system state change while path opened
4.a) close open ll handle when power state change to sleep mode
b) changed return code for illegal handle
5. MDIS_API: Fixed string generation
6. SMB2: fixed debug message
-----[ 2010-07-26 : references Revision 2.12 ]-----
Windows driver package generation (APB5):
R: WEBART logging doesn't work
M: WEBART logging fixed
-----[ 2010-07-23 : references Revision 2.11 ]-----
Windows driver package generation (APB5):
M:1. 13MD05-70 released
2. new mdiswiz version with fixes in pkg2inf5
3. build environment changed
R:1. use revision from 13MD05-70 as major PRODUCTVERSION
2.a) inf files: mcvs date/revision info in inf header replaced with creation
date and mdiswiz pkg2inf revision
b) inf files: ExcludeFromSelect removed
c) inf files: models without autoid use 'XXX[_SW]&NO_AUTOID'
3. create embedded signature in 64-bit free and checked drivers
SW Modules:
R:1. smb2.lib - 16Z001_SMB: terminate bit could be set if status is polled
before an abort operation finishes
2. smb2_io.lib - ICH SMB: sometimes wasting time during transfer
M:1. smb2.lib - 16Z001_SMB: add max. 500 ms wait time after starting an abort
operation
2. smb2_io.lib - ICH SMB: LocWaitBusyReady function fixed
-----[ 2010-06-11 : references Revision 2.10 ]-----
R:1. mk.lib: check for invalid interrupt object was buggy
2. mk.lib: new address mode MDIS_MA_BB_INFO_PTR
M:1. mk.lib: check for invalid interrupt object removed
2. mk.lib: support for new address mode MDIS_MA_BB_INFO_PTR
-----[ 2010-05-07 : references Revision 2.9 ]-----
R:1. low-level drivers that use new MDIS_MA_BB_INFO_PTR feature
requires chameleon.h (e.g. Z88 driver)
2. support embedded signature for 64-bit free and checked drivers
M:1.a) chameleon.h added
b) chameleon lib documentation added
2. sign all built 64-bit .sys files
-----[ 2010-04-14 : references Revision 2.8 ]-----
R: swapping variant of PLD library required for M72 driver
M: pld_sw.lib added
-----[ 2010-04-14 : references Revision 2.7 ]-----
R:1. VME4WIN for MDIS5 supported
2. mdiswiz support for new busif SMBus required
M:1.a) mk : added check for invalid interrupt object
b) oss: adapted VME KM interface access
2. replaced Qt3 based mdiswiz by Qt4 based mdiswiz
-----[ 2009-11-09 : references Revision 2.6 ]-----
R:1. APB5: missing check for unsupported setup/build options
2. APB5: .cat file was not timestamped
3. OSS_IrqRestore decreases IRQL that was not increased by current context
4. OSS_SigRemove ZwClose leads to BSOD at Windows XP
M:1. setup/build option check improved
2. /t <URL> added to signtool sign
3. Changed order to reset irqmasked
4. Added check for os version
-----[ 2009-10-30 : references Revision 2.5 ]-----
R: OSS lib: Mapped io address is zero
M: OSS lib: Fixed set virtAddr to physAddr at IO addr space
-----[ 2009-10-28 : references Revision 2.4 ]-----
R:1. MK lib: new BBIS bus type OSS_BUSTYPE_SMB handled as error
2. OSS lib: no interrupt spinlock release at last call of OSS_IrqRestore
M:1. MK: BBIS bus type check removed (to be open minded for future bus types)
2. OSS: Removed restting irqmasked at OSS_IrqMaskR
-----[ 2009-10-23 : references Revision 2.3 ]-----
R:1. MkInitExit and MkEvtDeviceD0EntryPostInterruptsEnabled must be nonpageable
2. OSS lib: irqmasked bit not cleared after releasing interrupt spinlock
M:1. MK lib: Fixed to be nonpageable
2. OSS lib: Fixed to reset irqmasked at OSS_IrqRestore
-----[ 2009-10-20 : references Revision 2.2 ]-----
R:1. Releasing interrupt spinlock that had not been masked by OSS_IrqMaskR leads
to lowering IRQL in ISR
2. Fixed OSS Libraray OSS_IRQ_HANDLE
M:1. Fixed releasing interrupt spinlock just when masked before in OSS library
2. Recompilation of MK library
-----[ 2009-10-12 : references Revision 2.1 ]-----
Initial Revision
-----[ 2006-08-04 : 13Z082-06 Rev_1_2 ]-----
*** CHANGED FILES ***
File /_CVS_/COM/DRIVERS/MDIS_LL/Z082/DRIVER/COM/z82_drv.c RCS 1.3 -> RCS 1.4
corrected wrong MACCESS use
-----[ 2006-08-04 : 13Z082-06 Rev_1_1 ]-----
*** CHANGED FILES ***
File z82_drv.c: Clear counter on Init, Cosmetics
-----[ 2006-08-02 : 13Z082-06 Rev_1_0 ]-----
Initial Revision
Licensing Information
===== History of MDIS5 Windows Driver Package 13Z082-70 rev. 1.6.2.18
===== 2013-11-06 built from - MDIS5 LL-Driver 13Z082-06 rev. 1.6 (=Rev_1_5)
===== - MDIS5 Windows references rev. 2.18
================================================================================
-----[ 2013-11-06 : references Revision 2.18 ]-----
====== Based on Windows MDIS5 System Package 13MD05-70 Rev. 1.5 ======
--- Libraries ---
R: MK: errors and BSOD during Windows shutdown at SC26 with SMB2 driver
M: MK: synchronize power state change with IRP processing during shutdown
-----[ 2013-06-28 : 13Z082-06 Rev_1_5 ]-----
R: 1) IO module doesn't use io driver
2) driver not able to allocate 0x100 bytes of memory (caused Code 10 error under Windows)
3) cosmetics
M: 1) added swmodulelist section to the corresponding driver model
2) reduced address space to actual needed memory of IP core
3a) fixed user documentation
3b) changed descriptions from tacho to impulse
-----[ 2013-06-21 : 13Z082-06 Rev_1_4 ]-----
R: no documentation
M: added doxygen documentation
-----[ 2013-06-19 : 13Z082-06 Rev_1_3 ]-----
R: 1) MDIS5 driver required
2) IO driver required
M: 1) driver ported from MDIS4 to MDIS5 (according porting guide rev. 0.9)
2) added IO makefiles, added sw modules in desc. file
-----[ 2012-08-08 : references Revision 2.17 ]-----
=== Libraries ===
R:1. USR_OSS: UOS_KeyWait consumes too much CPU time
2. MK: BSOD 0x8E with EXCEPTION_CODE 0xc0000047 (semaphore max count exceeded)
3. MK: must not call BBIS driver's IrqEnable with masked IRQ
4. MK: prevent concurrent BBIS/LL-Drv. IrqEnable calls
5. MK: support required for chameleon FPGAs with mixed i/o and mem mapped units
6. MK: sub device list not save for concurrent execution
7. MK: M_read/M_write calls from MDIS4 applications not suppported by mistake
8. OSS: workaround in OSS_SemWait() required for SMB2 lib
9. OSS: prevent spin-lock dead-looks
M:1. USR_OSS: delay added to provide CPU time to other threads
2. MK: error handling improved to prevent release of not claimed semaphore
3.a) MK: disabling BBIS IRQ no longer with masked IRQ
b) MK: MK_REVISION set to MDIS_MKREV_2
4. MK: enable BBIS IRQ with claimed semaphore
5. MK: use newer BBIS_CFGINFO_ADDRSPACE prior BBIS_BRDINFO_ADDRSPACE
6. MK: sub device list protected with semaphore
7. MK: support MDIS4 IOCTLs for MDIS4 applications
8.a) OSS: OSS_SemWait: IRQL = DISPATCH_LEVEL: skip waiting
b) OSS: OSS_SemWait: IRQL > DISPATCH_LEVEL: skip KeWaitForSingleObject(), return ERR_OSS
9. OSS: use WDF spin-locks and restrict usage to IRQL <= DISPATCH_LEVEL
-----[ 2010-12-08 : references Revision 2.16 ]-----
====== Based on Windows MDIS5 System Package 13MD05-70 Rev. 1.3 ======
--- Libraries ---
R:1. Power Management support
2. MDIS_API: new MK error codes ERR_MK_SLEEP_ILLHDL, ERR_MK_SLEEP_LOCKED
3. MDIS_API: revision string is empty for M_MK_BLK_REV_ID
4. USR_OSS: signal handling update
5. OSS: signal events stay in signal list after exit on XP SP3
6. OSS: spin lock support functions required for Chameleon BBIS
7. SMB2: DBGWRT failed with zero data pointer
M:1.a) USR_SLEEP library added
b) MK: adapted for Power Management
2. MDIS_API: supports new error code description
3. MDIS_API: string generation fixed
4.a) USR_OSS: SigUnMask removed in UOS_SigWait
b) USR_OSS: terminates no longer signal thread on queue overrun
c) USR_OSS: queue size increased
5. OSS: added close of event for XP SP3
6. OSS: OSS_SpinLockXxx functions added
7. SMB2: fixed debug message
-----[ 2010-11-05 : references Revision 2.15 ]-----
APB5:
R: 1. prevent native file check-in if win-pkg fileset was already checked-in
2. bug: building internal win-pkg if swmodule attribut internal=false set
3. APB5 script error if xml specifies os/notos tag or one sw module is
specified multiple times
4. sometimes, win-pkg zip was checked-in as ascii file
M: 1. dont't ask to check-in native files if win-pkg fileset was checked-in
2. bug fixed: building internal win-pkg only if internal=true set
3. script fixed
4. win-pkg zip check-in fixed
BUILD:
R: missing libraries for executables with the use of API DLLs
M: added libraries to TMPL_TARGETLIBS for API DLLs version
-----[ 2010-11-03 : references Revision 2.14 ]-----
Windows driver package generation (BUILD, APB5):
R:1. new mdiswiz.exe version available
2. internal files not needed for public distribution
M:1. using mdiswiz.exe rev. 1.3
2. removed category public from internal files
SW Modules:
R:1. MDIS_API: new MK error codes ERR_MK_SLEEP_ILLHDL, ERR_MK_SLEEP_LOCKED
2. MK: IRP processing must be synchronized with power management
3. OSS: signal events stay in signal list after exit on XP SP3
4. USR_OSS: SigUnMask at the end of UOS_SigWait incorrect
5. USR_OSS: Queue overrun leads to exit thread, no further signals delivered
M:1. MDIS_API: new built to support new error code description
2.a) MK: block sleep until all IRPs in progress are finished
b) MK: begin no new IRP after system indicates to enter a sleep state
3. OSS: added close of event for XP SP3
4. USR_OSS: SigUnMask removed in UOS_SigWait
5.a) USR_OSS: removed closing thread on queue overrun
b) USR_OSS: queue size increased
-----[ 2010-09-27 : references Revision 2.13 ]-----
R:1. MK: MkDevListGet/SetCtxt() declared for paged segment but PAGED_CODE
missing
2. MK: PREfast warnings for some DBGTRC
3. MK: preventing power state change in kernel mode not supported any more,
user mode application is responsible for
4. MK: support for power management
5. MDIS_API: Revision string is empty for M_MK_BLK_REV_ID
6. SMB2: DBGWRT failed with zero data pointer
M:1. MK: PAGED_CODE added
2. MK: some DBGTRC fixed
3. MK: removed preventing system state change while path opened
4.a) close open ll handle when power state change to sleep mode
b) changed return code for illegal handle
5. MDIS_API: Fixed string generation
6. SMB2: fixed debug message
-----[ 2010-07-26 : references Revision 2.12 ]-----
Windows driver package generation (APB5):
R: WEBART logging doesn't work
M: WEBART logging fixed
-----[ 2010-07-23 : references Revision 2.11 ]-----
Windows driver package generation (APB5):
M:1. 13MD05-70 released
2. new mdiswiz version with fixes in pkg2inf5
3. build environment changed
R:1. use revision from 13MD05-70 as major PRODUCTVERSION
2.a) inf files: mcvs date/revision info in inf header replaced with creation
date and mdiswiz pkg2inf revision
b) inf files: ExcludeFromSelect removed
c) inf files: models without autoid use 'XXX[_SW]&NO_AUTOID'
3. create embedded signature in 64-bit free and checked drivers
SW Modules:
R:1. smb2.lib - 16Z001_SMB: terminate bit could be set if status is polled
before an abort operation finishes
2. smb2_io.lib - ICH SMB: sometimes wasting time during transfer
M:1. smb2.lib - 16Z001_SMB: add max. 500 ms wait time after starting an abort
operation
2. smb2_io.lib - ICH SMB: LocWaitBusyReady function fixed
-----[ 2010-06-11 : references Revision 2.10 ]-----
R:1. mk.lib: check for invalid interrupt object was buggy
2. mk.lib: new address mode MDIS_MA_BB_INFO_PTR
M:1. mk.lib: check for invalid interrupt object removed
2. mk.lib: support for new address mode MDIS_MA_BB_INFO_PTR
-----[ 2010-05-07 : references Revision 2.9 ]-----
R:1. low-level drivers that use new MDIS_MA_BB_INFO_PTR feature
requires chameleon.h (e.g. Z88 driver)
2. support embedded signature for 64-bit free and checked drivers
M:1.a) chameleon.h added
b) chameleon lib documentation added
2. sign all built 64-bit .sys files
-----[ 2010-04-14 : references Revision 2.8 ]-----
R: swapping variant of PLD library required for M72 driver
M: pld_sw.lib added
-----[ 2010-04-14 : references Revision 2.7 ]-----
R:1. VME4WIN for MDIS5 supported
2. mdiswiz support for new busif SMBus required
M:1.a) mk : added check for invalid interrupt object
b) oss: adapted VME KM interface access
2. replaced Qt3 based mdiswiz by Qt4 based mdiswiz
-----[ 2009-11-09 : references Revision 2.6 ]-----
R:1. APB5: missing check for unsupported setup/build options
2. APB5: .cat file was not timestamped
3. OSS_IrqRestore decreases IRQL that was not increased by current context
4. OSS_SigRemove ZwClose leads to BSOD at Windows XP
M:1. setup/build option check improved
2. /t <URL> added to signtool sign
3. Changed order to reset irqmasked
4. Added check for os version
-----[ 2009-10-30 : references Revision 2.5 ]-----
R: OSS lib: Mapped io address is zero
M: OSS lib: Fixed set virtAddr to physAddr at IO addr space
-----[ 2009-10-28 : references Revision 2.4 ]-----
R:1. MK lib: new BBIS bus type OSS_BUSTYPE_SMB handled as error
2. OSS lib: no interrupt spinlock release at last call of OSS_IrqRestore
M:1. MK: BBIS bus type check removed (to be open minded for future bus types)
2. OSS: Removed restting irqmasked at OSS_IrqMaskR
-----[ 2009-10-23 : references Revision 2.3 ]-----
R:1. MkInitExit and MkEvtDeviceD0EntryPostInterruptsEnabled must be nonpageable
2. OSS lib: irqmasked bit not cleared after releasing interrupt spinlock
M:1. MK lib: Fixed to be nonpageable
2. OSS lib: Fixed to reset irqmasked at OSS_IrqRestore
-----[ 2009-10-20 : references Revision 2.2 ]-----
R:1. Releasing interrupt spinlock that had not been masked by OSS_IrqMaskR leads
to lowering IRQL in ISR
2. Fixed OSS Libraray OSS_IRQ_HANDLE
M:1. Fixed releasing interrupt spinlock just when masked before in OSS library
2. Recompilation of MK library
-----[ 2009-10-12 : references Revision 2.1 ]-----
Initial Revision
-----[ 2006-08-04 : 13Z082-06 Rev_1_2 ]-----
*** CHANGED FILES ***
File /_CVS_/COM/DRIVERS/MDIS_LL/Z082/DRIVER/COM/z82_drv.c RCS 1.3 -> RCS 1.4
corrected wrong MACCESS use
-----[ 2006-08-04 : 13Z082-06 Rev_1_1 ]-----
*** CHANGED FILES ***
File z82_drv.c: Clear counter on Init, Cosmetics
-----[ 2006-08-02 : 13Z082-06 Rev_1_0 ]-----
Initial Revision
Licensing Information
Supported MEN Standard Products
Supported Operating System
- Windows XP
- Windows Vista 32-bit
- Windows Vista 64-bit
- Windows 7 32-bit
- Windows 7 64-bit
Included
13Z082-06 (source code)
Features
- Programmable debouncer
- 5-bit address width
- 32-bit data width
Included Documentation
HTML Documentation
Notes
Requires MDIS5 system package
Licensing Information
This article is free of charge.
Ordering Information & Downloads
Main Software
13Z082-70
MDIS5 Windows driver (MEN) for 16Z082_IMPULSE
Requires a compatible MDIS system package.