On 22/05/2024 08.23, Zhenzhong Duan wrote:
Add the framework to test the intel-iommu device.

Currently only tested cap/ecap bits correctness in scalable
modern mode. Also tested cap/ecap bits consistency before
and after system reset.

Signed-off-by: Zhenzhong Duan <zhenzhong.d...@intel.com>
---
  MAINTAINERS                    |  1 +
  tests/qtest/intel-iommu-test.c | 63 ++++++++++++++++++++++++++++++++++
  tests/qtest/meson.build        |  1 +
  3 files changed, 65 insertions(+)
  create mode 100644 tests/qtest/intel-iommu-test.c

diff --git a/MAINTAINERS b/MAINTAINERS
index 5dab60bd04..f1ef6128c8 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3656,6 +3656,7 @@ S: Supported
  F: hw/i386/intel_iommu.c
  F: hw/i386/intel_iommu_internal.h
  F: include/hw/i386/intel_iommu.h
+F: tests/qtest/intel-iommu-test.c
AMD-Vi Emulation
  S: Orphan
diff --git a/tests/qtest/intel-iommu-test.c b/tests/qtest/intel-iommu-test.c
new file mode 100644
index 0000000000..e1273bce14
--- /dev/null
+++ b/tests/qtest/intel-iommu-test.c
@@ -0,0 +1,63 @@
+/*
+ * QTest testcase for intel-iommu
+ *
+ * Copyright (c) 2024 Intel, Inc.
+ *
+ * Author: Zhenzhong Duan <zhenzhong.d...@intel.com>
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ */
+
+#include "qemu/osdep.h"
+#include "libqtest-single.h"

It's a little bit nicer to write new tests without libqtest-single.h (e.g. in case you ever add migration tests later, you must not use anything that uses a global state), so I'd recommend to use "qts = qtest_init(...)" instead of qtest_start(...) and then to use the functions with the "qtest_" prefix instead of the other functions from libqtest-single.h ... but it's only a recommendation, up to you whether you want to respin your patch with it or not.

Anyway:
Acked-by: Thomas Huth <th...@redhat.com>

Do you want me to pick this up through the qtest tree, or shall this go through some x86-related tree instead?

 Thomas


Reply via email to