diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2015-02-09 20:15:52 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2015-02-09 20:15:52 (GMT) |
commit | 8d326041a0379b87e54be44506d544367567e89b (patch) | |
tree | a3c3555c27c30858155fbee4df0ca236f33774f8 /src/arch | |
parent | b70f428256963385a140e9eb503624106df5aa9b (diff) |
Registered all the supported processors in the system code.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@467 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/processor.c | 114 | ||||
-rw-r--r-- | src/arch/processor.h | 30 |
2 files changed, 1 insertions, 143 deletions
diff --git a/src/arch/processor.c b/src/arch/processor.c index 2e678f6..0b33552 100644 --- a/src/arch/processor.c +++ b/src/arch/processor.c @@ -42,11 +42,6 @@ #include "artificial.h" -#include "arm/processor.h" -#include "dalvik/processor.h" -#include "jvm/processor.h" -#include "mips/processor.h" -#include "x86/processor.h" @@ -62,12 +57,6 @@ static void g_arch_processor_init(GArchProcessor *); -/* ------------------------ ARCHITECTURES DANS LEUR ENSEMBLE ------------------------ */ - - -static GArchProcessor *_processors_list[APT_COUNT]; - - @@ -305,106 +294,3 @@ GArchInstruction *g_arch_processor_disassemble(const GArchProcessor *proc, GProc return result; } - - - - - - - -/* ---------------------------------------------------------------------------------- */ -/* ARCHITECTURES DANS LEUR ENSEMBLE */ -/* ---------------------------------------------------------------------------------- */ - - -/****************************************************************************** -* * -* Paramètres : - * -* * -* Description : Procède au chargement des différentes architectures. * -* * -* Retour : Toujours true. * -* * -* Remarques : - * -* * -******************************************************************************/ - -bool init_all_processors(void) -{ - _processors_list[APT_ARM] = g_armv7_processor_new(); - _processors_list[APT_DALVIK] = g_dalvik_processor_new(); - //_processors_list[APT_JVM] = g_jvm_processor_new(); - //_processors_list[APT_MIPS] = g_mips_processor_new(); - //_processors_list[APT_386] = g_x86_processor_new(); - - return true; - -} - - -/****************************************************************************** -* * -* Paramètres : type = sorte de processeur recherché. * -* * -* Description : Fournit le processeur d'architecture correspondant à un type.* -* * -* Retour : Processeur d'architecture trouvé. * -* * -* Remarques : - * -* * -******************************************************************************/ - -GArchProcessor *get_arch_processor_for_type(ArchProcessorType type) -{ - return _processors_list[type]; - -} - - -/****************************************************************************** -* * -* Paramètres : format = exécutable d'origine. * -* * -* Description : Fournit le processeur d'architecture lié à un format. * -* * -* Retour : Processeur d'architecture trouvé. * -* * -* Remarques : - * -* * -******************************************************************************/ - -GArchProcessor *get_arch_processor_from_format(const GExeFormat *format) -{ - GArchProcessor *result; /* Conversion à retourner */ - - switch (g_exe_format_get_target_machine(format)) - { - case FTM_ARM: - result = get_arch_processor_for_type(APT_ARM); - break; - - case FTM_DALVIK: - result = get_arch_processor_for_type(APT_DALVIK); - break; - - case FTM_JVM: - result = get_arch_processor_for_type(APT_JVM); - break; - - case FTM_MIPS: - result = get_arch_processor_for_type(APT_MIPS); - break; - - case FTM_386: - result = get_arch_processor_for_type(APT_386); - break; - - default: - result = NULL; - break; - - } - - return result; - -} diff --git a/src/arch/processor.h b/src/arch/processor.h index ac5d811..725307f 100644 --- a/src/arch/processor.h +++ b/src/arch/processor.h @@ -32,7 +32,7 @@ #include "instruction.h" #include "../common/endianness.h" #include "../decomp/context.h" -#include "../format/format.h" +#include "../format/format.h" ////////////////// utile ? @@ -78,32 +78,4 @@ GArchInstruction *g_arch_processor_disassemble(const GArchProcessor *, GProcCont -/* ------------------------ ARCHITECTURES DANS LEUR ENSEMBLE ------------------------ */ - - -/* Type de processeurs disponibles */ -typedef enum _ArchProcessorType -{ - APT_ARM, /* ARM vX */ - APT_DALVIK, /* Dalvik Virtual Machine */ - APT_JVM, /* Java Virtual Machine */ - APT_MIPS, /* Mips 32 ou 64 bits */ - APT_386, /* Intel 80386 */ - - APT_COUNT - -} ArchProcessorType; - - -/* Procède au chargement des différentes architectures. */ -bool init_all_processors(void); - -/* Fournit le processeur d'architecture correspondant à un type. */ -GArchProcessor *get_arch_processor_for_type(ArchProcessorType); - -/* Fournit le processeur d'architecture lié à un format. */ -GArchProcessor *get_arch_processor_from_format(const GExeFormat *); - - - #endif /* _ARCH_PROCESSOR_H */ |