kvm: Support timing accesses for KVM cpu
authorMichael LeBeane <michael.lebeane@amd.com>
Wed, 14 Sep 2016 03:20:03 +0000 (23:20 -0400)
committerMichael LeBeane <michael.lebeane@amd.com>
Wed, 14 Sep 2016 03:20:03 +0000 (23:20 -0400)
commit443da2c030c0ad5b22f86a471ae757cbbd491bc1
tree5eba8c9e5382a721e4449fcefb4d3b8635c7f623
parent2c43a21687b861bae462bea555c5875a4d0a91c8
kvm: Support timing accesses for KVM cpu
This patch enables timing accesses for KVM cpu.  A new state,
RunningMMIOPending, is added to indicate that there are outstanding timing
requests generated by KVM in the system.  KVM's tick() is disabled and the
simulation does not enter into KVM until all outstanding timing requests have
completed.  The main motivation for this is to allow KVM CPU to perform MMIO
in Ruby, since Ruby does not support atomic accesses.
src/cpu/kvm/base.cc
src/cpu/kvm/base.hh
src/cpu/kvm/x86_cpu.cc