VirtualBox

Ignore:
Timestamp:
Feb 22, 2011 6:19:03 PM (14 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
70168
Message:

.remstep hacking.

File:
1 edited

Legend:

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

    r36054 r36056  
    7878#define REM_COPY_FPU_REG(pDst, pSrc) \
    7979    do { *(PX86FPUMMX)(pDst) = *(const X86FPUMMX *)(pSrc); } while (0)
     80
     81/** How remR3RunLoggingStep operates. */
     82#define REM_USE_QEMU_SINGLE_STEP_FOR_LOGGING
    8083
    8184
     
    951954        int interrupt_request = pVM->rem.s.Env.interrupt_request;
    952955        Assert(!(interrupt_request & ~(CPU_INTERRUPT_HARD | CPU_INTERRUPT_EXIT | CPU_INTERRUPT_EXITTB | CPU_INTERRUPT_TIMER | CPU_INTERRUPT_EXTERNAL_HARD | CPU_INTERRUPT_EXTERNAL_EXIT | CPU_INTERRUPT_EXTERNAL_TIMER)));
     956#ifdef REM_USE_QEMU_SINGLE_STEP_FOR_LOGGING
     957        cpu_single_step(&pVM->rem.s.Env, 0);
     958#endif
    953959        Assert(!pVM->rem.s.Env.singlestep_enabled);
     960
    954961        /*
    955962         * Now we set the execute single instruction flag and enter the cpu_exec loop.
     
    10741081{
    10751082    int rc;
    1076     Assert(!pVM->rem.s.Env.singlestep_enabled);
     1083
    10771084    Assert(pVM->rem.s.fInREM);
    1078 /* #define REM_USE_QEMU_SINGLE_STEP_FOR_LOGGING - slow (tb flushing?) */
    10791085#ifdef REM_USE_QEMU_SINGLE_STEP_FOR_LOGGING
    10801086    cpu_single_step(&pVM->rem.s.Env, 1);
     1087#else
     1088    Assert(!pVM->rem.s.Env.singlestep_enabled);
    10811089#endif
    10821090
     
    12511259
    12521260#ifdef REM_USE_QEMU_SINGLE_STEP_FOR_LOGGING
    1253     cpu_single_step(&pVM->rem.s.Env, 0);
     1261//    cpu_single_step(&pVM->rem.s.Env, 0);
    12541262#else
    12551263    pVM->rem.s.Env.interrupt_request &= ~(CPU_INTERRUPT_SINGLE_INSTR | CPU_INTERRUPT_SINGLE_INSTR_IN_FLIGHT);
     
    38513859    else
    38523860        pVM->rem.s.Env.state &= ~CPU_EMULATE_SINGLE_STEP;
     3861#ifdef REM_USE_QEMU_SINGLE_STEP_FOR_LOGGING
     3862    cpu_single_step(&pVM->rem.s.Env, fEnable);
     3863#endif
    38533864    return VINF_SUCCESS;
    38543865}
Note: See TracChangeset for help on using the changeset viewer.

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