summaryrefslogtreecommitdiffstats
path: root/tester/covoar/Target_aarch64.h
diff options
context:
space:
mode:
authorAlex White <alex.white@oarcorp.com>2021-02-24 15:53:22 -0600
committerJoel Sherrill <joel@rtems.org>2021-03-30 13:15:57 -0500
commitd9454cae2abe34a189f5956f93f8fb47c4a04834 (patch)
tree48030163aea7e6f93a7ca5c4081f467c6721b510 /tester/covoar/Target_aarch64.h
parentcovoar/TargetBase: Rename branchInstructions to conditionalBranchInstructions (diff)
downloadrtems-tools-d9454cae2abe34a189f5956f93f8fb47c4a04834.tar.bz2
covoar: Add aarch64 target
Diffstat (limited to 'tester/covoar/Target_aarch64.h')
-rw-r--r--tester/covoar/Target_aarch64.h77
1 files changed, 77 insertions, 0 deletions
diff --git a/tester/covoar/Target_aarch64.h b/tester/covoar/Target_aarch64.h
new file mode 100644
index 0000000..26fedb6
--- /dev/null
+++ b/tester/covoar/Target_aarch64.h
@@ -0,0 +1,77 @@
+/*! @file Target_aarch64.h
+ * @brief Target_aarch64 Specification
+ *
+ * This file contains the specification of the Target_aarch64 class.
+ */
+
+#ifndef __TARGET_AARCH64_H__
+#define __TARGET_AARCH64_H__
+
+#include <list>
+#include <string>
+#include "TargetBase.h"
+
+namespace Target {
+
+ /*! @class Target_aarch64
+ *
+ * This class is the Target class for the aarch64 processor.
+ *
+ */
+ class Target_aarch64: public TargetBase {
+
+ public:
+
+ /*!
+ * This method constructs an Target_aarch64 instance.
+ */
+ Target_aarch64( std::string targetName );
+
+ /*!
+ * This method destructs an Target_aarch64 instance.
+ */
+ virtual ~Target_aarch64();
+
+ /*!
+ * This method determines whether the specified line from a
+ * objdump file is a nop instruction.
+ *
+ * @param[in] line contains the object dump line to check
+ * @param[out] size is set to the size in bytes of the nop
+ *
+ * @return Returns TRUE if the instruction is a nop, FALSE otherwise.
+ */
+ bool isNopLine(
+ const char* const line,
+ int& size
+ );
+
+ /*!
+ * This method determines if the specified line from an
+ * objdump file is a branch instruction.
+ */
+ bool isBranch(
+ const char* const instruction
+ );
+
+ private:
+
+ };
+
+ //!
+ //! @brief Constructor Helper
+ //!
+ //! This is a constructor helper for this class which can be used in support
+ //! of factories.
+ //!
+ //! @param [in] Targetname is the name of the Target being constructed.
+ //!
+ //! @return This method constructs a new instance of the Target and returns
+ //! that to the caller.
+ //!
+ TargetBase *Target_aarch64_Constructor(
+ std::string targetName
+ );
+
+}
+#endif