VirtualBox

Changeset 100144 in vbox for trunk/include


Ignore:
Timestamp:
Jun 9, 2023 3:39:42 PM (19 months ago)
Author:
vboxsync
Message:

VMM/EM: Renamed VINF_EM_RESCHEDULE_HM to VINF_EM_RESCHEDULE_EXEC_ENGINE and made the outer EM loop check if NEM can execute the current CPU state before changing the state to NEM. Removed VINF_EM_RESCHEDULE_RAW and VINF_EM_RESCHEDULE_PARAV. bugref:10369

Location:
trunk/include/VBox
Files:
3 edited

Legend:

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

    r99897 r100144  
    177177/** The fatal variant of VINF_EM_NO_MEMORY. */
    178178#define VERR_EM_NO_MEMORY                   (-1114)
    179 /** Indicating that a rescheduling to recompiled execution.
    180  * Typically caused by raw-mode executing code which is difficult/slow
    181  * to virtualize rawly.
     179/** Indicating that we should reschedule to recompiled execution.
     180 * Typically caused by the main execution engine not being capable of executing
     181 * code in the current CPU state, or would be doing it too slowly, and we must
     182 * fall back to recompiled execution.
    182183 * @remarks Important to have a higher priority (lower number) than the other rescheduling status codes. */
    183184#define VINF_EM_RESCHEDULE_REM              1115
    184 /** Indicating that a rescheduling to vmx-mode execution (HM/NEM).
    185  * Typically caused by REM detecting that hardware-accelerated raw-mode execution is possible. */
    186 #define VINF_EM_RESCHEDULE_HM               1116
    187 /** Indicating that a rescheduling to raw-mode execution.
    188  * Typically caused by REM detecting that raw-mode execution is possible.
    189  * @remarks Important to have a higher priority (lower number) than VINF_EM_RESCHEDULE. */
    190 #define VINF_EM_RESCHEDULE_RAW              1117
     185/** Indicating that we should reschedule to the main execution engine.
     186 * Mainly triggered in recompiled execution mode to switch back to the main
     187 * execution engine when the CPU state is compatible with it again (or we're
     188 * past the expensive portion of code that is deemed faster to recompile). */
     189#define VINF_EM_RESCHEDULE_EXEC_ENGINE      1116
     190/* VINF_EM_RESCHEDULE_RAW was 1117 */
    191191/** Indicating that a rescheduling now is required. Typically caused by
    192192 * interrupts having changed the EIP. */
    193193#define VINF_EM_RESCHEDULE                  1118
    194 /** PARAV call */
    195 #define VINF_EM_RESCHEDULE_PARAV            1119
     194/* VINF_EM_RESCHEDULE_PARAV was 1119 */
    196195/** Go back into wait for SIPI mode */
    197196#define VINF_EM_WAIT_SIPI                   1120
  • trunk/include/VBox/err.mac

    r99897 r100144  
    8181%define VERR_EM_NO_MEMORY    (-1114)
    8282%define VINF_EM_RESCHEDULE_REM    1115
    83 %define VINF_EM_RESCHEDULE_HM    1116
    84 %define VINF_EM_RESCHEDULE_RAW    1117
     83%define VINF_EM_RESCHEDULE_EXEC_ENGINE    1116
    8584%define VINF_EM_RESCHEDULE    1118
    86 %define VINF_EM_RESCHEDULE_PARAV    1119
    8785%define VINF_EM_WAIT_SIPI    1120
    8886%define VINF_EM_LAST    1120
  • trunk/include/VBox/vmm/iom.h

    r98103 r100144  
    8989                                 && (rc) != VINF_EM_RESCHEDULE_REM \
    9090                                 && (rc) >= VINF_EM_FIRST \
    91                                  && (rc) != VINF_EM_RESCHEDULE_RAW \
    92                                  && (rc) != VINF_EM_RESCHEDULE_HM \
     91                                 && (rc) != VINF_EM_RESCHEDULE_EXEC_ENGINE \
    9392                                ) \
    9493                            )
     
    9897                                 && (rc) != VINF_EM_RESCHEDULE_REM \
    9998                                 && (rc) >= VINF_EM_FIRST \
    100                                  && (rc) != VINF_EM_RESCHEDULE_RAW \
    101                                  && (rc) != VINF_EM_RESCHEDULE_HM \
     99                                 && (rc) != VINF_EM_RESCHEDULE_EXEC_ENGINE \
    102100                                ) \
    103101                             || (rc) == VINF_IOM_R3_IOPORT_COMMIT_WRITE \
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