ISR, Interrupt Status Register

The ISR characteristics are:

Purpose

Shows the pending status of the IRQ, FIQ, and SError interrupts.

Configuration

AArch32 System register ISR bits [31:0] are architecturally mapped to AArch64 System register ISR_EL1[31:0].

This register is present only when EL1 is capable of using AArch32. Otherwise, direct accesses to ISR are UNDEFINED.

Attributes

ISR is a 32-bit register.

Field descriptions

313029282726252423222120191817161514131211109876543210
RES0AIFRES0

Bits [31:9]

Reserved, RES0.

A, bit [8]

SError interrupt pending bit:

AMeaning
0b0

No pending SError interrupt.

0b1

An SError interrupt is pending.

If all of the following apply then this field shows the pending status of virtual SError interrupts:

Otherwise, this field shows the pending status of physical SError interrupts.

If the SError interrupt is edge-triggered, this field is cleared to zero when the physical SError interrupt is taken.

I, bit [7]

IRQ pending bit. Indicates whether an IRQ interrupt is pending:

IMeaning
0b0

No pending IRQ.

0b1

An IRQ interrupt is pending.

If all of the following apply then this field shows the pending status of virtual IRQ interrupts:

Otherwise, this field shows the pending status of physical IRQ interrupts.

F, bit [6]

FIQ pending bit. Indicates whether an FIQ interrupt is pending.

FMeaning
0b0

No pending FIQ.

0b1

An FIQ interrupt is pending.

If all of the following apply then this field shows the pending status of virtual FIQ interrupts:

Otherwise, this field shows the pending status of physical FIQ interrupts.

Bits [5:0]

Reserved, RES0.

Accessing ISR

Accesses to this register use the following encodings in the System register encoding space:

MRC{<c>}{<q>} <coproc>, {#}<opc1>, <Rt>, <CRn>, <CRm>{, {#}<opc2>}

coprocopc1CRnCRmopc2
0b11110b0000b11000b00010b000

if PSTATE.EL == EL0 then UNDEFINED; elsif PSTATE.EL == EL1 then if EL2Enabled() && !ELUsingAArch32(EL2) && HSTR_EL2.T12 == '1' then AArch64.AArch32SystemAccessTrap(EL2, 0x03); elsif EL2Enabled() && ELUsingAArch32(EL2) && HSTR.T12 == '1' then AArch32.TakeHypTrapException(0x03); else R[t] = ISR; elsif PSTATE.EL == EL2 then R[t] = ISR; elsif PSTATE.EL == EL3 then R[t] = ISR;


04/07/2023 11:26; 1b994cb0b8c6d1ae5a9a15edbc8bd6ce3b5c7d68

Copyright © 2010-2023 Arm Limited or its affiliates. All rights reserved. This document is Non-Confidential.