mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-20 09:46:20 +00:00
vbox6: fix TPR handling
This commit is contained in:
parent
e5b828ae8f
commit
4a87fcc4cf
@ -554,7 +554,7 @@ typename Sup::Vcpu_impl<T>::Current_state Sup::Vcpu_impl<T>::_handle_irq_window(
|
||||
_irq_window = false;
|
||||
|
||||
/* request current tpr state from guest, it may block IRQs */
|
||||
APICSetTpr(pVCpu, state.tpr_threshold.value());
|
||||
APICSetTpr(pVCpu, state.tpr.value());
|
||||
|
||||
if (!TRPMHasTrap(pVCpu)) {
|
||||
|
||||
@ -567,16 +567,15 @@ typename Sup::Vcpu_impl<T>::Current_state Sup::Vcpu_impl<T>::_handle_irq_window(
|
||||
|
||||
uint8_t irq;
|
||||
int rc = PDMGetInterrupt(pVCpu, &irq);
|
||||
Assert(RT_SUCCESS(rc));
|
||||
|
||||
rc = TRPMAssertTrap(pVCpu, irq, TRPM_HARDWARE_INT);
|
||||
Assert(RT_SUCCESS(rc));
|
||||
if (RT_SUCCESS(rc)) {
|
||||
rc = TRPMAssertTrap(pVCpu, irq, TRPM_HARDWARE_INT);
|
||||
Assert(RT_SUCCESS(rc));
|
||||
}
|
||||
}
|
||||
|
||||
if (!TRPMHasTrap(pVCpu)) {
|
||||
/* happens if APICSetTpr (see above) mask IRQ */
|
||||
state.inj_info.charge(VMX_ENTRY_INT_INFO_NONE);
|
||||
Genode::error("virq window pthread aaaaaaa while loop");
|
||||
return PAUSED;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user