diff --git a/DEVELOPERS b/DEVELOPERS index 9a740d650d..71dd7d3d6c 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -2917,6 +2917,7 @@ F: configs/uevm5432_defconfig F: package/i7z/ F: package/msr-tools/ F: package/pixz/ +F: support/testing/tests/package/test_msr_tools* F: support/testing/tests/package/test_pixz.py N: Vinicius Tinti diff --git a/support/testing/tests/package/test_msr_tools.py b/support/testing/tests/package/test_msr_tools.py new file mode 100644 index 0000000000..4d62742a5f --- /dev/null +++ b/support/testing/tests/package/test_msr_tools.py @@ -0,0 +1,50 @@ +import os + +import infra.basetest + + +class TestMsrTools(infra.basetest.BRTest): + config = \ + """ + BR2_x86_64=y + BR2_x86_corei7=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.55" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86_64/linux.config" + BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{}" + BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y + BR2_PACKAGE_MSR_TOOLS=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """.format( + infra.filepath("tests/package/test_msr_tools/linux.config")) + + def test_run(self): + kernel = os.path.join(self.builddir, "images", "bzImage") + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot( + arch="x86_64", + kernel=kernel, kernel_cmdline=["console=ttyS0"], + options=["-cpu", "Nehalem", "-m", "320", "-initrd", cpio_file] + ) + self.emulator.login() + + # CPU ID. + cmd = "cpuid" + self.assertRunOk(cmd) + + # Write MSR. + # We write to TSC_AUX. + cmd = "wrmsr 0xc0000103 0x1234567812345678" + self.assertRunOk(cmd) + + # Read MSR. + # We read back the TSC_AUX and we verify that we read back the correct + # value. + cmd = "rdmsr 0xc0000103" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertEqual(output[0], "1234567812345678") diff --git a/support/testing/tests/package/test_msr_tools/linux.config b/support/testing/tests/package/test_msr_tools/linux.config new file mode 100644 index 0000000000..8fe09db87b --- /dev/null +++ b/support/testing/tests/package/test_msr_tools/linux.config @@ -0,0 +1,2 @@ +CONFIG_X86_CPUID=y +CONFIG_X86_MSR=y