2011-12-22 15:19:25 +00:00
|
|
|
/*
|
|
|
|
* \brief CPU state
|
|
|
|
* \author Christian Prochaska
|
|
|
|
* \date 2011-04-15
|
|
|
|
*
|
|
|
|
* This file contains the x86_32-specific part of the CPU state.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*
|
2012-01-03 14:35:05 +00:00
|
|
|
* Copyright (C) 2011-2012 Genode Labs GmbH
|
2011-12-22 15:19:25 +00:00
|
|
|
*
|
|
|
|
* This file is part of the Genode OS framework, which is distributed
|
|
|
|
* under the terms of the GNU General Public License version 2.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _INCLUDE__X86_32__CPU__CPU_STATE_H_
|
|
|
|
#define _INCLUDE__X86_32__CPU__CPU_STATE_H_
|
|
|
|
|
|
|
|
#include <base/stdint.h>
|
|
|
|
|
|
|
|
namespace Genode {
|
|
|
|
|
|
|
|
struct Cpu_state
|
|
|
|
{
|
|
|
|
addr_t ip; /* instruction pointer */
|
|
|
|
addr_t sp; /* stack pointer */
|
|
|
|
addr_t edi;
|
|
|
|
addr_t esi;
|
|
|
|
addr_t ebp;
|
|
|
|
addr_t ebx;
|
|
|
|
addr_t edx;
|
|
|
|
addr_t ecx;
|
|
|
|
addr_t eax;
|
|
|
|
addr_t gs;
|
|
|
|
addr_t fs;
|
|
|
|
addr_t eflags;
|
|
|
|
addr_t trapno;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Constructor
|
|
|
|
*/
|
|
|
|
Cpu_state(): ip(0), sp(0), edi(0), esi(0), ebp(0),
|
|
|
|
ebx(0), edx(0), ecx(0), eax(0), gs(0),
|
|
|
|
fs(0), eflags(0), trapno(0) { }
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif /* _INCLUDE__X86_32__CPU__CPU_STATE_H_ */
|