mirror of https://gitee.com/openkylin/qemu.git
target-arm: A64: Implement WFI
Implement the WFI instruction for A64; this just involves wiring up the instruction, and adding a gen_a64_set_pc_im() which was accidentally omitted from the A64 decoder top loop. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
This commit is contained in:
parent
d9ea7d290b
commit
1ed69e82b8
|
@ -1080,9 +1080,11 @@ static void handle_hint(DisasContext *s, uint32_t insn,
|
|||
switch (selector) {
|
||||
case 0: /* NOP */
|
||||
return;
|
||||
case 3: /* WFI */
|
||||
s->is_jmp = DISAS_WFI;
|
||||
return;
|
||||
case 1: /* YIELD */
|
||||
case 2: /* WFE */
|
||||
case 3: /* WFI */
|
||||
case 4: /* SEV */
|
||||
case 5: /* SEVL */
|
||||
/* we treat all as NOP at least for now */
|
||||
|
@ -9124,6 +9126,7 @@ void gen_intermediate_code_internal_a64(ARMCPU *cpu,
|
|||
/* This is a special case because we don't want to just halt the CPU
|
||||
* if trying to debug across a WFI.
|
||||
*/
|
||||
gen_a64_set_pc_im(dc->pc);
|
||||
gen_helper_wfi(cpu_env);
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue