about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorFabrice Desclaux <fabrice.desclaux@cea.fr>2019-11-13 07:55:40 +0100
committerFabrice Desclaux <fabrice.desclaux@cea.fr>2020-04-03 14:14:53 +0200
commitfc9cbea24064623fcf0ba20f25233689665fe0f0 (patch)
treec018b32b3fcffe562f472aee60d06aed0ab552a5
parent7266729107dbbe6d93cae88bdeffd6e72f3f4c69 (diff)
downloadmiasm-fc9cbea24064623fcf0ba20f25233689665fe0f0.tar.gz
miasm-fc9cbea24064623fcf0ba20f25233689665fe0f0.zip
export cpu address
Diffstat (limited to '')
-rw-r--r--miasm/jitter/JitCore.c19
-rw-r--r--miasm/jitter/JitCore.h2
-rw-r--r--miasm/jitter/arch/JitCore_x86.c5
3 files changed, 26 insertions, 0 deletions
diff --git a/miasm/jitter/JitCore.c b/miasm/jitter/JitCore.c
index 1ba082c5..dfead5a8 100644
--- a/miasm/jitter/JitCore.c
+++ b/miasm/jitter/JitCore.c
@@ -41,6 +41,25 @@ PyObject * JitCpu_set_vmmngr(JitCpu *self, PyObject *value, void *closure)
 	return 0;
 }
 
+
+
+PyObject * JitCpu_get_vmcpu(JitCpu *self, void *closure)
+{
+	PyObject * ret;
+	uint64_t addr;
+	addr = (uint64_t) self->cpu;
+	ret = PyLong_FromUnsignedLongLong(addr);
+	return ret;
+}
+
+PyObject * JitCpu_set_vmcpu(JitCpu *self, PyObject *value, void *closure)
+{
+	fprintf(stderr, "Set vmcpu not supported yet\n");
+	exit(-1);
+}
+
+
+
 PyObject * JitCpu_get_jitter(JitCpu *self, void *closure)
 {
 	if (self->jitter) {
diff --git a/miasm/jitter/JitCore.h b/miasm/jitter/JitCore.h
index 7b7f6c13..ff6ff159 100644
--- a/miasm/jitter/JitCore.h
+++ b/miasm/jitter/JitCore.h
@@ -203,6 +203,8 @@ void JitCpu_dealloc(JitCpu* self);
 PyObject * JitCpu_new(PyTypeObject *type, PyObject *args, PyObject *kwds);
 PyObject * JitCpu_get_vmmngr(JitCpu *self, void *closure);
 PyObject * JitCpu_set_vmmngr(JitCpu *self, PyObject *value, void *closure);
+PyObject * JitCpu_get_vmcpu(JitCpu *self, void *closure);
+PyObject * JitCpu_set_vmcpu(JitCpu *self, PyObject *value, void *closure);
 PyObject * JitCpu_get_jitter(JitCpu *self, void *closure);
 PyObject * JitCpu_set_jitter(JitCpu *self, PyObject *value, void *closure);
 void Resolve_dst(block_id* BlockDst, uint64_t addr, uint64_t is_local);
diff --git a/miasm/jitter/arch/JitCore_x86.c b/miasm/jitter/arch/JitCore_x86.c
index 361b18b4..9228507f 100644
--- a/miasm/jitter/arch/JitCore_x86.c
+++ b/miasm/jitter/arch/JitCore_x86.c
@@ -730,6 +730,11 @@ static PyGetSetDef JitCpu_getseters[] = {
      "vmmngr",
      NULL},
 
+    {"vmcpu",
+     (getter)JitCpu_get_vmcpu, (setter)JitCpu_set_vmcpu,
+     "vmcpu",
+     NULL},
+
     {"jitter",
      (getter)JitCpu_get_jitter, (setter)JitCpu_set_jitter,
      "jitter",