sched: Set all required process registers

This commit is contained in:
Felix Kopp 2020-11-30 02:33:11 +01:00
parent 570f036752
commit e0c7a11f6e
No known key found for this signature in database
GPG key ID: C478BA0A85F75728

View file

@ -18,7 +18,7 @@ void irq_sys_tick(void)
* because it is faster that way (according to the docs, at least) * because it is faster that way (according to the docs, at least)
*/ */
if (!_is_atomic_context) if (!_is_atomic_context)
arch_irq_invoke(IRQNO_PEND_SV); arch_irq_invoke(IRQNO_PEND_SV);
} }
/** /**
@ -64,6 +64,8 @@ void arch_sched_process_init(struct process *process, void (*entry)(void))
memset(regs, 0, sizeof(*regs)); memset(regs, 0, sizeof(*regs));
regs->hw.pc = entry; regs->hw.pc = entry;
regs->hw.psr = 0x01000000;
regs->sw.lr = 0xFFFFFFF9;
} }
void sched_switch_early(enum proc_state state) void sched_switch_early(enum proc_state state)