Debugger: Add interrupt vector CpuStateX8664.

This commit is contained in:
Rene Gollent
2013-07-25 20:11:28 -04:00
parent 271b27d5a3
commit edffd6cde8
2 changed files with 8 additions and 1 deletions
@@ -23,7 +23,8 @@ CpuStateX8664::CpuStateX8664()
CpuStateX8664::CpuStateX8664(const x86_64_debug_cpu_state& state)
:
fSetRegisters()
fSetRegisters(),
fInterruptVector(0)
{
SetIntRegister(X86_64_REGISTER_RIP, state.rip);
SetIntRegister(X86_64_REGISTER_RSP, state.rsp);
@@ -48,6 +49,8 @@ CpuStateX8664::CpuStateX8664(const x86_64_debug_cpu_state& state)
SetIntRegister(X86_64_REGISTER_FS, state.fs);
SetIntRegister(X86_64_REGISTER_GS, state.gs);
SetIntRegister(X86_64_REGISTER_SS, state.ss);
fInterruptVector = state.vector;
}
@@ -69,6 +69,9 @@ public:
virtual bool SetRegisterValue(const Register* reg,
const BVariant& value);
uint64 InterruptVector() const
{ return fInterruptVector; }
bool IsRegisterSet(int32 index) const;
uint64 IntRegisterValue(int32 index) const;
void SetIntRegister(int32 index, uint64 value);
@@ -80,6 +83,7 @@ private:
private:
uint64 fIntRegisters[X86_64_REGISTER_COUNT];
RegisterBitSet fSetRegisters;
uint64 fInterruptVector;
};