[PATCH 5/5] tests/functional/aarch64: add raspi4b RNG200/thermal test
Marcelo Manzo <[email protected]> Fri, 24 Jul 2026 21:26:35 -0400
| Newsgroups | org.nongnu.qemu-arm,org.nongnu.qemu-devel |
|---|---|
| Message-ID | <[email protected]> |
Add test_arm_raspi4_rng_thermal, exercising the raspi4b RNG200 and
thermal sensor devices added in this series: boot, confirm the
RNG200 driver probes it ("hwrng registered" in the kernel log),
reach a shell, and confirm the thermal zone reports the expected
fixed reading and /dev/hwrng actually yields data rather than just
existing.
Verified locally against this series with the exact kernel/initrd
assets this file already pins.
Signed-off-by: Marcelo Manzo <[email protected]>
---
tests/functional/aarch64/test_raspi4.py | 32 +++++++++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/tests/functional/aarch64/test_raspi4.py b/tests/functional/aarch64/test_raspi4.py
index 0e254a20..69748ce5 100755
--- a/tests/functional/aarch64/test_raspi4.py
+++ b/tests/functional/aarch64/test_raspi4.py
@@ -122,5 +122,37 @@ def test_arm_raspi4_genet(self):
exec_command_and_wait_for_pattern(self, 'halt', 'reboot: System halted')
+ def test_arm_raspi4_rng_thermal(self):
+ kernel_path = self.archive_extract(self.ASSET_KERNEL_20190215,
+ member='boot/kernel8.img')
+ dtb_path = self.archive_extract(self.ASSET_KERNEL_20190215,
+ member='boot/bcm2711-rpi-4-b.dtb')
+ initrd_path = self.uncompress(self.ASSET_INITRD)
+
+ self.set_machine('raspi4b')
+ self.vm.set_console()
+ kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
+ 'earlycon=pl011,mmio32,0xfe201000 ' +
+ 'console=ttyAMA0,115200 ' +
+ 'panic=-1 noreboot ' +
+ 'dwc_otg.fiq_fsm_enable=0')
+ self.vm.add_args('-kernel', kernel_path,
+ '-dtb', dtb_path,
+ '-initrd', initrd_path,
+ '-append', kernel_command_line,
+ '-no-reboot')
+ self.vm.launch()
+ self.wait_for_console_pattern(
+ 'iproc-rng200 fe104000.rng: hwrng registered')
+ self.wait_for_console_pattern('Boot successful.')
+
+ exec_command_and_wait_for_pattern(
+ self, 'cat /sys/devices/virtual/thermal/thermal_zone0/temp',
+ '25310')
+ exec_command_and_wait_for_pattern(self, 'head -c 8 /dev/hwrng | xxd',
+ '00000000:')
+ exec_command_and_wait_for_pattern(self, 'halt', 'reboot: System halted')
+
+
if __name__ == '__main__':
LinuxKernelTest.main()
--
2.47.1