• A
    target/arm/kvm: Implement virtual time adjustment · e5ac4200
    Andrew Jones 提交于
    When a VM is stopped (such as when it's paused) guest virtual time
    should stop counting. Otherwise, when the VM is resumed it will
    experience time jumps and its kernel may report soft lockups. Not
    counting virtual time while the VM is stopped has the side effect
    of making the guest's time appear to lag when compared with real
    time, and even with time derived from the physical counter. For
    this reason, this change, which is enabled by default, comes with
    a KVM CPU feature allowing it to be disabled, restoring legacy
    behavior.
    
    This patch only provides the implementation of the virtual time
    adjustment. A subsequent patch will provide the CPU property
    allowing the change to be enabled and disabled.
    Reported-by: NBijan Mottahedeh <bijan.mottahedeh@oracle.com>
    Signed-off-by: NAndrew Jones <drjones@redhat.com>
    Message-id: 20200120101023.16030-6-drjones@redhat.com
    Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
    Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
    e5ac4200
cpu.h 125.7 KB