Intel ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 1 REV 2.3 Manual page 861

Hide thumbs Also See for ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 1 REV 2.3:
Table of Contents

Advertisement

Once the software determines it is an ExtINT, it must obtain the actual vector by doing
an uncached 1-byte load from the INTA byte located in the upper half of the processor
interrupt block, offset 0x1e0000 from the base.
EXTINT=r0
INTA_PHYS_ADDRESS=0x80000000fefe0000
inta_address=r31
(p1)br.cond.sptk process_interrupt
//
// A single byte load from the INTA address should cause
// the processor to emit the INTA cycle on the processor
// system bus. Any Intel 8259A compatible external interrupt
// controller must respond with the actual interrupt
// vector number as the data to be loaded.
//
//
// vector obtained
process_interrupt:
Volume 2, Part 2: External Interrupt Architecture
movl inta_address=INTA_PHYS_ADDRESS
;;
srlz.d
// make sure everything is up to date
mov r14 = cr.ivr
// read ivr
;;
srlz.d
// serialize before the EOI is written...
;;
cmp.ne p1,p2 = EXTINT,r14 ;;
;;
ld1 r17 = [inta_address]
;;
// get the real vector..
§
2:613

Advertisement

Table of Contents
loading

This manual is also suitable for:

Itanium architecture 2.3

Table of Contents