mbox series

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

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

Message

Jeff Kubascik Dec. 11, 2019, 9:13 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

Jeff Kubascik (2):
  xen/arm: remove physical timer offset
  xen/arm: sign extend writes to TimerValue

 xen/arch/arm/vtimer.c        | 34 ++++++++++++++++++----------------
 xen/include/asm-arm/domain.h |  3 ---
 2 files changed, 18 insertions(+), 19 deletions(-)

Comments

Julien Grall Jan. 16, 2020, 9:25 p.m. UTC | #1
Hi Jeff,

Do you plan to resend the series? If not, I am happy to respin the 
series for you.

Best regards,

On 11/12/2019 21:13, Jeff Kubascik wrote:
> 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
> 
> Jeff Kubascik (2):
>    xen/arm: remove physical timer offset
>    xen/arm: sign extend writes to TimerValue
> 
>   xen/arch/arm/vtimer.c        | 34 ++++++++++++++++++----------------
>   xen/include/asm-arm/domain.h |  3 ---
>   2 files changed, 18 insertions(+), 19 deletions(-)
>
Jeff Kubascik Jan. 16, 2020, 9:52 p.m. UTC | #2
Hello Julien,

On 1/16/2020 4:25 PM, Julien Grall wrote:
> Hi Jeff,
> 
> Do you plan to resend the series? If not, I am happy to respin the
> series for you.

Feel free! Unfortunately, I currently don't have the bandwidth to keep this
patch moving along.

> Best regards,
> 
> On 11/12/2019 21:13, Jeff Kubascik wrote:
>> 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
>>
>> Jeff Kubascik (2):
>>    xen/arm: remove physical timer offset
>>    xen/arm: sign extend writes to TimerValue
>>
>>   xen/arch/arm/vtimer.c        | 34 ++++++++++++++++++----------------
>>   xen/include/asm-arm/domain.h |  3 ---
>>   2 files changed, 18 insertions(+), 19 deletions(-)
>>
> 
> --
> Julien Grall
> 

Sincerely,
Jeff Kubascik