gvisor/pkg/sentry/platform/kvm
Yong He 85b27a9f8f Solve BounceToKernel may hang issue
BounceToKernel will make vCPU quit from guest ring3 to guest ring0, but
vCPUWaiter is not cleared when we unlock the vCPU, when next time this vCPU
enter guest mode ring3, vCPU may enter guest mode with vCPUWaiter bit setted,
this will cause the following BounceToKernel to this vCPU hangs at
waitUntilNot.

Halt may workaroud this issue, because halt process will reset vCPU status into
vCPUUser, and notify all waiter for vCPU state change, but if there is no
exception or syscall in this period, BounceToKernel will hang at waitUntilNot.

PiperOrigin-RevId: 256299660
2019-07-02 22:03:28 -07:00
..
testutil Update canonical repository. 2019-06-13 16:50:15 -07:00
BUILD Update canonical repository. 2019-06-13 16:50:15 -07:00
address_space.go Update canonical repository. 2019-06-13 16:50:15 -07:00
allocator.go Update canonical repository. 2019-06-13 16:50:15 -07:00
bluepill.go Update canonical repository. 2019-06-13 16:50:15 -07:00
bluepill_amd64.go Update canonical repository. 2019-06-13 16:50:15 -07:00
bluepill_amd64.s Change copyright notice to "The gVisor Authors" 2019-04-29 14:26:23 -07:00
bluepill_amd64_unsafe.go Fix various spelling issues in the documentation 2019-06-27 14:25:50 -07:00
bluepill_fault.go Update canonical repository. 2019-06-13 16:50:15 -07:00
bluepill_unsafe.go Add build guard to files using go:linkname 2019-05-30 12:09:39 -07:00
context.go Update canonical repository. 2019-06-13 16:50:15 -07:00
kvm.go Update canonical repository. 2019-06-13 16:50:15 -07:00
kvm_amd64.go Update canonical repository. 2019-06-13 16:50:15 -07:00
kvm_amd64_unsafe.go Change copyright notice to "The gVisor Authors" 2019-04-29 14:26:23 -07:00
kvm_const.go Change copyright notice to "The gVisor Authors" 2019-04-29 14:26:23 -07:00
kvm_test.go Update canonical repository. 2019-06-13 16:50:15 -07:00
machine.go Solve BounceToKernel may hang issue 2019-07-02 22:03:28 -07:00
machine_amd64.go Update canonical repository. 2019-06-13 16:50:15 -07:00
machine_amd64_unsafe.go Fix various spelling issues in the documentation 2019-06-27 14:25:50 -07:00
machine_unsafe.go Update canonical repository. 2019-06-13 16:50:15 -07:00
physical_map.go Update canonical repository. 2019-06-13 16:50:15 -07:00
virtual_map.go Update canonical repository. 2019-06-13 16:50:15 -07:00
virtual_map_test.go Update canonical repository. 2019-06-13 16:50:15 -07:00