summaryrefslogtreecommitdiff
path: root/nios2.c
diff options
context:
space:
mode:
Diffstat (limited to 'nios2.c')
-rw-r--r--nios2.c16
1 files changed, 16 insertions, 0 deletions
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)