Junjie Mao <junjie....@hotmail.com> writes:

> Alex Bennée <alex.ben...@linaro.org> writes:
>
>> Junjie Mao <junjie....@hotmail.com> writes:
>>
>>> The peripheral and PrimeCell identification registers of pl011 are located 
>>> at
>>> offset 0xFE0 - 0xFFC. To check if a read falls to such registers, the C
>>> implementation checks if the offset-shifted-by-2 (not the offset itself) is 
>>> in
>>> the range 0x3F8 - 0x3FF.
>>>
>>> Use the same check in the Rust implementation.
>>>
>>> This fixes the timeout of the following avocado tests:
>>>
>>>   * tests/avocado/boot_linux_console.py:BootLinuxConsole.test_arm_virt
>>>   * tests/avocado/replay_kernel.py:ReplayKernelNormal.test_arm_virt
>>>   * tests/avocado/replay_kernel.py:ReplayKernelNormal.test_arm_vexpressa9
>>>
>>> Reported-by: Peter Maydell <peter.mayd...@linaro.org>
>>> Signed-off-by: Junjie Mao <junjie....@hotmail.com>
>>
>> This certainly fixes the avocado failures.
>>
>> Tested-by: Alex Bennée <alex.ben...@linaro.org>
>> Reviewed-by: Alex Bennée <alex.ben...@linaro.org>
>>
>
> Thanks for reviewing and testing, Alex!
>
> Meanwhile, Manos has submitted another fix [1] which also replaces
> arrays of constant register values with more explicit register
> getters. His change may supercedes mine.
>
> [1]
> https://lore.kernel.org/qemu-devel/20241117161039.3758840-1-manos.pitsidiana...@linaro.org

Yes I'm looking at that series now. I just wanted to note this simple
fix might be more relevant to 9.2 as its concise and easy to see what
its doing.

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro

Reply via email to