diff options
| author | Theofilos Augoustis <theofilos.augoustis@gmail.com> | 2025-10-14 09:09:29 +0000 |
|---|---|---|
| committer | Theofilos Augoustis <theofilos.augoustis@gmail.com> | 2025-10-14 09:09:29 +0000 |
| commit | 579cf1d03fb932083e6317967d1613d5c2587fb6 (patch) | |
| tree | 629f039935382a2a7391bce9253f6c9968159049 /src/miasm/arch/mep/lifter_model_call.py | |
| parent | 51c15d3ea2e16d4fc5f0f01a3b9befc66b1f982e (diff) | |
| download | focaccia-miasm-ta/nix.tar.gz focaccia-miasm-ta/nix.zip | |
Convert to src-layout ta/nix
Diffstat (limited to 'src/miasm/arch/mep/lifter_model_call.py')
| -rw-r--r-- | src/miasm/arch/mep/lifter_model_call.py | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/miasm/arch/mep/lifter_model_call.py b/src/miasm/arch/mep/lifter_model_call.py new file mode 100644 index 00000000..db729ba0 --- /dev/null +++ b/src/miasm/arch/mep/lifter_model_call.py @@ -0,0 +1,45 @@ +# Toshiba MeP-c4 - miasm IR analysis +# Guillaume Valadon <guillaume@valadon.net> + +from miasm.arch.mep.sem import Lifter_MEPb, Lifter_MEPl +from miasm.ir.analysis import LifterModelCall + + +class LifterModelCallMepb(Lifter_MEPb, LifterModelCall): + """MeP high level IR manipulations - Big Endian + + Notes: + - it is mandatory for symbolic execution. + """ + + def __init__(self, loc_db): + Lifter_MEPb.__init__(self, loc_db) + self.ret_reg = self.arch.regs.R0 + + # Note: the following are abstract method and must be implemented + def sizeof_char(self): + "Return the size of a char in bits" + return 8 + + def sizeof_short(self): + "Return the size of a short in bits" + return 16 + + def sizeof_int(self): + "Return the size of an int in bits" + return 32 + + def sizeof_long(self): + "Return the size of a long in bits" + return 32 + + def sizeof_pointer(self): + "Return the size of a void* in bits" + return 32 + + +class LifterModelCallMepl(Lifter_MEPl, LifterModelCallMepb): + """MeP high level IR manipulations - Little Endian""" + + def __init__(self, loc_db): + LifterModelCallMepb.__init__(self, loc_db) |