urfid

Ultravisor Return from Interrupt Doubleword

urfid

Returns from an ultravisor interrupt.

Encoding

Binary Layout
19
0:5
/
6:10
/
11:15
/
16:20
274
21:30
/
31:63
 
Format XL-form
Opcode 0x4C000264
Extension Privileged

Operands

Registers Altered

MSR, SRR0, SRR1

Related

More in Privileged

Reference

Description

The 'urfid' instruction is used to return from an interrupt in the ultravisor context. It updates the Machine State Register (MSR) and sets the next instruction address based on the values in USRR0 and USRR1.

Operation

MSR48 ← USRR148 | USRR149
MSR58 ← (USRR158 | USRR149) & ¬(USRR141 & USRR13 & (¬USRR149))
MSR59 ← (USRR159 | USRR149) & ¬(USRR141 & USRR13 & (¬USRR149))
MSR0:32 37:41 49:57 60:63 ← USRR10:32 37:41 49:57 60:63
NIA ← iea USRR00:61 || 0b00

Programming Note

If this instruction sets MSRPR to 1, it also sets MSREE, MSRIR, and MSRDR to 1. If this instruction sets MSRS HV PR to 0b110, it also sets MSRIR and MSRDR to 0.