64af150218d36851840959
64af150218d36851840959
64af150218d36851840959
January 2002
® ® ®
Notice: The Intel 82371AB PIIX4, Intel 82371EB PIIX4E, and Intel 82371MB PIIX4M
may contain design defects or errors known as errata which may cause the product to
deviate from published specifications. Current characterized errata are documented in
this Specification Update.
No license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted by this document.
Except as provided in Intel’s Terms and Conditions of Sale for such products, Intel assumes no liability whatsoever, and Intel disclaims any express or
implied warranty, relating to sale and/or use of Intel products including liability or warranties relating to fitness for a particular purpose, merchantability,
or infringement of any patent, copyright or other intellectual property right.
Intel products are not intended for use in medical, life saving, or life sustaining applications.
Intel may make changes to specifications and product descriptions at any time, without notice.
Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined." Intel reserves these for
future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them.
The Intel® 82371AB PIIX4, Intel® 82371EB PIIX4E, and Intel® 82371MB PIIX4M may contain design defects or errors known as errata which may cause
the product to deviate from published specifications. Current characterized errata are available on request.
Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order.
Copies of documents which have an ordering number and are referenced in this document, or other Intel literature, may be obtained from:
Intel Corporation
www.intel.com
or call 1-800-548-4725
Intel, Pentium and Xeon and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other
countries.
2 Specification Update
R
®
Intel 82371AB PIIX4, 82371EB PIIX4E, 82371MB PIIX4M
Contents
Revision History................................................................................................................... 4
Preface ................................................................................................................................ 5
Specification Changes....................................................................................................... 13
Errata................................................................................................................................. 22
Documentation Changes................................................................................................... 52
Specification Update 3
® R
Revision History
Rev. Draft/Changes Date
-003 Added Specification Change #2, Errata #12 and #13, and Documentation Change #6 Mar. 98
-004 Added Specification Change #3, Errata #14, Specification Clarifications #18 and #19, Apr. 98
Documentation Changes #7 and #8
-006 Added Specification Change #4, Specification Clarifications #21-24 and Documentation Jul. 98
Change #9.
-012 • Added Specification Changes #11-12, Errata #22, Specification Clarifications 25-26, and March 2001
Documentation Changes #10-12
• Added PIIX4E and PIIX4M specification update information. Added specification Changes
#13-19 and Specification Clarification #27. These were previously in the PIIXE and/or
PIIX4M Specification Updates and do not represent new information.
-013 • Added current Specification Changes, Errata, Specification Clarifications and Document June 2001
Changes
4 Specification Update
R
®
Intel 82371AB PIIX4, 82371EB PIIX4E, 82371MB PIIX4M
Preface
This document is an update to the specifications contained in the documents listed in the following
Affected Documents/Related Documents table. It is a compilation of device and document errata
and specification clarifications and changes, and is intended for hardware system manufacturers
and for software developers of applications, operating system, and tools.
Information types defined in the Nomenclature section of this document are consolidated into this
update document and are no longer published in other documents. This document may also contain
information that has not been previously published.
This specification update is for the 82371AB PIIX4, 82371EB PIIX4E, and 82371MB PIIX4M
components. Unless otherwise stated, the information in this document applies to all three
components.
Intel 82371AB (PIIX4) PCI ISA IDE Xcelerator Timing Specification 290548-001
Nomenclature
Specification Changes are modifications to the current published specifications. These changes
will be incorporated in the next release of the specifications.
Errata are design defects or errors. Errata may cause the 82371AB PIIX4, 82371EB PIIX4E, and
82371MB PIIX4M, behavior to deviate from published specifications. Hardware and software
designed to be used with any given stepping must assume that all errata documented for that
stepping are present on all devices.
Documentation Changes include typos, errors, or omissions from the current published
specifications. These changes will be incorporated in the next release of the specifications.
Specification Update 5
® R
The Intel® 82371AB PIIX4, 82371EB PIIX4E, and 82371MB PIIX4M may be identified by the
following register contents:
The 82371AB PIIX4, 82371EB PIIX4E, and 82371MB PIIX4M may be identified by the
following component markings:
82371AB PIIX4
PIIX4 B-0 SL2KM FW82371AB SL23P Production, Multiple FPO per Reel
6 Specification Update
R
®
Intel 82371AB PIIX4, 82371EB PIIX4E, 82371MB PIIX4M
82371EB PIIX4E
82371MB PIIX4M
PIIX4M A-0 SL3DD FW82371MB SL3CG Production Remnant Spec (0.35 µ process)
Specification Update 7
® R
The following table indicates the Specification Changes, Errata, Specification Clarifications or
Documentation Changes, which apply to the listed Intel® 82371AB PIIX4, 82371EB PIIX4E, and
82371MB PIIX4M steppings. Intel intends to fix some of the errata in a future stepping of the
component and to account for the other outstanding issues through documentation or Specification
Changes as noted. This table uses the following notations:
(No mark) or (Blank Box): This erratum is fixed in listed stepping or specification change does
not apply to listed stepping.
Shaded: This item is either new or modified from the previous version of the
document.
8 Specification Update
R
®
Intel 82371AB PIIX4, 82371EB PIIX4E, 82371MB PIIX4M
4 CLKRUN# Re-Assertion
5 CNTB Granularity
19 DC Spec Change for all CPU CMOS I/F Signals to 9.7mA @ 450mV
(PIIX4E and PIIX4M only)
Specification Update 9
® R
A0 A1 B0 A0 A0
10 Specification Update
R
®
Intel 82371AB PIIX4, 82371EB PIIX4E, 82371MB PIIX4M
1 CONFIG[1] Definition
3 IRQ8# Routing
4 IRQ9 Routing
14 Unrouting a PIRQ
19 RSMRST# Behavior
22 XDIR# Assertion
24 Do Not Use 4-Clock Serial IRQ Start Frame Width When CLKRUN# Is Enabled
27 Interrupt Deassertion (only 0.35 µ process device) (PIIX4E and PIIX4M only)
Specification Update 11
® R
11 Fast_A20
12 Specification Update
R
®
Intel 82371AB PIIX4, 82371EB PIIX4E, 82371MB PIIX4M
Specification Changes
This register indicates that PCI interrupt pin PIRQA# is used for the Power Management module.
Bit Description
Specification Update 13
® R
4. CLKRUN# Re-Assertion
The PIIX4 datasheet on page 210, Section 11.2.3, PCI Clock Control, states if no other device in
the system denies the request to stop before the fifth PCI clock, then the PIIX4 asserts the
PCI_STP#. Any device must deny the request to stop before the fourth PCI clock.
5. CNTB Granularity
The PIIX4 datasheet, Section 7.1.12, defines the Count B (Function 3) register functionality.
CNTB[5] currently indicates that when this bit is set that the fast burst timer granularity is 1 µs.
This is incorrect, the granularity, when CNTB[5] is set is 8 µs.
Bit Description
5 Processor PLL Lock Resolution (CPU_SEL) - R/W. Selects the clock resolution used for the fast
burst timer when it is used to count the processor’s PLL lock time. 0= 1 ms granularity. 1= 8 µs
granularity.
The phrase “PIIX4 waits for the processor PLL to start and lock (about 1 ms + 32 kHz period) then
negates the SUS_STAT1# signal {4}.” Is inaccurate. This sentence will be replaced by “PIIX4
waits for the processor PLL to start and lock (about CPU_LCK time + 32 kHz period) then negates
the SUS_STAT1# signal {4}.”
The sentence “PIIX4 waits up to 2-32 kHz periods and then negates the STPCLK# signal {5}.” Is
inaccurate. This sentence will be replaced by “PIIX4 waits two–three 32 kHz periods (if
SLEEP_EN=0), or three–five 32 kHz periods (if SLEEP_EN=1) and then negates the STPCLK#
signal {5}.”
14 Specification Update
R
®
Intel 82371AB PIIX4, 82371EB PIIX4E, 82371MB PIIX4M
This change applies to all steppings of the PIIX4E and is planned to be incorporated into the next
revision of the PIIX4 datasheet.
Specification Update 15
® R
This change applies to all steppings of the PIIX4E and PIIX4M and is planned to be incorporated
into the next revision of the datasheets.
Bit Description
3:1 Throttle Duty Programming Bits (THTL_DTY)—R/W. Selects the duty cycle of the STPCLK#
signal when the system is in the system throttling mode. The duty cycle indicates the percentage of
time the STPCLK# signal is asserted while in the throttle mode. The field is decoded as follows:
Bits[2:0] Mode Bits[2:0] Mode
000 Reserved 100 50%
001 87.5% 101 37.5%
010 75% 110 25%
011 62.5% 111 12.5%
16 Specification Update
R
®
Intel 82371AB PIIX4, 82371EB PIIX4E, 82371MB PIIX4M
14. Enabling and Disabling Manual Throttling (PIIX4E and PIIX4M only)
For the PIIX4, the manual throttling state is initiated by setting CC_EN, THT_EN and reading the
LVL2 register. A break event will disable throttling and another LVL2 read is required to restart
throttling. On the PIIX4E, break events will not disable manual throttling. Manual throttling mode
begins when CC_EN and THT_EN are set. Manual throttling mode is disabled when either
CC_EN or THT_EN is disabled.
This change applies to all steppings of the PIIX4E and PIIX4M and is planned to be incorporated
into the next version of the datasheets.
System Throttle Control: If the system has been placed into the Stop Grant or Quick Start states
and [THT_EN] bit is set, PIIX4 toggles the STPCLK# signal and ZZ signal (If [ZZ_EN] set) with
a period of 244 µs (approximately eight 32 kHz clock periods) and a pprogramable duty cycle.
This system toggles between full-speed operation and the Stop Grant or Quick Start state. The duty
cycle can be set in 12.5% increments by programming the [THTL_DTY] bits in the Processor
Control (P_CNTRL) register. This emulates a reduced frequency Host clock, resulting in
associated power savings.
Stop Break and Burst Execution: Once the hardware has been placed into a clock control state, it
can be restored to full operatin by system hardware or software. Software can restore the system to
full operation by clearing the [CC_EN] bit. Hardware events can be enabled to return the system to
a non-clock controlled condition. If the [BRST_EN] bit is reset, these events are called Stop Break
Events. Alternatively, if the [BRST_EN] bit is set, thses events are called Burst Events.
Stop Break events completely return the system to non-clock controlled state. To restore clock
control, software must set the desired clock control configuration and again perform a read from
LVL2 or LVL3 registers to initiate the control.
Note that Stop Break events do not halt Stop Grant/Quick Start with Throttle. The PIIX4E will
continue to throttle STPCLK#. Also note that if the system does a LVL2 read with CC_EN and
THT_EN set, the PIIX4E will enter the Stop Grant/Quick Start state without throttle. Upon a break
event, the PIIX4E will re-enter the Stop Grant/Quick Start state with Throttle.
Specification Update 17
® R
15. RI# and USB Generate an SCI (PIIX4E and PIIX4M only)
The PIIX4E/PIIX4M do not have the ability to generate an SCI upon the setting of RI_STS or
USB_STS. The PIIX4E/PIIX4M can generate an SCI upon the setting of RI_STS or USB_STS.
The SCI_EN bit (PM base + 04h bit 0) and the RI_EN (PM + 0Eh bit 10) must be set to enable the
SCI generation from RI assertion. The SCI_EN bit and the USB_EN bit (PM base + 0Eh bit 8)
must be set in order to enable SCI generation from USB interrupts.
This change applies to all steppings of the PIIX4E and PIIX4M and is planned to be incorporated
into the next revision of the datasheets.
Bit Description
15:12 Reserved.
11 Lid Enable(LID_EN)—R/W. 1=Enable the generation of an SMI#, SCI, or resume event upon
the setting of the LID_STS bit. 0=Disable
10 Ring Enable(RI_EN)—R/W. 1=Enable the generation of an SCI or resume event upon the
setting of the RI_STS bit. 0=Disable
9 GPI Enable(GPI_EN)—R/W. 1= Enable the generation of an SMI#, SCI, or resume event upon
the setting of the GPI_STS bit. 0=Disable
8 USB Enable (USB_EN)—R/W. 1=Enable the generation of an SCI or resume event upon the
setting of the USB_STS bit. 0=Disable.
7:1 Reserved.
0 Thermal Enable(THRM_EN)—R/W. 1=Enable the generation of tan SMI# or SCI upon the
setting of the THRM_STS bit. 0=Disable
16. Thermal Override Allows Break Events (PIIX4E and PIIX4M only)
If THRM# is asserted for more than 2 seconds while the PIIX4 is in a Stop Grant, Stop Clock,
Sleep, or Deep Sleep state, the PIIX4 will defer all break events until the THRM# signal goes
inactive. The PIIX4E/PIIX4M will not defer break events based on the state of the THRM# signal.
This change applies to all steppings of the PIIX4E and PIIX4M and is planned to be incorporated
into the next revision of the datasheets.
18 Specification Update
R
®
Intel 82371AB PIIX4, 82371EB PIIX4E, 82371MB PIIX4M
This change applies to all steppings of the PIIX4E and PIIX4M and is planned to be incorporated
into the next revision of the datasheets.
Bit Description
2 Thermal Break Enable (THRM_BK_EN) – R/W. 1=Generate a break event after THRM#
deassertion halts thermal throttling. 0=Disable
The duty cycle selections retain the same proportions (1/8, ¼, 3/8, etc.) although the actual time
high or low is reduced to correspond with the shorter period.
This applies to all steppings of the PIIX4M (only) and is planned to be incorporated into the next
revision of the PIIX4 datasheet.
19. DC Spec Change for all CPU CMOS I/F Signals to 9.7mA @ 450mV (PIIX4E
and PIIX4M only)
The DC characteristics for all CPU CMOS I/F signals, as specified in the 82371AB (PIIX4) PCI
ISA IDE Xcelerator Timing Specification datasheet addendum, is now changed to 9.7mA @
450mV, to accommodate stronger external pull-up resistors. This applies to A20M#, IGNNE#,
INIT#, INTR, NMI, SLP#, STPCLK#, CPURST, and SMI#. This change supercedes the
Specification Change #12 (above) for SMI#.
Specification Update 19
® R
20 Specification Update
R
®
Intel 82371AB PIIX4, 82371EB PIIX4E, 82371MB PIIX4M
Specification Update 21
® R
Errata
Implication: When the above conditions occur, the system will not transition into the Level 2 or Level 3 clock
control condition as intended but will remain at full speed
Workaround: Software must ensure that no external burst events are active when placing the system into a LVL2
or LVL3 state. To ensure this, prior to LVL2 or Software must ensure that no external burst events
are active when placing the system into a LVL2 or LVL3 state. To ensure this, prior to LVL2 or
LVL3 register read, only the Device 3 idle timer should be enabled as a burst event. The device 3
idle timer is then enabled with all reload events disabled. The LVL2 or LVL3 register read is
performed placing the system into a LVL2 or LVL3 clock control condition. The Device 3 idle
timer will then generate a burst event upon expiration. During this first burst, the desired burst
events are then enabled. The system then functions as expected.
Status: This will not be fixed in PIIX4/PIIX4E/PIIX4M. This was incorporated into the PIIX4 datasheet as
a change to the specification.
2. PCI Accesses to External PCI-Based IDE Devices Will Not Cause Power
Management Events
Problem: PCI accesses to external IDE devices on the PCI bus do not generate power management events
(idle timer reloads, global standby timer reloads, burst timer reloads, I/O traps).
Implication: Power management of external PCI-based IDE devices must use other means to monitor the
activity of those devices.
22 Specification Update
R
®
Intel 82371AB PIIX4, 82371EB PIIX4E, 82371MB PIIX4M
Workaround: System BIOS should use the following methods to monitor external PCI-based IDE devices:
1. If there is a need to monitor accesses to the IDE controller to keep the global standby timer
from expiring, then the IRQs should be enabled (GRLD_EN_IRQ) as a reload event for the
global standby timer.
2. If there is a need to monitor an external IDE controller for idleness, use the following
algorithm:
a. Disable the external IDE controller. Set the PIIX4/PIIX4E/PIIX4M to trap on the
IDE access and enable the internal IDE controller.
b. When the SMI is generated, the idle timer can be started, the internal IDE controller
disabled, and the instruction redone to the external IDE controller. The IDE device is then
assumed to be active during idle timer count down.
c. When the idle timer times out, an SMI is generated and the PIIX4/PIIX4E/PIIX4M should
again be set to trap, the external IDE device disabled, and the idle timer started.
d. If the idle timer times out before the trap occurs, then the external IDE controller is idle and
can be put into a lower power mode. The PIIX4/PIIX4E/PIIX4M are then set up to trap as
in 3. below.
e. If the trap occurs first, the IDE device is not idle. The BIOS then returns to step b. above
3. If there is a need to perform I/O trapping on an external IDE controller, set the
PIIX4/PIIX4E/PIIX4M to trap on the IDE access and enable the PIIX4/PIIX4E/PIIX4M
internal IDE controller. When the SMI is generated, the internal IDE controller can be
disabled, the external controller enabled, and the I/O cycle restarted.
Status: This will not be fixed in PIIX4/PIIX4E/PIIX4M. This was incorporated into the PIIX4 datasheet as
a change to the specification.
31 0 No GPO[31]
30:15 1
14 0
13:0 1
Implication: Systems designs that depend on GPO value at reset or depend on default values of 0h will not work
correctly.
Workaround: System designers should be aware of the new default values. For dedicated GPOs or multiplexed
GPOs which default to GPO, and which require a specific value at reset, inverters may need to
added or removed from the system design. For GPOs which are multiplexed with other signals but
which default to a non-GPO signal, the BIOS must ensure that the proper value is written into the
GPO register prior to enabling the signal as a GPO.
Status: This will not be fixed in PIIX4/PIIX4E/PIIX4M. This was incorporated into the PIIX4 datasheet as
a change to the specification.
Specification Update 23
® R
Implication: The USB host controller stops transferring data on the USB bus. The non-USB functions in the
system will continue to operate normally.
Workaround: When using bandwidth reclamation, the UHCI driver should insert a pseudo queue head with a
pseudo transfer descriptor within the bandwidth reclamation loop. The PIIX4/PIIX4E/PIIX4M will
fetch this queue head and transfer descriptor on every frame, but will not transfer any data and will
never be terminated. The following bits must be properly set to implement the workaround:
Status: This erratum will not be fixed in PIIX4/PIIX4E/PIIX4M. This erratum is planned to be
incorporated into the next revision of the PIIX4 datasheet as a specification change. Intel is
working with Microsoft to incorporate the workaround into their UHCI driver. Microsoft will make
this workaround available in the Beta 1 release of Memphis. Microsoft will provide a fix to the
OSR2.1 (Detroit) release. OEMs/IHVs should contact Microsoft for the fix distribution plans.
24 Specification Update
R
®
Intel 82371AB PIIX4, 82371EB PIIX4E, 82371MB PIIX4M
Pseudo
QH QH QH
QH
Pseudo
TD TD TD
TD
TD
Implication: The system will hang if the PIIX4/PIIX4E/PIIX4M hold STPCLK# asserted indefinitely.
Workaround: The 87% thermal duty cycle (THRM_DTY) in the CNTB register, and the 87% throttle duty cycle
(THTL_DTY) in the PCNTRL register are no longer supported. These bit positions are now
reserved. System BIOS must also disable system clock control before the PIIX4/PIIX4E/PIIX4M
begin thermal throttling.
If the THRM_EN bit is set and the SCI_EN bit is cleared, an SMI# is generated by the
PIIX4/PIIX4E/PIIX4M upon assertion of the THRM# signal. The SMI# handler has 2 seconds to
disable all system clock control functionality before the PIIX4/PIIX4E/PIIX4M begin thermal
throttling.
If the THRM_EN bit is set and the SCI_EN bit is set, an SCI is generated by the
PIIX4/PIIX4E/PIIX4M upon assertion of the THRM# signal. The interrupt handler has 2 seconds
to disable all system clock control functionality before the PIIX4/PIIX4E/PIIX4M begin thermal
throttling.
Status: This will not be fixed on PIIX4. This is planned to be incorporated into the PIIX4 datasheet as a
change to the specification.
This erratum was fixed in PIIX4E and PIIX4M. In PIIX4E and PIIX4M the 87% thermal duty
cycle (THRM)DTY) in the CNTB register, and the 87% throttle duty cycle (THRTL_DTY) in the
PCNTRL register are supported. Upon assertion of the THRM# signal, no special provisions need
to be taken. The PIIX4E and PIIX4M will guarantee that STPCLK# signal stays high for at least
32 µs (26.7 µs for PIIX4M).
Specification Update 25
® R
6. Device Trap
Problem: When the PIIX4/PIIX4E/PIIX4M Device Trap logic is enabled for Devices 0-13, they forward the
I/O access cycles for the device to the EIO/ISA and IDE Bus.
Implication: Accesses to devices in a powered down state could cause unpredictable results.
Workaround: Upon a powerdown event for devices 0-3 (IDE) the SMI handler must save the IDE register
settings in CMOS, disable IORDY, and set PIO transfers for compatible timings. Upon a powerup
event for devices 0-3, the SMI handler must restore all original IDE register settings.
Upon a powerdown event for all other devices (using EIO), the SMI handler must disable the EIO
decode and enable the trap logic for that device. Upon a powerup event, the SMI handler must
enable the EIO decode and disable the trap logic.
Status: This will not be fixed on PIIX4/PIIX4E/PIIX4M. This is planned to be incorporated into the PIIX4
datasheet as a change to the specification.
Implication: None, USB functionality is unaffected because the PIIX4/PIIX4E/PIIX4M do meet the required
output signal crossover voltage specifications (VCRS).
Status: This will not be fixed on PIIX4/PIIX4E/PIIX4M. This is planned to be incorporated into the PIIX4
datasheet as a change to the specification.
Workaround: None.
Status: This will not be fixed on PIIX4/PIIX4E/PIIX4M. This is planned to be incorporated into the PIIX4
datasheet as a change to the specification.
26 Specification Update
R
®
Intel 82371AB PIIX4, 82371EB PIIX4E, 82371MB PIIX4M
9. PCI Arbiter Advances when PC/PCI ISA Master Gets Retried by the Host
Controller
Problem: When a PC/PCI ISA master cycle gets retried (delayed transaction) by the host controller, the
PIIX4/PIIX4E/PIIX4M PCI Arbiter advances to a pending PCI master (USB or IDE). Affects
440BX-PIIX4x-MoonISA Docking platforms.
The 82443BX host controller will delay transaction (retry) a PC/PCI ISA master cycle
(PIIX4/PIIX4E/PIIX4M DMA controller in cascade mode) from PCI to DRAM. When the
PIIX4/PIIX4E/PIIX4M detect the retry, it will do a passive release on the PHLD# signal and allow
another PCI master (82443BX Arbiter) to acquire the bus. Following the passive release, the
PIIX4/PIIX4E/PIIX4M will un-intentionally advance the PCI arbiter to a pending PCI master
request (USB or IDE). The 82443BX expects to the next cycle from PIIX4/PIIX4E/PIIX4M to be
the delayed transaction cycle and will retry any other cycle (USB or IDE). The
PIIX4/PIIX4E/PIIX4M arbiter will stay on the USB or IDE bus master device until the delay
transaction timeout in the 82443BX. After the timeout the 82443BX drops the data possibly
resulting in a system hang.
Workaround: None.
Status: This will not be fixed on PIIX4. This is planned to be incorporated into the PIIX4 datasheet as a
change to the specification. This erratum was fixed on PIIX4E and PIIX4M.
Implication: In Bus Master IDE (BMIDE) mode, the PCI interface is prefetching data. If this prefetched data
gets inserted into the IDE FIFO (during a FIFO invalidation due to DREQ deassertion > 1 µs) the
IDE controller will lock up. Any future reassertion of the DREQ signal will not be acknowledged
by the PIIX4/PIIX4E/PIIX4M IDE controller. BMIDE transactions will not complete on either the
primary or secondary channel.
Workaround: If the controller locks up, the BMIDE driver must timeout, reset the PIIX4/PIIX4E/PIIX4M
Start/Stop Bus Master bit, and retry the transfer. Note that this errata does not occur using PIO
mode or Ultra DMA/33 mode.
Status: This will not be fixed on PIIX4/PIIX4E/PIIX4M. This is planned to be incorporated into the PIIX4
datasheet as a change to the specification.
Specification Update 27
® R
Implication: This failure only occurs when some PCI devices introduce large (>15 µs) latencies on the PCI bus
in combination with the USB transfer. In this situation, the USB port shuts down and requires the
user to unplug the device, then plug it back in to get the device operational again. The rest of the
system will continue to operate normally.
Workaround: In all cases found to date, the software drivers of the PCI devices causing large delays can be
modified to reduce the latency to less than 15 µs. When the PCI delays are reduced to this level,
the isochronous USB transfers will operate normally.
Implication: 1. Device 9 cannot be used as a monitor for I/O device addresses exclusive of 62 and 66h.
2. GPI4 cannot be used exclusively to reload the idle, burst, or global standby timers because
accesses to ISA Legacy addresses 62h or 66h will also reload the times.
Workaround: None. If a generic I/O device monitor exclusive of I/O address 62 and 66h is needed, then use
Device 10, if it is available.
28 Specification Update
R
®
Intel 82371AB PIIX4, 82371EB PIIX4E, 82371MB PIIX4M
Symptoms include either HC responds to downstream J to K transition by driving K state, but does
not set PORTSC[Resume_Detect], or the HC does not respond to downstream J to K transition by
driving K state back onto the cable. These symptoms will manifest themselves as either the PIRQD
interrupt will not assert and not interrupt or wake the system, or polling of PORTSC will never
return a detect response and the K state will remain driven by the HC and locked up.
Implication: If the system is in a state where USB clocks are running, such as normal or LVL3 power managed
states, and the USB port is in Selective Suspend mode, a resume attempt initiated by the USB
device, such as a keyboard, may not be detected and the suspended port may not resume. This
failure to resume will prevent normal operation of the affected USB device, and if in a power-
managed state where USB clocks are still running, the system may not be awaken. In this case, the
user will have to awaken the system another way and may have to un-plug and re-install the USB
device to get it to work.
Workaround: 1. Ensure that USB peripheral devices do not support remote wake-up (peripheral workaround), or
2. Do not use the Selective Suspend feature of the PIIX4/PIIX4E/PIIX4M, use only
Global Suspend (OS workaround).
Implication: This signal is typically used in Dual Processor capable systems and is connected to an IOAPIC. If
the IOAPIC input is programmed for level LO, and SCIs or SM Bus events in the
PIIX4/PIIX4E/PIIX4M are programmed to be reported on IRQ9OUT, devices using these will not
be recognized by the IOAPIC and will not work correctly.
Workaround: Program the appropriate input of the IOAPIC to active level HI.
Status: This will not be fixed in the PIIX4/PIIX4E/PIIX4M. This is planned to be incorporated into the
PIIX4 datasheet as a specification change.
Specification Update 29
® R
Implication: The incorrect count causes the PIIX4/PIIX4E/PIIX4M to confuse sector boundaries, resulting in
invalid data being placed in memory. This erratum was observed during validation testing
executing special test software. No reports from internal testing or customer testing on production
systems (i.e., without special test software) have been attributed to this erratum to date. Intel
customers should perform their own risk analysis on this erratum and determine the most
appropriate work around for their systems.
Workaround: The work around for this erratum is to not perform Non-Data register reads while an IDE PIO
transfer is taking place. In cases where this erratum has been seen, an interrupt (IRQn or SMI) has
been used to enter the code from which the ALT STATUS read occurs. Code which is not directly
involved in the IDE transfer should not perform the ALT STATUS read to check status of IDE
transfers. An alternative for PIIX4x-based systems is to use IDE device idle timer to detect IDE
activity. Another work around is to disable IDE PIO prefetching.
Status: This will not be fixed in the PIIX4/PIIX4E/PIIX4M. This is planned to be incorporated into the
PIIX4 datasheet as a specification change. An additional paper titled “82371FB PIIX, 82371SB
PIIX3, 82371AB PIIX4, 82371EB PIIX4E IDE Prefetch Errata Description” is available from
Intel, that describes this erratum and risk analysis in greater detail. Intel is releasing this
information to various operating systems, BIOS vendors, and other software developers to allow
them to analyze their code base and to minimize the potential for future software programs to
trigger this erratum.
Implication: The errata condition can occur in Intel Pentium II processor/PIIX4x systems that use I/O Trap SMI
with STPCLK# throttling enabled. The observed effect of the erratum is a system hang, although it
may also result in indeterminate code behavior that could cause data corruption.
Workaround: The I/O Trap SMI with I/O Restart feature should be disabled if STPCLK# throttling is used. For
applications where the I/O restart is not used, a dummy I/O instruction should follow the trapped
I/O instruction to ensure that the I/O trap SMI handler will be called before the result of that
handler is required. The system designer should review any I/O Trap SMI implementations for
impact based on their specific code execution sequence.
30 Specification Update
R
®
Intel 82371AB PIIX4, 82371EB PIIX4E, 82371MB PIIX4M
Implication: In a PIIX4/PIIX4E/PIIX4M system, if a PCPCI DMA cycle follows an ISA DMA Verify cycle that
reaches terminal count, with no other DMA, ISA Master or ISA Refresh cycles between them, the
PIIX4/PIIX4E/PIIX4M will assert the TC signal on the first data transfer of the PCPCI DMA
cycle. This results in an incomplete data transfer.
Workaround: None.
Implication: The Operating System will think that it is safe to enter a C3 state and will then disable the arbiter
and then perform a PLVL3 register read to enter the C3 state, causing LIVELOCK to occur and
resulting in a system hang.
Workaround: In the OS power management code (ACPI.SYS) include a test of the BMIDE status register in
code that does the entry to C3. If a BMIDE transfer is in progress, do not enter C3. In the OS
initialization code, mDISABLE Type-F DMA is BIOS indicates C3 support. If BIOS indicates that
C3 is not supported, leave Type-F DMA enabled.
Status: This will not be fixed in the PIIX4/PIIX4E/PIIX4M. This is planned to be incorporated into the
PIIX4 datasheet as a change to the specification. This should be corrected for in ACPI aware
operating systems. Contact your Operating System vendor for schedule and release information.
Specification Update 31
® R
Implication: The host controller response to this is a non-acknowledge with a CRC/Timeout status
communicated to the software. If this condition persists the error count associated with this packet
will be exceeded and an interrupt can be generated to software. This will stall the USB device.
Current software reports a device error to the user via a pop up window. Another implication is that
the installed base may have limited USB expandablility via HUBs.
1. Hardware: Try plugging the USB device into a USB port closer to the root hub.
2. Software: Detect the CRC/Timeout error and count exceeded and attempt to re-queue the
packets while changing the length of the packets. Changing the length of the packets will
change the CRC and thus potentially (likely) remove the combination of the two events
causing the failure.
Status: This will not be fixed in the PIIX4/PIIX4M/PIIX4E. This is planned to be fixed in future
implementations of the UHCI host controller.
Implication: System hangs due to the “inaccuracy” of the timer when used by software for time critical events
and delays.
Status: This will not be fixed in the PIIX4 or PIIX4E. It has been fixed in the PIIX4M.
32 Specification Update
R
®
Intel 82371AB PIIX4, 82371EB PIIX4E, 82371MB PIIX4M
Implication: The system time may not be correct after the daylight savings time change. The first manifestation
of this was on October 31, 1999.
Workaround: 1. If using Microsoft* Windows* 95, Windows* 98 ,or Windows NT*4.0 operating systems, leave
the system on and the operating system running at 1:59:59am on the last Sunday of October.
Some operating systems will correctly detect the time change and correct the
PIIX4/PIIX4E/PIIX4M’s CMOS time settings.
2. After the daylight savings fallback occurs, change the time manually, using either an operating
system date/time function, or the BIOS setup.
3. Contact your system provider to see if there is a BIOS update available that corrects this
condition.
Status: This will not be fixed in the PIIX4/PIIX4E/PIIX4M. It is planned to be corrected in future chipset
implementations.
Implication: USB devices may stall. The OS will attempt to recover, but if it fails to recover, an error message
will be displayed. The user may have to unplug and re-install the USB device.
1. Do not use the port specific selective suspend feature of the PIIX4/PIIX4E/PIIX4M when there
can be activity on the other port.
2. Do not allow USB peripherals to use a remote wake feature (from selective suspend).
Implication: The implication is operating system dependent. It can range from additional latency on a resume
before the USB device is functional (after the resume), to the USB device no longer works (after
the resume) – in which case a system reboot must be done to obtain functionality of that USB
device. In all cases the rest of the system does resume.
Specification Update 33
® R
Workaround: None.
34 Specification Update
R
®
Intel 82371AB PIIX4, 82371EB PIIX4E, 82371MB PIIX4M
Specification Clarifications
1. CONFIG[1] Definition
Section 2.1.12, Other System and Test Signals, of the PIIX4 datasheet defines the CONFIG [1]
signal. In addition to controlling the polarity of INIT and CPURST, this signal also controls the
latching of NMI, SMI#, INTR, and INIT. In an Intel Pentium Processor-based system
(CONFIG[1]=0) NMI, SMI#, INTR, and INIT flow unlatched to the processor in all power
managed states. In a PentiumPro Processor based system (CONFIG[1]=1) NMI, SMI#, INTR,
and INIT will be latched when STPCLK# is asserted, and held for 5 PCICLKs after STPCLK# is
deasserted.
In many system designs, these signals control the various power planes. If the assertion of these
signals does not affect the state of PWROK from the power supply circuitry, the hard reset
completes normally with a system reboot. If the assertion of these signals causes the power supply
circuitry to deassert PWROK, the PIIX4/PIIX4E/PIIX4M will reset and power-up the system like
it was performing a cold boot. In both cases the system reboots.
Specification Update 35
® R
3. IRQ8# Routing
The RTC interrupt is connected to ISA IRQ8#, and is internally routed within the
PIIX4/PIIX4E/PIIX4M. If the internal RTC is enabled (bit 0 of the RTCCFG is set ) , the
PIIX4/PIIX4E/PIIX4M’s IRQ8# pin should be programmed as a general-purpose input, GPI[6] (by
setting bit 14 of the PIIX4/PIIX4E/PIIX4M’s General Configuration Register) . However, if an
external APIC is used, the PIIX4/PIIX4E/PIIX4M’s IRQ8# becomes an output and must not be
programmed as a general-purpose input. The table below summarizes the PIIX4/PIIX4E/PIIX4M’s
IRQ8# pin configuration depending on different usage of the RTC and APIC.
36 Specification Update
R
®
Intel 82371AB PIIX4, 82371EB PIIX4E, 82371MB PIIX4M
4. IRQ9 Routing
SCI interrupts, SMBus interrupts and PIRQs can be routed to IRQ9. Any time an SCI, SMB or
PIRQ is programmed to use the internal 8259’s IRQ9, the PIIX4/PIIX4E/PIIX4M will ignore the
ISA IRQ9 and the interrupts will behave like level triggered interrupts. The table below describes
the implications of the different routing options.
0 0 0 0 No Interrupt
0 0 0 1 ISA IRQ9 used (edge or level)
0 0 1 X ISA IRQ lost, level mode only, non-shared
0 1 0 X ISA IRQ lost, level mode only, non-shared
0 1 1 X ISA IRQ lost, level mode only, shared
1 0 0 X ISA IRQ lost, level mode only, non-shared
1 0 1 X ISA IRQ lost, level mode only, shared
1 1 0 X ISA IRQ lost, level mode only, shared
1 1 1 X ISA IRQ lost, level mode only, shared
Specification Update 37
® R
8.7.1 Protocol
Serial interrupt information is transferred using three types of frames: a Start Frame, one or more
IRQ Data frames, and one Stop frame. There are also two modes of operation: Quiet Mode and
Continuous Mode.
To indicate an interrupt, the peripheral brings the SERIRQ signal low for one clock, and then tri-
states the signal. This brings all the state machines from IDLE to the ACTIVE states.
PIIX4 then takes control of the SERIRQ signal by driving it low on the next clock, and continues
driving it low for 3–7 clocks more (programmable). Thus, the total number of clocks low will be
4–8. After those clocks, PIIX4 drives SERIRQ high for one clock and then tri-state the signal.
In this mode, PIIX4 initiates the START frame, rather than the peripherals. Typically, this is done
to update IRQ status (acknowledges). PIIX4 drives SERIRQ low for 4–8 clocks. This is the default
mode after reset, and can be used to enter the Quiet mode.
Data Frame
Once the Start frame has been initiated, all of the serial interrupt peripherals must start counting
frames based on the rising edge of SERIRQ. Each of the IRQ/DATA frames has exactly 3 phases
of 1 clock each: a Sample phase, a Recovery Phase, and a Turn-around phase.
During the Sample phase, the device drives SERIRQ low if the state of the corresponding interrupt
is low. If the state of the corresponding interrupt is high the devices should not drive the SERIRQ
signal. It will remain high due to pull-up resistors. The PIIX4’s 8259 logic determines if the logic
level on the SERIRQ signal is active or inactive.
During the other two phases (Turn around and Recovery), no device should drive the SERIRQ
signal. The IRQ/DATA frames have a specific order and usage, as shown in Table 26.
If an SMI# is activated on frame 3, PIIX4 drives its EXTSMI# signal active. This then generates
an SMI# to the microprocessor, if enabled.
38 Specification Update
R
®
Intel 82371AB PIIX4, 82371EB PIIX4E, 82371MB PIIX4M
“The GPI1, EXTSMI#, IRQ[15:9,7:3,1], and USB resume events must be active for a minimum of
64 µs (approximately 2 TC clock periods) for the resume to be recognized.”
This register passes data (APM Commands) between the OS and the SMI handler. In addition,
writes can generate an SMI. PIIX4 operation is not effected by the data in this register.
Bit Description
7:0 APM Control Port (APMC). Writes to this register store data in the APMC Register and reads
return the last data written. In addition, writes generate an SMI, if the APMC_EN bit (PCI function
3, offset 58h, bit 25) and the IOSE bit (PCI function 3, offset 04h, bit 0) are set to 1. Reads do not
generate an SMI.
Specification Update 39
® R
Bit Description
0 I/O Space Enable (IOSE). 1=Enable. 0=Disable. This bit controls the access to the SMBus I/O
space registers whose base address is described in the SMBus Base Address register. If this bit
is set, access to the SMBus IO registers is enabled. The base register for the I/O registers must
be programmed before this bit is set. When disabled, all IO accesses associated with SMBus
Base Address are disabled. This bit must be set to enable SMI# generation from a write to the
APMC register. This bit functions independent of the state of Function 3 Power Management IO
Space Enable (PMIOSE) bit (PMREGMISC register, bit 0).
This register contains the Clock Event and Global Timer Reload enables for IRQs, PCI access,
PME events, Video.
Bit Description
25 APMC Enable (APMC_EN)—R/W. 1=Enable generation of SMI# when APMC register is written
to and SMI# is enabled. 0=Disable.
40 Specification Update
R
®
Intel 82371AB PIIX4, 82371EB PIIX4E, 82371MB PIIX4M
The PWRBTN#_SST bit will be set if the PWRBTN# signal is asserted as described, regardless of
it being enabled.
When the system is in soft off state, due to power button being pressed for greater than 4 seconds, a
resume event, such as Global Standby Timer expiration, may wake the system from soft off.
Placing code in the POST that test the aproppriate status bit can be used to prevent the system from
coming back up. For example, for Global Standby Timer, IF PWRBTNOR_STS=1 THEN GO
BACK TO S5, else continue POST.
Bit Description
Specification Update 41
® R
Bit Description
10 RTC Status (RTC_STS)—R/WC. 1=RTC alarm has been signaled. 0=RTC alarm has not been
signaled. This bit is set when the internal RTC asserts its IRQ8 signal and the RTC_EN bit is set.
This bit is only set by hardware and can only be reset by writing a one to this bit position.
Bit Description
42 Specification Update
R
®
Intel 82371AB PIIX4, 82371EB PIIX4E, 82371MB PIIX4M
Before unrouting a PIRQx# from an IRQx, ensure that the mask is enabled for that IRQ and that
the corresponding ELCR is set back to edge mode. When the IRQx is unmasked an interrupt will
likely be generated which should be treated as any other spurious interrupt.
The Physical Region Descriptor Table must be aligned on a DWord boundary. However, the DT
must never cross a 64-Kbyte boundary. For the case where a 64-Kbyte DT is required, then it must
be aligned on a 64-Kbyte boundary.
Specification Update 43
® R
3. Read the RTC Index register (70h) (bits [6:0] provide RTC Index value, bit 7 is
indeterminate)
6. Read the RTC Index register (bit 7 is the NMI enable bit, bits [6:0] are indeterminate)
It will reset the SM Bus Host and Slave controllers in the suspend well and will assert SUS[A:C]#.
The assertion of SUS[A-C]# will generally initiate the deassertion of PWROK. RSMRST#
assertion will then generally reset the entire system.
44 Specification Update
R
®
Intel 82371AB PIIX4, 82371EB PIIX4E, 82371MB PIIX4M
To clarify this behavior, the following changes to the PIIX4 datasheet are required:
In the PIIX4 datasheet, Page 148, Section 7.3.1, SMBHSTSTS – SMBus Host Status Register (IO),
Bit 1 and Bit 0 should be changed to read:
This register provides status information concerning the SMBus controller host interface.
Bit Description
7:5 Reserved.
4 Failed (FAILED)—R/WC. 1=Indicates that the source of SMBus interrupt was a failed bus
transaction, set when KILL bit is set (SMBHSTCNT register). 0=SMBus interrupt not caused by
KILL bit. This bit is only set by hardware and can only be reset by writing a 1 to this bit position.
3 BUS COLLISION (BUS_ERR)—R/WC. 1=Indicates that the source of SMBus interrupt was a
transaction collision. 0=SMBus interrupt not caused by transaction collision. This bit is only set by
hardware and can only be reset by writing a 1 to this bit position.
2 Device Error (DEV_ERR)—R/WC. 1=Indicates that the source of SMBus interrupt was the
generation of an SMBus transaction error. 0=SMBus interrupt not caused by transaction error.
This bit is only set by hardware and can only be reset by writing a 1 to this bit position.
Transaction errors are caused by:
- Illegal Command Field
- Unclaimed Cycle (host initiated)
- Host Device Time-out
1 SMBus Interrupt/Host Completion (INTER)—R/WC. 1= Indicates that the host transaction has
completed or that the source of an SMBus interrupt was the completion of the last host command.
0=Host transaction has not completed or that an SMBus interrupt was not caused by host
command completion. This bit is only set by hardware and can only be reset by writing a 1 to this
bit position.
0 Host Busy (HOST_BUSY)—RO. 1= Indicates that the SMBus controller host interface is in the
process of completing a command. 0=SMBus controller host interface is not processing a
command. None of the other registers should be accessed if this bit is set. Note that there may be
moderate latency before the transaction begins and the Host Busy bit gets set.
Specification Update 45
® R
In the PIIX4 datasheet, Page 150, Section 7.3.3, SMBHSTCNT - SMBUS HOST CONTROL
REGISTER (IO), Bit 0 should be changed to read:
The control register is used to enable SMBus controller host interface functions. Reads to this
register clears the host interface’s index pointer to the block data storage array.
Bit Description
7 Reserved.
6 Start (START)—R/W. 1=Start execution. Writing a 1 to this bit initiates the SMBus controller host
interface to execute the command programmed in the SMB_CMD_PORT field. All necessary
registers should be setup prior to writing a 1 to this bit position. 0=Writing a 0 has no effect. This
bit always reads 0. The HOST_BUSY bit can be used to identify when the SMBus host controller
has finished executing the command.
5 Reserved.
4:2 SMBus Command Protocol (SMB_CMD_PROT)—R/W. Selects the type of command the
SMBus controller host interface will execute. Reads or writes are determined by bit 0 of
SMBHSTADD register. This field is decoded as follows:
Bits[4:2] Protocol Bits[4:2] Protocol
000 Quick Read or Write 100 Reserved
001 Byte Read or Write 101 Block Read or Write
010 Byte Data Read or Write 110 Reserved
011 Word Data Read or Write 111 Reserved
1 Kill (KILL)—R/W. 1=Stop the current in process SMBus controller host transaction. This sets the
FAILED status bit and asserts the interrupt selected by the SMB_INTRSEL field. 0=Allows the
SMBus controller host interface to function normally.
0 Interrupt Enable (INTEREN)—R/W. 1= Enable the generation of interrupts (IRQ9OUT) or SMI (as
defined in the table listed in section 7.1.28., SMBUS HOST CONFIGURATION REGISTER
(Function 3), bit [3:1], SMBus Interrupt Select) on the completion of the current host transaction.
0=Disable.
In the PIIX4 datasheet, Pages 266-267, Section 11.5.4.1, SMBus Host Interface, paragraph 2
should be modified as follows:
To execute a SMBus host transaction, the type of transfer protocol, the address of SMBus device,
the device specific command, the data, and any control bits are first setup. Then the START bit is
set, which causes the host controller to execute the transaction. When the transaction is completed,
PIIX4 generates an interrupt, if enabled. The interrupt can be selected between IRQ9OUT and
46 Specification Update
R
®
Intel 82371AB PIIX4, 82371EB PIIX4E, 82371MB PIIX4M
SMI#. The system software can wait for an interrupt to signal completion or it can monitor the
SMBus Interrupt/Host Completion status bit. An interrupt is also signaled if an error occurred
during the transaction or if the transaction was terminated by software setting the KILL bit. The
SMBHSTCNT, SMBHSTCMD, SMBHSTADD, SMBHSTDAT0, SMBHSTDAT1, and
SMBBLKDAT registers should not be accessed after setting the START bit while the
HOST_BUSY bit is active until completion of the transaction as indicated by the SMBus
Interrupt/Host Completion status bit going active.
The SMBus controller will not respond to the START bit being set unless all interrupt status bits in
the SMBHSTSTS register have been cleared.
For Block Read or Block Write protocols, the data is stored in a 32-byte block data storage array.
This array is addressed via an internal index pointer. The index pointer is initialized to zero on
each read of the SMBHSTCNT register. After each access to the SMBBLKDAT register, the index
pointer is incremented by one. For Block Write transactions, the data to be transferred is stored in
this array and the byte count is stored in SMBHSTDAT0 register prior to initiating the transaction.
For Block Read transactions, the SMBus peripheral determines the amount of data transferred.
After the transaction completes, the byte count transferred is located in SMBHSTDAT0 register
and data is stored in the block data storage array. Accesses to the array during execution of the
SMBus transaction always start at address 0.
Any register values needed for computation purposes should be saved prior to the starting of a new
transaction, as the SMBus host controller updates the registers while executing the new transaction.
This bullet is changed to “Assertion of GPI14. The polarity of active signal (high or low) is
selectable. This can cause idle, burst, global standby timer reloads, or IO Trap SMI#.”
Specification Update 47
® R
1) The Queue Head Link Pointer must be set to point to the next Queue Head, not the Pseudo TD
as indicated.
2) The Queue Head Link Element Pointer (DW 04-07h) must be set to point to the Pseudo TD.
24. Do Not Use 4-Clock Serial IRQ Start Frame Width When CLKRUN# Is
Enabled
When a device wants to start a serial IRQ cycle in Quiet Mode, it will drive the SERIRQ line low
for one clock, and then tristate the line. The PIIX4 will then begin driving SERIRQ low so that it
will be held low for a total of 4, 6, or 8 clocks. This Serial IRQ Start Frame pulse width is
programmable, via Function 0 offset 64h, SERIRQC[1:0]. The requesting device must see
SERIRQ low for at least 4 clocks. In cases where incorrect CLKRUN# protocol is implemented,
interrupting clocks, the requesting device may not see 4 clocks of low time. An example of this is
when CLKRUN# may be reasserted by a PCI agent too late to guarantee uninterrupted clocks, but
before the clock actually stops. This will result in a failed SERIRQ cycle. When CLKRUN#
protocol is implemented in a PIIX4 system, setting the Serial IRQ Start Frame pulse width to 6 or 8
clocks will make the PIIX4 immune from this condition.
Specifically, For PIIX4/PIIX4E/PIIX4M based platforms, STPCLK# from the PIIX4 is connected
to all processors, and SLP# from the PIIX4 is connected to all processors. The following sequence
occurs:
While this sequence works for uni-processor systems, processors are put into Processor Sleep State
3, not State 5, during ACPI S1 state. This means that the SLP# signal must not be connected to any
processor in multi-processor systems.
Note that disabling the SLEEP_EN bit in the PIIX4 Processor Control register is not an
accecptable workaround for this issue since this bit only controls SLP# assertion in C3 state, not in
S1 state.
48 Specification Update
R
®
Intel 82371AB PIIX4, 82371EB PIIX4E, 82371MB PIIX4M
27. Interrupt Deassertion (only 0.35u process device) (PIIX4E and PIIX4M only)
The PIIX4E/PIIX4M has transitioned to a smaller and faster manufacturing process
(0.35u process). The result of this transition is largely transparent for the majority of operations;
however, an exception has been identified for some operating systems, most notably OS/2.
This issue is seen when a system is configured in Virtual Wire mode where 8259 generated
interrupts are delivered through the IO APIC which is configured for edge triggered interrupts on
its inputs. This issue could also manifest itself in other modes such as PIC mode or uni-processor
mode where the PIIX4E/PIIX4M interrupt output goes directly to the processor, or to intermediary
circuitry which may also miss the short deassertion pulse described below. Consult the
Microprocessor Specification v1.4 available on developer.intel.com for details on these operating
modes.
A high priority interrupt occuring just as the PIIX4E/PIIX4M receives INTACK for a preceding
low priority interrupt can cause a small interrupt deassertion time from the new PIIX4E/PIIX4M
(both 0.35u) which can be missed at either the IO APIC or the processor, depending on
configuration, and likely cause a system hang. The interrupt deassertion time as specified for the
original 8259 interrupt controller is a variable value, and the PIIX4E/PIIX4M was designed to
meet this specification and does. However, on the old PIIX4E (0.6u), the interrupt deassertion time
was on the order of 100 ns, where on the new PIIX4E/PIIX4M this time can be as short as 3 ns for
the above described condition. While this still meets the original 8259 interrupt controller
specification, it does not meet the interrupt input minimum deassertion time requirements for the
IO APIC or the Intel Pentium II, Intel® Pentium® III, Intel® Pentium® II Xeon™, and Intel®
Pentium® III Xeon™ processors (refer to respective datasheets for these specifications). As the
LINT[1:0] inputs at the processor are also configuration pins at reset, the interrupt signal is often
routed through configuration circuitry first, and then to the processor. On some system designs, it
has also been identified that the short deassertion pulse never makes it through this circuitry; this
may also require detection of the short deassertion edge, and subsequent pulse stretching circuitry
to meet minimum deassertion time for the processor.
To address the Virtual Wire Mode through the IO APIC problem, configure Virtual Wire mode to
operate through the processor’s local APIC, vs. the IO APIC, and also for level triggered mode via
EXTInt (default).
A workaround for OS/2 has been identified for the anomaly. The OS/2 driver uses an environment
variable switch to force the change to the correct virtual wire mode. The variable in config.sys is:
If this problem is experienced in uni-processor or PIC mode, circuitry to catch the short deassertion
pulse from the PIIX4E/PIIX4M and stretch it to greater than 2 BCLKs for input to the processor
can be employed.
Specification Update 49
® R
50 Specification Update
R
®
Intel 82371AB PIIX4, 82371EB PIIX4E, 82371MB PIIX4M
Specification Update 51
® R
Documentation Changes
Function Stepping
PIIX4 A-0 PIIX4 A-1 PIIX4 B-0 PIIX4E A-0 PIIX4M A-0
52 Specification Update
R
®
Intel 82371AB PIIX4, 82371EB PIIX4E, 82371MB PIIX4M
Table 14. DMA/PIO Timing Values (Based on PIIX4 Cable Mode and System Speed)
PIIX4 Drive IORDY Recovery IDETIM[15:8] IDETIM[15:8] SIDETIM Resultant
Mode Sample Time (RCT) Drive 0 Drive 0 Pri[3:0] Cycle Time
Point (ISP) (Master) (Master) Sec{7:4]
Base
If Slave If no Slave Drive 1 operating
Attached attached or (Slave) frequency and
Slave is1 cycle time.
Mode 0
® ®
6. Sleep and Deep Sleep for Intel Pentium II Processors Only
The PIIX4 datasheet, section 11.2.1, Host Clock Control Mechanisms, identifies Stop Clock State
and Deep Sleep State as being available for Intel Pentium II processors only, which is incorrect.
The Sleep State and the Deep Sleep State are for Pentium II processors only, the Stop Clock State
is available for all processor types.
Specification Update 53
® R
Table 55 Corrections
• Pin F3 should be listed as IRQ9OUT/GPO29
• Pin U1 should be listed as IRQ9
11. Fast_A20
The description of the Fast_A20 bit indicates a value of 1 causes A20M# to assert to 0. The correct
description should be 1=Causes A20M# signal to be deasserted to 1. The table in the description is
correct.
54 Specification Update
R
®
Intel 82371AB PIIX4, 82371EB PIIX4E, 82371MB PIIX4M
Specification Update 55