[0.3.x] added : reg routine ( return a CPU register value by the register's number )

[0.3.x] added : getNumberRegisters routine ( return a number of CPU registers )

git-svn-id: https://pykd.svn.codeplex.com/svn@89625 9b283d60-5439-405e-af05-b73fd8c4d996
This commit is contained in:
SND\kernelnet_cp 2015-01-13 09:25:54 +00:00 committed by Mikhail I. Izmestev
parent 689042a475
commit 316031fef1
3 changed files with 28 additions and 0 deletions

View File

@ -26,6 +26,23 @@ python::object getRegisterByName( const std::wstring &name )
///////////////////////////////////////////////////////////////////////////////
python::object getRegisterByIndex(unsigned long index)
{
kdlib::NumVariant var;
do {
AutoRestorePyState pystate;
var = kdlib::getRegisterByIndex(index);
} while(false);
return NumVariantAdaptor::convertToPython( var );
}
///////////////////////////////////////////////////////////////////////////////
python::list getCurrentStack()
{
kdlib::StackPtr stack;

View File

@ -68,6 +68,13 @@ public:
python::object getRegisterByName( const std::wstring &name );
python::object getRegisterByIndex( unsigned long index );
inline unsigned long getNumberRegisters() {
AutoRestorePyState pystate;
return kdlib::getRegisterNumber();
}
inline unsigned long long loadMSR( unsigned long msrIndex )
{
AutoRestorePyState pystate;

View File

@ -337,6 +337,10 @@ BOOST_PYTHON_MODULE( pykd )
// CPU registers
python::def( "reg", pykd::getRegisterByName,
"Return a CPU regsiter value by the register's name" );
python::def( "reg", pykd::getRegisterByIndex,
"Return a CPU register value by the register's number");
python::def( "getNumberRegisters", pykd::getNumberRegisters,
"Return a number of CPU registers");
python::def ( "rdmsr", pykd::loadMSR,
"Return MSR value" );
python::def( "wrmsr", pykd::setMSR,