VirtualBox

Changeset 100804 in vbox for trunk/include/VBox


Ignore:
Timestamp:
Aug 5, 2023 1:01:32 AM (18 months ago)
Author:
vboxsync
Message:

VMM/IEM: Made the rep-prefixed string instructions return new status code VINF_IEM_YIELD_PENDING_FF if they yield and does not update RIP. This will avoid trouble in the recompiler as any non-zero status code will stop TB execution. This is more efficient than generating extra checks on the RIP value or something in the TB. The IEM_CIMPL_F_REP annotated instructions no longer need to trigger an end-of-tb. Annotate I/O instructions in case it comes in handy. bugref:10369

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/err.h

    r100791 r100804  
    24992499 *  VERR, VERW).  This is not used outside the instruction implementations. */
    25002500#define VINF_IEM_SELECTOR_NOT_OK                    (5305)
    2501 /** Recompiler: Translation block allocation failed. */
    2502 #define VERR_IEM_TB_ALLOC_FAILED                    (-5309)
     2501/** Returns by rep-prefixed string instruction if they yield because of
     2502 *  pending FFs.  The status code is internal to IEM. */
     2503#define VINF_IEM_YIELD_PENDING_FF                   (5306)
    25032504/** Recompiled execution: Break out of current TB execution. */
    25042505#define VINF_IEM_REEXEC_BREAK                       (5310)
    25052506/** Recompilation: End translation block. */
    25062507#define VINF_IEM_RECOMPILE_END_TB                   (5311)
     2508/** Recompiler: Translation block allocation failed. */
     2509#define VERR_IEM_TB_ALLOC_FAILED                    (-5312)
    25072510
    25082511/** Restart the current instruction. For testing only. */
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