summaryrefslogtreecommitdiffhomepage
path: root/pkg/cpuid/cpuid.go
diff options
context:
space:
mode:
authorAndrei Vagin <avagin@gmail.com>2021-03-16 09:15:03 -0700
committerAndrei Vagin <avagin@gmail.com>2021-03-16 21:55:20 -0700
commit2f3dac78ca9aa1abb9d27570bc9ece0f486ddb60 (patch)
tree195f9161e491c3f31ac6a1191e651f25f9743976 /pkg/cpuid/cpuid.go
parentf7e841c2cede357c4cbd6117605e3f3d54f1961c (diff)
kvm: prefault a floating point state before restoring it
If physical pages of a memory region are not mapped yet, the kernel will trigger KVM_EXIT_MMIO and we will map physical pages in bluepillHandler(). An instruction that triggered a fault will not be re-executed, it will be emulated in the kernel, but it can't emulate complex instructions like xsave, xrstor. We can touch the memory with simple instructions to workaround this problem.
Diffstat (limited to 'pkg/cpuid/cpuid.go')
0 files changed, 0 insertions, 0 deletions