Changeset 102977 in vbox for trunk/src/VBox/VMM/VMMR3/EM.cpp
- Timestamp:
- Jan 19, 2024 11:11:30 PM (12 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR3/EM.cpp
r102949 r102977 706 706 #endif /* LOG_ENABLED || VBOX_STRICT */ 707 707 708 709 708 #if !defined(VBOX_VMM_TARGET_ARMV8) 709 710 710 /** 711 711 * Handle pending ring-3 I/O port write. … … 851 851 return VMMR3EmtRendezvous(pVM, VMMEMTRENDEZVOUS_FLAGS_TYPE_ALL_AT_ONCE, emR3ExecuteSplitLockInstructionRendezvous, pVCpu); 852 852 } 853 853 854 #endif /* VBOX_VMM_TARGET_ARMV8 */ 854 855 855 856 856 /** … … 893 893 rc = VINF_EM_DBG_STEPPED; 894 894 } 895 #ifndef VBOX_VMM_TARGET_ARMV8 896 if (rc != VINF_EM_EMULATE_SPLIT_LOCK) 897 { /* likely */ } 898 else 899 { 900 rc = emR3ExecuteSplitLockInstruction(pVM, pVCpu); 901 if (rc == VINF_SUCCESS || rc == VINF_EM_RESCHEDULE) 902 rc = VINF_EM_DBG_STEPPED; 903 } 904 #endif 895 905 break; 896 906 … … 1116 1126 if (rcStrict != VINF_SUCCESS) 1117 1127 { 1128 #ifndef VBOX_VMM_TARGET_ARMV8 1129 if (rcStrict == VINF_EM_EMULATE_SPLIT_LOCK) 1130 rcStrict = emR3ExecuteSplitLockInstruction(pVM, pVCpu); 1131 #endif 1132 if (rcStrict != VINF_SUCCESS) 1133 { 1118 1134 #if 0 1119 if (RT_LIKELY(rcStrict >= VINF_EM_FIRST && rcStrict <= VINF_EM_LAST)) 1135 if (RT_LIKELY(rcStrict >= VINF_EM_FIRST && rcStrict <= VINF_EM_LAST)) 1136 break; 1137 /* Fatal error: */ 1138 #endif 1120 1139 break; 1121 /* Fatal error: */ 1122 #endif 1123 break; 1140 } 1124 1141 } 1125 1142 … … 2556 2573 else if (rc == VINF_SUCCESS) 2557 2574 rc = VINF_EM_RESCHEDULE; /* Need to check whether we can run in HM or NEM again. */ 2575 #ifndef VBOX_VMM_TARGET_ARMV8 2576 if (rc != VINF_EM_EMULATE_SPLIT_LOCK) 2577 { /* likely */ } 2578 else 2579 rc = VBOXSTRICTRC_TODO(emR3ExecuteSplitLockInstruction(pVM, pVCpu)); 2580 #endif 2558 2581 fFFDone = false; 2559 2582 break;
Note:
See TracChangeset
for help on using the changeset viewer.