Exemple #1
0
void ARMv7Thread::init_regs()
{
	memset(GPR, 0, sizeof(GPR));
	APSR.APSR = 0;
	IPSR.IPSR = 0;
	ISET = PC & 1 ? Thumb : ARM; // select instruction set
	PC = PC & ~1; // and fix PC
	ITSTATE.IT = 0;
	SP = stack_addr + stack_size;
	TLS = armv7_get_tls(m_id);
	debug = DF_DISASM | DF_PRINT;
}
Exemple #2
0
void ARMv7Thread::InitRegs()
{
	memset(context.GPR, 0, sizeof(context.GPR));
	context.APSR.APSR = 0;
	context.IPSR.IPSR = 0;
	context.ISET = PC & 1 ? Thumb : ARM; // select instruction set
	context.thread.SetPc(PC & ~1); // and fix PC
	context.ITSTATE.IT = 0;
	context.SP = m_stack_addr + m_stack_size;
	context.TLS = armv7_get_tls(GetId());
	context.debug |= DF_DISASM | DF_PRINT;
}