diff --git a/pykd/cpucontext.h b/pykd/cpucontext.h index 025e2d0..610decc 100644 --- a/pykd/cpucontext.h +++ b/pykd/cpucontext.h @@ -32,6 +32,14 @@ inline void setMSR( size_t msrIndex, unsigned long long value ) return kdlib::loadCPUCurrentContext()->setMSR( msrIndex, value ); } +inline kdlib::CPUType getProcessorMode() { + return kdlib::loadCPUCurrentContext()->getCPUMode(); +} + +inline kdlib::CPUType getProcessorType() { + return kdlib::loadCPUCurrentContext()->getCPUType(); +} + /////////////////////////////////////////////////////////////////////////////// diff --git a/pykd/pymod.cpp b/pykd/pymod.cpp index 2642562..d1ca7b9 100644 --- a/pykd/pymod.cpp +++ b/pykd/pymod.cpp @@ -255,12 +255,10 @@ BOOST_PYTHON_MODULE( pykd ) "Return MSR value" ); python::def( "wrmsr", &setMSR, "Set MSR value" ); - - - // python::def( "getProcessorMode", &getProcessorMode, - // "Return current processor mode as string: X86, ARM, IA64 or X64" ); - // python::def( "getProcessorType", &getProcessorType, - // "Return type of physical processor: X86, ARM, IA64 or X64" ); + python::def( "getProcessorMode", &getProcessorMode, + "Return current processor mode as string: X86, ARM, IA64 or X64" ); + python::def( "getProcessorType", &getProcessorType, + "Return type of physical processor: X86, ARM, IA64 or X64" ); // python::def( "setProcessorMode", &setProcessorMode, // "Set current processor mode by string (X86, ARM, IA64 or X64)" ); @@ -521,6 +519,8 @@ BOOST_PYTHON_MODULE( pykd ) .add_property("ip", &kdlib::CPUContext::getIP ) .add_property("sp", &kdlib::CPUContext::getSP ) .add_property("fp", &kdlib::CPUContext::getSP ) + .def("getCPUType", &kdlib::CPUContext::getCPUType ) + .def("getCPUMode", &kdlib::CPUContext::getCPUMode ) .def("__getattr__", &CPUContextAdaptor::getRegisterByName ) .def("__getitem__", &CPUContextAdaptor::getRegisterByIndex );