#
c54c7ec9 |
|
15-Aug-2018 |
Alex Legg <alexlegg@google.com> |
[hypervisor] Fix Trap destruction Remove packets from the port dispatcher queue on destruction of the Trap to prevent a bug where packets are freed after the arena that contains them has been destructed. Since Trap packets have nullptr as the handle a small modification to CancelQueued was needed to allow PortPackets with null handles to be canceled. TEST=Run guest_integration_tests Change-Id: Ibb394bf5e123bfac78942eb58d6c7d4acb1a939f
|
#
e604d216 |
|
13-Aug-2018 |
Abdulla Kamar <abdulla@google.com> |
[lib][hypervisor] Improve error message in TrapMap Test: N/A Change-Id: Ic57df9e9c5bf3cbedde51e7264d9b3680fcba93d
|
#
8e4ae406 |
|
02-Aug-2018 |
Abdulla Kamar <abdulla@google.com> |
[lib][hypervisor] Only use IO traps on X86 If we are not on X86, we should not check for IO traps. Test: Ran tests and "guest launch zircon_guest". Change-Id: I5d3e83b92e6213109d64c75a3ff4d7c4d73104a3
|
#
77c95af7 |
|
06-Jun-2018 |
George Kulakowski <kulakowski@google.com> |
[kernel][semaphore] Remove unused parameter to semaphore.Wait Change-Id: Iabb0707f16e8d231dcc54888880f61b0b3549147
|
#
2042701f |
|
27-Apr-2018 |
Mark Seaborn <mseaborn@google.com> |
[kernel][port] Use resched_disable instead of tracking a wake_count Change PortDispatcher and Semaphore to use resched_disable instead of manually tracking whether we need to call thread_reschedule(). This shouldn't change the performance of ports. This is a cleanup in the sense that it removes a use of "reschedule=false" and simplifies the code. Remove the !arch_ints_disabled() assertion from thread_resched_disable(), because PortDispatcher::Queue() is called with interrupts disabled via the following code path, which sends a debug message when a thread exits as a result of being killed: x86_iframe_process_pending_signals()/arm64_thread_process_pending_signals() thread_process_pending_signals() thread_do_suspend() check_kill_signal() thread_exit() ThreadDispatcher::Exiting() ExceptionPort::OnThreadExitForDebugger() ThreadDispatcher::ExceptionHandlerExchange() ExceptionPort::SendPacketWorker() PortDispatcher::Queue() The assertion was unnecessarily strict. Note that there are very few places in the kernel that assert that interrupts are *not* disabled. ZX-1690 Change-Id: I8142295202bfce332abb69e2b36a79bda0df20ab
|
#
87b543ef |
|
18-Mar-2018 |
Abdulla Kamar <abdulla@google.com> |
[hypervisor][ktrace] Add VCPU blocking events Add ktrace events for when the VCPU is blocked while either waiting for an interrupt or waiting for a port packet to become available. This also restructures the way we record metadata for VCPU ktraces in order to be more efficient. PD-100 #comment Change-Id: I43551a0068bb3d6393a9a58c21b3ea813edfb726
|
#
35c1acbe |
|
15-Feb-2018 |
Abdulla Kamar <abdulla@google.com> |
[lib][hypervisor] Move everything into a namespace Move everything, but vmm_guest_page_fault_handler, into the hypervisor namespace. Change-Id: Ied96a7945b26c4a1ed24c03b293d42c7d89e7812
|
#
bea0b881 |
|
02-Dec-2017 |
Abdulla Kamar <abdulla@google.com> |
[x86][hypervisor] Remove AutoVmcs::Reload logic Every path that called Reload was immediately returning, to then have a new instance of AutoVmcs reload the VMCS. The call to AutoVmcs::Reload is redundant. Instead, we replace AutoVmcs::Reload with AutoVmcs::Invalidate. All paths that are blocking will require a StateInvalidator, which will then invalidate the AutoVmcs so that any use of it after invalidation will trip a DEBUG_ASSERT, making failure much more explicit than current. Change-Id: I2497e63d7acc1de97571354ffdd05dc7e2c8cef5
|
#
780e9800 |
|
13-Oct-2017 |
Abdulla Kamar <abdulla@google.com> |
[lib][hypervisor] Allow reloader to be null. When using the TrapMap on arm64, we don't need to use the StateReloader. Change-Id: Ibc58592c2d0e940283fed894073376005fbe9678
|
#
7fb7213b |
|
01-Oct-2017 |
Abdulla Kamar <abdulla@google.com> |
[lib][hypervisor] Rename PacketMux to TrapMap. This more accurately describes what it does, and makes more sense in the code. Change-Id: Iae0223645dbf4b399ce29e15e10a8d3eeb8d3cf5
|