summaryrefslogtreecommitdiff
path: root/plugins/arm/v7/core.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2018-05-14 19:40:07 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2018-05-14 19:40:07 (GMT)
commit0286b53bad21abf91cbe17c4772ca9cde6a89cbc (patch)
tree3bec9dc7e118c00ce9c748576b01606a71880ad7 /plugins/arm/v7/core.c
parent267b1ae8608ed4bf52de743798e8647c903ee1b4 (diff)
Created an instruction database for Chrysalide.
Diffstat (limited to 'plugins/arm/v7/core.c')
-rw-r--r--plugins/arm/v7/core.c48
1 files changed, 48 insertions, 0 deletions
diff --git a/plugins/arm/v7/core.c b/plugins/arm/v7/core.c
index 4de61a2..9b4d3f3 100644
--- a/plugins/arm/v7/core.c
+++ b/plugins/arm/v7/core.c
@@ -25,10 +25,56 @@
#include <core/processors.h>
+
+
#include "cregister.h"
+#include "instruction.h"
#include "processor.h"
#include "register.h"
+#include "operands/coproc.h"
+#include "operands/estate.h"
+#include "operands/limitation.h"
+#include "operands/maccess.h"
+#include "operands/offset.h"
+#include "operands/register.h"
+#include "operands/reglist.h"
+#include "operands/rotation.h"
+#include "operands/shift.h"
+
+
+
+/* Assure l'enregistrement de types pour les caches à charger. */
+static void register_armv7_gtypes(void);
+
+
+
+/******************************************************************************
+* *
+* Paramètres : - *
+* *
+* Description : Assure l'enregistrement de types pour les caches à charger. *
+* *
+* Retour : - *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+static void register_armv7_gtypes(void)
+{
+ g_type_ensure(G_TYPE_ARMV7_INSTRUCTION);
+
+ g_type_ensure(G_TYPE_ARMV7_COPROC_OPERAND);
+ g_type_ensure(G_TYPE_ARMV7_ENDIAN_OPERAND);
+ g_type_ensure(G_TYPE_ARMV7_LIMITATION_OPERAND);
+ g_type_ensure(G_TYPE_ARMV7_MACCESS_OPERAND);
+ g_type_ensure(G_TYPE_ARMV7_OFFSET_OPERAND);
+ g_type_ensure(G_TYPE_ARMV7_REGISTER_OPERAND);
+ g_type_ensure(G_TYPE_ARMV7_REGLIST_OPERAND);
+ g_type_ensure(G_TYPE_ARMV7_ROTATION_OPERAND);
+ g_type_ensure(G_TYPE_ARMV7_SHIFT_OPERAND);
+
+}
/******************************************************************************
@@ -47,6 +93,8 @@ bool init_armv7_core(void)
{
bool result; /* Bilan à renvoyer */
+ register_armv7_gtypes();
+
result = register_processor_type("armv7", "ARM v7", G_TYPE_ARMV7_PROCESSOR);
return result;