[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug 1757363] Re: infinite loop due to improper deal with "eret" on mips
From: |
Launchpad Bug Tracker |
Subject: |
[Bug 1757363] Re: infinite loop due to improper deal with "eret" on mips32 |
Date: |
Sun, 17 Jan 2021 04:17:19 -0000 |
[Expired for QEMU because there has been no activity for 60 days.]
** Changed in: qemu
Status: Incomplete => Expired
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1757363
Title:
infinite loop due to improper deal with "eret" on mips32
Status in QEMU:
Expired
Bug description:
1.qemu 2.9.1 release on the official web build with tcg
2.cmd: qemu-system-mips -kernel kernelfile
3. host: ubuntu 16.04.1 with linux kernel 4.6.2 x86_64
guest: mips bigendian 32bit (tplink firmware)
detail:
static inline void exception_return(CPUMIPSState *env)
{
debug_pre_eret(env);
if (env->CP0_Status & (1 << CP0St_ERL)) {
set_pc(env, env->CP0_ErrorEPC);
env->CP0_Status &= ~(1 << CP0St_ERL);
} else {
set_pc(env, env->CP0_EPC);
env->CP0_Status &= ~(1 << CP0St_EXL);====================> ISSUE????
}
compute_hflags(env);
debug_post_eret(env);
}
void helper_eret(CPUMIPSState *env)
{
exception_return(env);
env->lladdr = 1;
}
In the Issue Line, there is no check CP0_Status whether int is disabled
(should not enter int routine),
that result in the cpu can not jump out the int routine.
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1757363/+subscriptions
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Bug 1757363] Re: infinite loop due to improper deal with "eret" on mips32,
Launchpad Bug Tracker <=