mirror of
https://github.com/antonblanchard/microwatt.git
synced 2026-04-10 22:31:45 +00:00
execute1: Fix bug where LPCR[HEIC] disabled interrupts in problem state (#453)
LPCR[HEIC] should only disable external interrupts in hypervisor mode, and not in problem state (user mode). This fixes the expression for irq_valid to do that. Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
This commit is contained in:
@@ -1749,7 +1749,7 @@ begin
|
||||
|
||||
irq_valid := ex1.msr(MSR_EE) and
|
||||
(pmu_to_x.intr or dec_sign or dhd_pending or
|
||||
(ext_irq_in and not ctrl.lpcr_heic));
|
||||
(ext_irq_in and (not ctrl.lpcr_heic or ex1.msr(MSR_PR))));
|
||||
|
||||
if valid_in = '1' then
|
||||
v.prev_op := e_in.insn_type;
|
||||
|
||||
Reference in New Issue
Block a user