VirtualBox

Changeset 36171 in vbox for trunk/src/recompiler/exec.c


Ignore:
Timestamp:
Mar 4, 2011 1:25:06 PM (14 years ago)
Author:
vboxsync
Message:

rem: Merged in changes from the branches/stable_0_10 (r7249).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/recompiler/exec.c

    r36170 r36171  
    669669    qemu_get_be32s(f, &env->halted);
    670670    qemu_get_be32s(f, &env->interrupt_request);
     671    env->interrupt_request &= ~CPU_INTERRUPT_EXIT;
    671672    tlb_flush(env, 1);
    672673
     
    17351736    int old_mask;
    17361737
     1738    if (mask & CPU_INTERRUPT_EXIT) {
     1739        env->exit_request = 1;
     1740        mask &= ~CPU_INTERRUPT_EXIT;
     1741    }
     1742
    17371743    old_mask = env->interrupt_request;
    17381744#ifdef VBOX
     
    17531759        env->icount_decr.u16.high = 0xffff;
    17541760#ifndef CONFIG_USER_ONLY
    1755         /* CPU_INTERRUPT_EXIT isn't a real interrupt.  It just means
    1756            an async event happened and we need to process it.  */
    17571761        if (!can_do_io(env)
    1758             && (mask & ~(old_mask | CPU_INTERRUPT_EXIT)) != 0) {
     1762            && (mask & ~old_mask) != 0) {
    17591763            cpu_abort(env, "Raised interrupt while not in I/O function");
    17601764        }
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette