13.07.2015 Views

Intel 80312 I/O Companion Chip - ECEE

Intel 80312 I/O Companion Chip - ECEE

Intel 80312 I/O Companion Chip - ECEE

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Intel</strong> ® <strong>80312</strong> I/O <strong>Companion</strong> <strong>Chip</strong>Messaging Unit6.4 Doorbell RegistersThere are two Doorbell Registers: the Inbound Doorbell Register and the Outbound DoorbellRegister. The Inbound Doorbell Register allows external PCI agents to generate interrupts to the<strong>Intel</strong> ® 80200 processor. The Outbound Doorbell Register allows the <strong>Intel</strong> ® 80200 processor togenerate a PCI interrupt. Both Doorbell Registers may generate interrupts whenever a bit in theregister is set.6.4.1 Outbound DoorbellsWhen the Outbound Doorbell Register is written by the <strong>Intel</strong> ® 80200 processor, an interrupt maybe generated on P_INTA#, P_INTB#, P_INTC#, or P_INTD# interrupt pins. An interrupt isgenerated when any bits in the doorbell register is written to a value of “1”. Writing a value of “0”to any bit does not change the value of that bit and does not cause an interrupt to be generated.Once a bit is set in the Outbound Doorbell Register, it cannot be cleared by <strong>Intel</strong> ® 80200 processor.Which PCI interrupt pin used is determined by the value of the ATU Interrupt Pin Register(Chapter 5, “PCI Address Translation Unit”).The interrupt is recorded in the Outbound Interrupt Status Register.The interrupt may be masked by the Mask bits in the Outbound Interrupt Mask Register. When theMask bit is set for a particular bit, no interrupt is generated for that bit. The Outbound InterruptMask Register affects only the generation of the interrupt and not the values written to theOutbound Doorbell Register.The interrupt is cleared when an external PCI agent writes a value of “1” to the bits in theOutbound Doorbell Register that are set. Writing a value of “0” to any bit does not change thevalue of that bit and does not clear the interrupt.In summary, the <strong>Intel</strong> ® 80200 processor generates an interrupt by setting bits in the OutboundDoorbell Register and external PCI agents clear the interrupt by also setting bits in the same register.6.4.2 Inbound DoorbellsWhen the Inbound Doorbell Register is written by an external PCI agent, an interrupt may begenerated to the <strong>Intel</strong> ® 80200 processor. An interrupt is generated when any of the bits in thedoorbell register is written to a value of “1”. Writing a value of “0” to any bit does not change thevalue of that bit and does not cause an interrupt to be generated. Once a bit is set in the InboundDoorbell Register, it cannot be cleared by any external PCI agent.The interrupt is recorded in the Inbound Interrupt Status Register.The interrupt may be masked by the Inbound Doorbell Interrupt Mask bit in the Inbound InterruptMask Register. When the mask bit is set for a particular bit, no interrupt is generated for that bit.The Inbound Interrupt Mask Register affects only the generation of the interrupt and not the valueswritten to the Inbound Doorbell Register.One bit in the Inbound Doorbell Register is reserved for an IRQ# interrupt.The interrupt is cleared when the <strong>Intel</strong> ® 80200 processor writes a value of “1” to the bits in theInbound Doorbell Register that are set. Writing a value of “0” to any bit does not change the valueof that bit and does not clear the interrupt.6-6 Developer’s Manual

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!