mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-07 01:33:56 -06:00
qemu: per-arch cpu_has_work (Marcelo Tosatti)
Blue Swirl: fix Sparc32 breakage Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7238 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
e5d355d12e
commit
6a4955a813
11 changed files with 72 additions and 12 deletions
|
@ -338,14 +338,23 @@ static inline void regs_to_env(void)
|
|||
#endif
|
||||
}
|
||||
|
||||
static inline int cpu_has_work(CPUState *env)
|
||||
{
|
||||
int work;
|
||||
|
||||
work = (env->interrupt_request & CPU_INTERRUPT_HARD) &&
|
||||
(env->eflags & IF_MASK);
|
||||
work |= env->interrupt_request & CPU_INTERRUPT_NMI;
|
||||
|
||||
return work;
|
||||
}
|
||||
|
||||
static inline int cpu_halted(CPUState *env) {
|
||||
/* handle exit of HALTED state */
|
||||
if (!env->halted)
|
||||
return 0;
|
||||
/* disable halt condition */
|
||||
if (((env->interrupt_request & CPU_INTERRUPT_HARD) &&
|
||||
(env->eflags & IF_MASK)) ||
|
||||
(env->interrupt_request & CPU_INTERRUPT_NMI)) {
|
||||
if (cpu_has_work(env)) {
|
||||
env->halted = 0;
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue