On 15/03/2022 13.12, Alex Bennée wrote:
The Fedora 29 kernel is quite old and importantly fails when running
in LPA2 scenarios. As it's not really exercising much of the CPU space
replace it with a custom 5.16.12 kernel with all the architecture
options turned on. There is a minimal buildroot initramfs included in
the kernel which has a few tools for stress testing the memory
subsystem. The userspace also targets the Neoverse N1 processor so
will fail without additional v8.x+ features.
Signed-off-by: Alex Bennée <alex.ben...@linaro.org>
Cc: Richard Henderson <richard.hender...@linaro.org>
Message-Id: <20220307172249.3125779-1-alex.ben...@linaro.org>
---
tests/avocado/boot_linux_console.py | 22 ++++++++++++++--------
1 file changed, 14 insertions(+), 8 deletions(-)
diff --git a/tests/avocado/boot_linux_console.py
b/tests/avocado/boot_linux_console.py
index 9c618d4809..ca3a40e91d 100644
--- a/tests/avocado/boot_linux_console.py
+++ b/tests/avocado/boot_linux_console.py
@@ -12,6 +12,7 @@
import lzma
import gzip
import shutil
+import time
from avocado import skip
from avocado import skipUnless
@@ -330,25 +331,30 @@ def test_aarch64_virt(self):
:avocado: tags=arch:aarch64
:avocado: tags=machine:virt
:avocado: tags=accel:tcg
- :avocado: tags=cpu:cortex-a53
+ :avocado: tags=cpu:max
"""
- kernel_url = ('https://archives.fedoraproject.org/pub/archive/fedora'
- '/linux/releases/29/Everything/aarch64/os/images/pxeboot'
- '/vmlinuz')
- kernel_hash = '8c73e469fc6ea06a58dc83a628fc695b693b8493'
+ kernel_url = ('https://fileserver.linaro.org/s/'
+ 'z6B2ARM7DQT3HWN/download')
+
+ kernel_hash = 'ed11daab50c151dde0e1e9c9cb8b2d9bd3215347'
kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
self.vm.set_console()
kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
'console=ttyAMA0')
self.require_accelerator("tcg")
- self.vm.add_args('-cpu', 'cortex-a53',
+ self.vm.add_args('-cpu', 'max,pauth-impdef=on',
'-accel', 'tcg',
'-kernel', kernel_path,
'-append', kernel_command_line)
self.vm.launch()
- console_pattern = 'Kernel command line: %s' % kernel_command_line
- self.wait_for_console_pattern(console_pattern)
+ self.wait_for_console_pattern('Welcome to Buildroot')
+ time.sleep(0.1)
+ exec_command(self, 'root')
+ time.sleep(0.1)
+ exec_command(self, 'cat /proc/self/maps')
+ time.sleep(0.1)
I can't say much about scope of aarch64 testing, but while you're at it, you
also could move the new test to a separate file, like
machine_aarch64_virt.py, so that it could be added to MAINTAINERS, too?
Thomas