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