READ_REGISTER_ULONG Doesn't Preserve ULONG Semantics on Alpha (160610)
The information in this article applies to:
- Microsoft Windows NT Workstation 4.0
- Microsoft Windows NT Server 4.0
This article was previously published under Q160610 SYMPTOMS
The READ_REGISTER_ULONG routine in the HAL for Alpha platform computers
does not preserve the ULONG semantics, which may cause the computer to stop
responding or bugcheck.
CAUSE
Currently, the READ_REGISTER_ULONG routing explicitly zeros out the upper
four bytes of the return value. This will destroy ULONG semantics, where
bit 31 is sign extended through to bit 63. This will potentially cause
drivers that poke memory mapped I/O for expected signatures to fail when
comparing the return value of READ_REGISTER_ULONG to a static constant when
bit 31 of the constant is set.
STATUS
Microsoft has confirmed this to be a problem in Microsoft Windows NT
version 4.0.
This problem was corrected in the latest Microsoft Windows NT 4.0 U.S.
Service Pack. For information on obtaining the service pack, query on the
following word in the Microsoft Knowledge Base (without the spaces):
Modification Type: | Major | Last Reviewed: | 8/8/2001 |
---|
Keywords: | kbHardware KB160610 |
---|
|