On 02.12.20 23:19, Frank Yang wrote:
From downstream:
https://android-review.googlesource.com/c/platform/external/qemu/+/1515002
<https://android-review.googlesource.com/c/platform/external/qemu/+/1515002>
Based on v3 of Alexander Graf's patches
https://patchew.org/QEMU/20201202190408.2041-1-ag...@csgraf.de
<https://patchew.org/QEMU/20201202190408.2041-1-ag...@csgraf.de>
We need to adjust CNTVOFF_EL2 so that time doesnt warp. Even though we
can set separate CNTVOFF_EL2 values per vCPU, it just is not worth the
require effort to do that accurately---with individual values, even if
they are a tiny bit off it can result in a lockup due to inconsistent
time differences between vCPUs. So just use a global approximate value
for now.
Not tested in upstream yet, but Android emulator snapshots work without
time warp now.
Signed-off-by: Lingfeng Yang <l...@google.com <mailto:l...@google.com>>
If we just always make CNTV start at the same 0 as QEMU_CLOCK_VIRTUAL,
we should be able to just recover the offset after migration by looking
at QEMU_CLOCK_VIRTUAL to set CNTVOFF, right?
That would end up much easier than this patch I hope.
Alex