You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qemu/rust
Junjie Mao f7ceab1e30 rust/pl011: Fix range checks for device ID accesses
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.maydell@linaro.org>
Signed-off-by: Junjie Mao <junjie.mao@hotmail.com>
Tested-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <SY0P300MB102644C4AC34A3AAD75DC4D5955C2@SY0P300MB1026.AUSP300.PROD.OUTLOOK.COM>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20241121165806.476008-39-alex.bennee@linaro.org>
1 week ago
..
hw rust/pl011: Fix range checks for device ID accesses 1 week ago
qemu-api rust: do not use --generate-cstr 4 weeks ago
qemu-api-macros rust: qemu-api-macros: always process subprojects before dependencies 4 weeks ago
.gitignore rust: add bindgen step as a meson dependency 2 months ago
Cargo.lock rust: introduce alternative implementation of offset_of! 4 weeks ago
Cargo.toml rust: create a cargo workspace 4 weeks ago
Kconfig rust: add PL011 device model 4 weeks ago
meson.build rust: add PL011 device model 4 weeks ago
rustfmt.toml rust: add crate to expose bindings and interfaces 2 months ago
wrapper.h rust/wrapper.h: define memory_order enum 4 weeks ago