test(fuzz) adding fuzzing for all SDEI calls
added constraints for all calls
added fuzzer feature to start at arbitrary call number
added fuzzer features for function exclusion, fuzzer starting/ending call
worked on additional fuzzing for event_register
Change-Id: I9814b8387ea9e0fb00b53adbdbe0f8429845924e
Signed-off-by: Alex Liang <alex.liang2@arm.com>
diff --git a/smc_fuzz/dts/auto.dts b/smc_fuzz/dts/auto.dts
new file mode 100644
index 0000000..3c2626c
--- /dev/null
+++ b/smc_fuzz/dts/auto.dts
@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 2024, Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+/dts-v1/;
+/ {
+ candidates {
+ bias = <1>;
+ sdei_pe_unmask_funcid {
+ bias = <30>;
+ functionname = "sdei_pe_unmask_funcid";
+ };
+ sdei_version_funcid {
+ bias = <30>;
+ functionname = "sdei_version_funcid";
+ };
+ sdei_interrupt_bind_funcid {
+ bias = <30>;
+ functionname = "sdei_interrupt_bind_funcid";
+ };
+ sdei_event_enable_funcid {
+ bias = <30>;
+ functionname = "sdei_event_enable_funcid";
+ };
+ sdei_interrupt_release_funcid {
+ bias = <30>;
+ functionname = "sdei_interrupt_release_funcid";
+ };
+ sdei_features_funcid {
+ bias = <30>;
+ functionname = "sdei_features_funcid";
+ };
+ sdei_private_reset_funcid {
+ bias = <30>;
+ functionname = "sdei_private_reset_funcid";
+ };
+ sdei_event_disable_funcid {
+ bias = <30>;
+ functionname = "sdei_event_disable_funcid";
+ };
+ sdei_event_status_funcid {
+ bias = <30>;
+ functionname = "sdei_event_status_funcid";
+ };
+ sdei_shared_reset_funcid {
+ bias = <30>;
+ functionname = "sdei_shared_reset_funcid";
+ };
+ sdei_event_routing_set_funcid {
+ bias = <30>;
+ functionname = "sdei_event_routing_set_funcid";
+ };
+ sdei_event_unregister_funcid {
+ bias = <30>;
+ functionname = "sdei_event_unregister_funcid";
+ };
+ sdei_pe_mask_funcid {
+ bias = <30>;
+ functionname = "sdei_pe_mask_funcid";
+ };
+ };
+};
diff --git a/smc_fuzz/dts/sdei.dts b/smc_fuzz/dts/sdei.dts
index 8b55441..bf9acf1 100644
--- a/smc_fuzz/dts/sdei.dts
+++ b/smc_fuzz/dts/sdei.dts
@@ -42,6 +42,49 @@
bias = <30>;
functionname = "sdei_interrupt_bind_funcid";
};
+ sdei_event_register {
+ bias = <30>;
+ functionname = "sdei_event_register_funcid";
+ };
+ sdei_event_enable {
+ bias = <30>;
+ functionname = "sdei_event_enable_funcid";
+ };
+ sdei_features {
+ bias = <30>;
+ functionname = "sdei_features_funcid";
+ };
+ sdei_event_disable {
+ bias = <30>;
+ functionname = "sdei_event_disable_funcid";
+ };
+ sdei_event_context {
+ bias = <30>;
+ functionname = "sdei_event_context_funcid";
+ };
+ sdei_event_complete {
+ bias = <30>;
+ functionname = "sdei_event_complete_funcid";
+ };
+ sdei_event_complete_and_resume {
+ bias = <30>;
+ functionname = "sdei_event_complete_and_resume_funcid";
+ };
+ sdei_event_unregister {
+ bias = <30>;
+ functionname = "sdei_event_unregister_funcid";
+ };
+ sdei_event_get_info {
+ bias = <30>;
+ functionname = "sdei_event_get_info_funcid";
+ };
+ sdei_event_routing_set {
+ bias = <30>;
+ functionname = "sdei_event_routing_set_funcid";
+ };
+ sdei_interrupt_release {
+ bias = <30>;
+ functionname = "sdei_interrupt_release_funcid";
+ };
};
-
};
diff --git a/smc_fuzz/dts/sdei_coverage.dts b/smc_fuzz/dts/sdei_coverage.dts
new file mode 100644
index 0000000..2afbc50
--- /dev/null
+++ b/smc_fuzz/dts/sdei_coverage.dts
@@ -0,0 +1,100 @@
+/*
+ * Copyright (c) 2024, Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+/dts-v1/;
+
+/ {
+
+ sdei {
+ bias = <30>;
+ sdei_version {
+ bias = <30>;
+ functionname = "sdei_version_funcid";
+ };
+ sdei_pe_unmask {
+ bias = <30>;
+ functionname = "sdei_pe_unmask_funcid";
+ };
+ sdei_pe_mask {
+ bias = <30>;
+ functionname = "sdei_pe_mask_funcid";
+ };
+ sdei_event_status {
+ bias = <30>;
+ functionname = "sdei_event_status_funcid";
+ };
+ sdei_event_signal {
+ bias = <30>;
+ functionname = "sdei_event_signal_funcid";
+ };
+ sdei_private_reset {
+ bias = <30>;
+ functionname = "sdei_private_reset_funcid";
+ };
+ sdei_shared_reset {
+ bias = <30>;
+ functionname = "sdei_shared_reset_funcid";
+ };
+ sdei_interrupt_bind {
+ bias = <100>;
+ functionname = "sdei_interrupt_bind_funcid";
+ };
+ // added
+ sdei_event_register {
+ bias = <30>;
+ functionname = "sdei_event_register_funcid";
+ };
+ sdei_event_enable {
+ bias = <30>;
+ functionname = "sdei_event_enable_funcid";
+ };
+ sdei_features {
+ bias = <30>;
+ functionname = "sdei_features_funcid";
+ };
+ sdei_event_disable {
+ bias = <30>;
+ functionname = "sdei_event_disable_funcid";
+ };
+ sdei_event_context {
+ bias = <30>;
+ functionname = "sdei_event_context_funcid";
+ };
+ sdei_event_complete {
+ bias = <30>;
+ functionname = "sdei_event_complete_funcid";
+ };
+ sdei_event_complete_and_resume {
+ bias = <30>;
+ functionname = "sdei_event_complete_and_resume_funcid";
+ };
+ sdei_event_unregister {
+ bias = <30>;
+ functionname = "sdei_event_unregister_funcid";
+ };
+ sdei_event_get_info {
+ bias = <30>;
+ functionname = "sdei_event_get_info_funcid";
+ };
+ sdei_event_routing_set {
+ bias = <30>;
+ functionname = "sdei_event_routing_set_funcid";
+ };
+ sdei_interrupt_release {
+ bias = <30>;
+ functionname = "sdei_interrupt_release_funcid";
+ };
+ sdei_routing_set_coverage {
+ bias = <30>;
+ functionname = "sdei_routing_set_coverage_funcid";
+ };
+ sdei_event_get_info_coverage {
+ bias = <30>;
+ functionname = "sdei_event_get_info_coverage_funcid";
+ };
+ };
+
+};
diff --git a/smc_fuzz/dts/test.dts b/smc_fuzz/dts/test.dts
new file mode 100644
index 0000000..2d2b3ec
--- /dev/null
+++ b/smc_fuzz/dts/test.dts
@@ -0,0 +1,25 @@
+/*
+ * Copyright (c) 2024, Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+/dts-v1/;
+
+/ {
+ experiment {
+ bias = <1>;
+ interrupt {
+ bias = <30>;
+ functionname = "test_funcid";
+ };
+ interrupt_release {
+ bias = <0>;
+ functionname = "sdei_event_signal_funcid";
+ };
+ event {
+ bias = <0>;
+ functionname = "sdei_event_register_funcid";
+ };
+ };
+};