We should expose the Arch class in python bindings so that users can use the generic pc and sp getters, and allow to get the size of an arbitrary register.
Contrary to the native C++ Arch API, the Python wrapper should use strings to identify registers, instead of reg_t, since it will integrate better with the way the CPU is exposed in bindings (with a dynamic attribute getter that uses the register names, rather than their reg_t number.
Acceptance criteria:
Arch class is exposed in bindings with methods:
pc(): return the name of the program counter
sp(): return the name of the stack pointer
reg_size(<reg>): return the size in bits of the register
MaatEngine has an arch attribute accessible from python bindings
We should expose the
Archclass in python bindings so that users can use the genericpcandspgetters, and allow to get the size of an arbitrary register.Contrary to the native C++
ArchAPI, the Python wrapper should use strings to identify registers, instead ofreg_t, since it will integrate better with the way the CPU is exposed in bindings (with a dynamic attribute getter that uses the register names, rather than theirreg_tnumber.Acceptance criteria:
Archclass is exposed in bindings with methods:pc(): return the name of the program countersp(): return the name of the stack pointerreg_size(<reg>): return the size in bits of the registerMaatEnginehas anarchattribute accessible from python bindings