diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2019-05-12 22:09:53 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2019-05-12 22:09:53 (GMT) |
commit | 00e93226e72bdb18853580f553e32df111422936 (patch) | |
tree | 9c346903d4506cae2df19b9314cf307c783c0cb3 /plugins/arm | |
parent | e44ffc323c8a9d4b446baba6e0b131107312fa84 (diff) |
Simplified the way processors are registered.
Diffstat (limited to 'plugins/arm')
-rw-r--r-- | plugins/arm/v7/core.c | 2 | ||||
-rw-r--r-- | plugins/arm/v7/processor.c | 21 |
2 files changed, 12 insertions, 11 deletions
diff --git a/plugins/arm/v7/core.c b/plugins/arm/v7/core.c index 5fd355c..6849171 100644 --- a/plugins/arm/v7/core.c +++ b/plugins/arm/v7/core.c @@ -106,7 +106,7 @@ bool init_armv7_core(void) register_armv7_gtypes(); - result = register_processor_type("armv7", "ARM v7", G_TYPE_ARMV7_PROCESSOR); + result = register_processor_type(G_TYPE_ARMV7_PROCESSOR); return result; diff --git a/plugins/arm/v7/processor.c b/plugins/arm/v7/processor.c index b7a73f4..fca1415 100644 --- a/plugins/arm/v7/processor.c +++ b/plugins/arm/v7/processor.c @@ -96,11 +96,20 @@ static void g_armv7_processor_class_init(GArmV7ProcessorClass *klass) GArchProcessorClass *proc; /* Encore une autre vision... */ object_class = G_OBJECT_CLASS(klass); - proc = G_ARCH_PROCESSOR_CLASS(klass); object_class->dispose = (GObjectFinalizeFunc/* ! */)g_armv7_processor_dispose; object_class->finalize = (GObjectFinalizeFunc)g_armv7_processor_finalize; + proc = G_ARCH_PROCESSOR_CLASS(klass); + + proc->key = "armv7"; + proc->desc = "ARM v7"; + + proc->endianness = SRE_LITTLE; + proc->memsize = MDS_32_BITS; + proc->inssize = MDS_32_BITS; + proc->virt_space = true; + proc->get_ctx = (get_processor_context_fc)g_armv7_processor_get_context; proc->disassemble = (disass_instr_fc)g_armv7_processor_disassemble; @@ -122,14 +131,6 @@ static void g_armv7_processor_class_init(GArmV7ProcessorClass *klass) static void g_armv7_processor_init(GArmV7Processor *proc) { - GArchProcessor *parent; /* Instance parente */ - - parent = G_ARCH_PROCESSOR(proc); - - parent->endianness = SRE_LITTLE; - parent->memsize = MDS_32_BITS; - parent->inssize = MDS_32_BITS; - parent->virt_space = true; } @@ -238,7 +239,7 @@ static GArchInstruction *g_armv7_processor_disassemble(const GArmV7Processor *pr uint32_t raw32; /* Donnée 32 bits à analyser */ ArmV7InstrSet iset; /* Type de jeu d'instructions */ - endian = G_ARCH_PROCESSOR(proc)->endianness; + endian = G_ARCH_PROCESSOR_GET_CLASS(proc)->endianness; iset = g_armv7_context_find_encoding(ctx, get_virt_addr(pos)); |