aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pk/console.c3
-rw-r--r--pk/entry.S4
-rw-r--r--pk/handlers.c7
-rw-r--r--pk/pk.h1
4 files changed, 1 insertions, 14 deletions
diff --git a/pk/console.c b/pk/console.c
index 90742d1..475a93b 100644
--- a/pk/console.c
+++ b/pk/console.c
@@ -48,8 +48,7 @@ void dump_tf(trapframe_t* tf)
for(int j = 0; j < 4; j++)
printk("%s %lx%c", get_regname(i+j), tf->gpr[i+j], j < 3 ? ' ' : '\n');
}
- printk("pc %lx va %lx insn %x sr %lx\n", tf->epc, tf->badvaddr,
- (uint32_t)tf->insn, tf->status);
+ printk("pc %lx va/inst %lx sr %lx\n", tf->epc, tf->badvaddr, tf->status);
}
void do_panic(const char* s, ...)
diff --git a/pk/entry.S b/pk/entry.S
index 39be286..5bbf697 100644
--- a/pk/entry.S
+++ b/pk/entry.S
@@ -47,10 +47,6 @@
STORE t1,33*REGBYTES(x2)
STORE t2,34*REGBYTES(x2)
STORE t3,35*REGBYTES(x2)
-
- # get faulting insn, if it wasn't a fetch-related trap
- li x5,-1
- STORE x5,36*REGBYTES(x2)
1:
.endm
diff --git a/pk/handlers.c b/pk/handlers.c
index efd14f1..7216713 100644
--- a/pk/handlers.c
+++ b/pk/handlers.c
@@ -25,13 +25,6 @@ static void handle_store_access_fault(trapframe_t *tf)
static void handle_illegal_instruction(trapframe_t* tf)
{
- tf->insn = *(uint16_t*)tf->epc;
- int len = insn_len(tf->insn);
- if (len == 4)
- tf->insn |= ((uint32_t)*(uint16_t*)(tf->epc + 2) << 16);
- else
- kassert(len == 2);
-
dump_tf(tf);
panic("An illegal instruction was executed!");
}
diff --git a/pk/pk.h b/pk/pk.h
index 0ac2cdc..56cdafe 100644
--- a/pk/pk.h
+++ b/pk/pk.h
@@ -17,7 +17,6 @@ typedef struct
long epc;
long badvaddr;
long cause;
- long insn;
} trapframe_t;
#define panic(s,...) do { do_panic(s"\n", ##__VA_ARGS__); } while(0)