mbox series

[v4,0/2] xen/arm: physical timer improvements

Message ID 20200121150704.126001-1-jeff.kubascik@dornerworks.com (mailing list archive)
Headers show
Series xen/arm: physical timer improvements | expand

Message

Jeff Kubascik Jan. 21, 2020, 3:07 p.m. UTC
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(-)