target/arm: Update arm_phys_excp_target_el for TGE

The TGE bit routes all asynchronous exceptions to EL2.

Backports commit d1b31428fd522b725bc053c84b5fbc8764061363 from qemu
This commit is contained in:
Richard Henderson 2020-03-21 16:23:49 -04:00 committed by Lioncash
parent 0c03fa2dac
commit 86d0163465

View file

@ -8252,6 +8252,12 @@ uint32_t arm_phys_excp_target_el(CPUState *cs, uint32_t excp_idx,
break;
};
/*
* For these purposes, TGE and AMO/IMO/FMO both force the
* interrupt to EL2. Fold TGE into the bit extracted above.
*/
hcr |= (hcr_el2 & HCR_TGE) != 0;
/* Perform a table-lookup for the target EL given the current state */
target_el = target_el_table[is64][scr][rw][hcr][secure][cur_el];