Changeset 99888 in vbox for trunk/src/VBox/VMM
- Timestamp:
- May 22, 2023 10:36:30 AM (21 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR3/NEMR3Native-darwin-armv8.cpp
r99749 r99888 1023 1023 return nemR3DarwinHandleExitExceptionTrappedHvcInsn(pVM, pVCpu, uIss); 1024 1024 case ARMV8_ESR_EL2_EC_TRAPPED_WFX: 1025 return VINF_ EM_HALT;1025 return VINF_SUCCESS; /** @todo VINF_EM_HALT; We don't get notified about the vTimer if halting here currently leading to a guest hang...*/ 1026 1026 case ARMV8_ESR_EL2_EC_UNKNOWN: 1027 1027 default: … … 1137 1137 1138 1138 /* Set the pending interrupt state. */ 1139 if (VMCPU_FF_IS_ANY_SET(pVCpu, VMCPU_FF_INTERRUPT_IRQ | VMCPU_FF_INTERRUPT_FIQ)) 1140 { 1141 hv_return_t hrc = HV_SUCCESS; 1142 1143 if (VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_INTERRUPT_IRQ)) 1144 { 1145 hrc = hv_vcpu_set_pending_interrupt(pVCpu->nem.s.hVCpu, HV_INTERRUPT_TYPE_IRQ, true); 1146 AssertReturn(hrc == HV_SUCCESS, VERR_NEM_IPE_9); 1139 hv_return_t hrc = HV_SUCCESS; 1140 if (VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_INTERRUPT_IRQ)) 1141 { 1142 hrc = hv_vcpu_set_pending_interrupt(pVCpu->nem.s.hVCpu, HV_INTERRUPT_TYPE_IRQ, true); 1143 AssertReturn(hrc == HV_SUCCESS, VERR_NEM_IPE_9); 1147 1144 #ifdef LOG_ENABLED 1148 1145 fIrq = true; 1149 1146 #endif 1150 } 1151 1152 if (VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_INTERRUPT_FIQ)) 1153 { 1154 hrc = hv_vcpu_set_pending_interrupt(pVCpu->nem.s.hVCpu, HV_INTERRUPT_TYPE_FIQ, true); 1155 AssertReturn(hrc == HV_SUCCESS, VERR_NEM_IPE_9); 1147 } 1148 else 1149 { 1150 hrc = hv_vcpu_set_pending_interrupt(pVCpu->nem.s.hVCpu, HV_INTERRUPT_TYPE_IRQ, false); 1151 AssertReturn(hrc == HV_SUCCESS, VERR_NEM_IPE_9); 1152 } 1153 1154 if (VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_INTERRUPT_FIQ)) 1155 { 1156 hrc = hv_vcpu_set_pending_interrupt(pVCpu->nem.s.hVCpu, HV_INTERRUPT_TYPE_FIQ, true); 1157 AssertReturn(hrc == HV_SUCCESS, VERR_NEM_IPE_9); 1156 1158 #ifdef LOG_ENABLED 1157 1159 fFiq = true; 1158 1160 #endif 1159 }1160 1161 } 1161 1162 else 1162 1163 { 1163 hv_return_t hrc = hv_vcpu_set_pending_interrupt(pVCpu->nem.s.hVCpu, HV_INTERRUPT_TYPE_IRQ, false);1164 AssertReturn(hrc == HV_SUCCESS, VERR_NEM_IPE_9);1165 1166 1164 hrc = hv_vcpu_set_pending_interrupt(pVCpu->nem.s.hVCpu, HV_INTERRUPT_TYPE_FIQ, false); 1167 1165 AssertReturn(hrc == HV_SUCCESS, VERR_NEM_IPE_9);
Note:
See TracChangeset
for help on using the changeset viewer.