From c9c4555f8d38053ed2da4b0f81fd86301a14d8cb Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Fri, 12 Nov 2010 13:11:18 +0100 Subject: Implement more instructions --- nios2.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'nios2.c') diff --git a/nios2.c b/nios2.c index 4586c20..87eb3f3 100644 --- a/nios2.c +++ b/nios2.c @@ -17,6 +17,22 @@ void nios2_cpu_reset(struct nios2 *cpu) { memset(cpu, 0x00, sizeof(struct nios2)); + cpu->mode = NIOS2_SUPERVISOR_MODE; +} + +bool nios2_in_user_mode(struct nios2 *cpu) +{ + if (!cpu->has_mmu) + return false; + else if (cpu->mode != NIOS2_USER_MODE) + return false; + else + return true; +} + +bool nios2_in_supervisor_mode(struct nios2 *cpu) +{ + return !nios2_in_user_mode(cpu); } uint32_t nios2_cpu_fetch_instr(struct nios2 *cpu, uint32_t *mem_base) -- cgit v1.2.3-54-g00ecf