Add tf_fuzz tool
This is fully derived from tf-m repo.
Signed-off-by: Karl Zhang <karl.zhang@arm.com>
Change-Id: I8d35e70eda9081af66d8fa3f3cb4beb1d953060e
diff --git a/tf_fuzz/calls/security_call.hpp b/tf_fuzz/calls/security_call.hpp
new file mode 100644
index 0000000..e55a278
--- /dev/null
+++ b/tf_fuzz/calls/security_call.hpp
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2019-2020, Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
+ */
+
+#ifndef SECURITY_CALL_HPP
+#define SECURITY_CALL_HPP
+
+#include <string>
+#include <vector>
+
+/* This project's header files #including other project headers quickly becomes
+ unrealistically complicated. The only solution is for each .cpp to include
+ the headers it needs. */
+
+
+using namespace std;
+
+class hash_call : public security_call
+{
+public:
+ // Data members: // (low value in hiding these behind setters and getters)
+ // Methods:
+ bool copy_call_to_asset (void);
+ bool copy_asset_to_call (void);
+ void fill_in_prep_code (void);
+ void fill_in_command (void);
+ /* Hash checks are different from the rest in that there's a single "call" --
+ not a PSA call though -- for all of the assets cited in the template line.
+ In other cases, create a single call for each asset cited by the template
+ line, but in this case it's a single call for all of them. */
+ hash_call (tf_fuzz_info *test_state, long &asset_ser_no,
+ asset_search how_asset_found); // (constructor)
+ ~hash_call (void);
+
+protected:
+ // Data members:
+ // Methods:
+// void calc_result_code (void); for *now* keep this in security_call::
+
+private:
+ // Data members:
+ // Methods:
+};
+
+#endif // #ifndef SECURITY_CALL_HPP