This patch set improves the emulation of the physical timer by removing the
physical timer offset and sign extend the TimerValue to better match the
behavior described in the ARMv8 Reference Manual (ARM DDI 0487E.a), section
D11.2.4.
Changes in v2:
- Update commit message to specify reference manual version and section
- Change physical timer cval to hold hardware value
- Make sure to sign extend TimerValue on writes. This was done by first
casting the r pointer to (int32_t *), dereferencing it, then casting
to uint64_t. Please let me know if there is a more correct way to do
this
Changes in v3:
- Split TimerValue sign extension fix into separate patch
- Update commit message to mention physical timer cleanup
- Removed physical timer cval initialization line
- Changed TimerValue sign extension to (uint64_t)(int32_t)*r
- Account for condition where cval < boot_count
Changes in v4:
- Improved commit message for patch #2, as suggested/provided by Julien
Jeff Kubascik (2):
xen/arm: remove physical timer offset
xen/arm: Sign extend TimerValue when computing the CompareValue
xen/arch/arm/vtimer.c | 34 ++++++++++++++++++----------------
xen/include/asm-arm/domain.h | 3 ---
2 files changed, 18 insertions(+), 19 deletions(-)
--
2.17.1
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel