summaryrefslogtreecommitdiff
path: root/plugins/dalvik/processor.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2020-04-21 18:44:33 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2020-04-21 18:44:33 (GMT)
commitcd54168f9877ed4ee16ee1e25c72e8338eed7928 (patch)
tree04dc1a85a28ff8a95eaaa6a0bbd5909ea2dc6397 /plugins/dalvik/processor.c
parent3dada5fbc27777217625603905727364a0cc996d (diff)
Redefined the interface for creating new processors from Python.
Diffstat (limited to 'plugins/dalvik/processor.c')
-rw-r--r--plugins/dalvik/processor.c86
1 files changed, 82 insertions, 4 deletions
diff --git a/plugins/dalvik/processor.c b/plugins/dalvik/processor.c
index 38f245c..a1a211e 100644
--- a/plugins/dalvik/processor.c
+++ b/plugins/dalvik/processor.c
@@ -50,6 +50,15 @@ static void g_dalvik_processor_dispose(GDalvikProcessor *);
/* Procède à la libération totale de la mémoire. */
static void g_dalvik_processor_finalize(GDalvikProcessor *);
+/* Fournit la taille de l'espace mémoire d'une architecture. */
+static MemoryDataSize g_dalvik_processor_get_memory_size(const GDalvikProcessor *);
+
+/* Fournit la taille min. des instructions d'une architecture. */
+static MemoryDataSize g_dalvik_processor_get_instruction_min_size(const GDalvikProcessor *);
+
+/* Indique si l'architecture possède un espace virtuel ou non. */
+static bool g_dalvik_processor_has_virtual_space(const GDalvikProcessor *);
+
/* Fournit un contexte pour l'exécution du processeur Dalvik. */
static GDalvikContext *g_dalvik_processor_get_context(const GDalvikProcessor *);
@@ -83,10 +92,9 @@ static void g_dalvik_processor_class_init(GDalvikProcessorClass *klass)
proc = G_ARCH_PROCESSOR_CLASS(klass);
- proc->endianness = SRE_LITTLE;
- proc->memsize = MDS_32_BITS;
- proc->inssize = MDS_16_BITS;
- proc->virt_space = false;
+ proc->get_memsize = (get_processor_memsize_fc)g_dalvik_processor_get_memory_size;
+ proc->get_inssize = (get_processor_inssize_fc)g_dalvik_processor_get_instruction_min_size;
+ proc->has_vspace = (has_processor_vspace_fc)g_dalvik_processor_has_virtual_space;
proc->get_ctx = (get_processor_context_fc)g_dalvik_processor_get_context;
@@ -107,6 +115,7 @@ static void g_dalvik_processor_class_init(GDalvikProcessorClass *klass)
static void g_dalvik_processor_init(GDalvikProcessor *proc)
{
+ G_ARCH_PROCESSOR(proc)->endianness = SRE_LITTLE;
}
@@ -151,6 +160,75 @@ static void g_dalvik_processor_finalize(GDalvikProcessor *proc)
/******************************************************************************
* *
+* Paramètres : proc = processeur d'architecture à consulter. *
+* *
+* Description : Fournit la taille de l'espace mémoire d'une architecture. *
+* *
+* Retour : Taille de l'espace mémoire. *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+static MemoryDataSize g_dalvik_processor_get_memory_size(const GDalvikProcessor *proc)
+{
+ MemoryDataSize result; /* Taille à retourner */
+
+ result = MDS_32_BITS;
+
+ return result;
+
+}
+
+
+/******************************************************************************
+* *
+* Paramètres : proc = processeur d'architecture à consulter. *
+* *
+* Description : Fournit la taille min. des instructions d'une architecture. *
+* *
+* Retour : Taille d'encodage des instructions. *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+static MemoryDataSize g_dalvik_processor_get_instruction_min_size(const GDalvikProcessor *proc)
+{
+ MemoryDataSize result; /* Taille à retourner */
+
+ result = MDS_16_BITS;
+
+ return result;
+
+}
+
+
+/******************************************************************************
+* *
+* Paramètres : proc = processeur d'architecture à consulter. *
+* *
+* Description : Indique si l'architecture possède un espace virtuel ou non. *
+* *
+* Retour : true si un espace virtuel existe, false sinon. *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+static bool g_dalvik_processor_has_virtual_space(const GDalvikProcessor *proc)
+{
+ bool result; /* Indication à retourner */
+
+ result = false;
+
+ return result;
+
+}
+
+
+/******************************************************************************
+* *
* Paramètres : proc = architecture, spectatrice ici. *
* *
* Description : Fournit un contexte pour l'exécution du processeur Dalvik. *