os

An operating system
git clone https://erai.gay/code/os/
Log | Files | Refs | README | LICENSE

commit 24ec31ddc58641b24fa39c1f8ce6400a3beef671
parent 1744e5d30d64b2783b0bed99d20ed41e75b8f4d4
Author: erai <erai@omiltem.net>
Date:   Wed,  1 May 2024 17:54:20 -0400

Fix trap errcode

Diffstat:
Mcc1.c | 2+-
Mkernel.c | 6++++++
2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/cc1.c b/cc1.c @@ -1350,7 +1350,7 @@ emit_isr(c: *compiler) { as_modrm(c.as, OP_LOAD, R_RAX, R_RBP, 0, 0, 176 + 0); as_modrm(c.as, OP_STORE, R_RAX, R_RBP, 0, 0, 160); // err - as_modrm(c.as, OP_LOAD, R_RAX, R_RBP, 0, 0, 176 + 0); + as_modrm(c.as, OP_LOAD, R_RAX, R_RBP, 0, 0, 176 + 8); as_modrm(c.as, OP_STORE, R_RAX, R_RBP, 0, 0, 168); // rip as_modrm(c.as, OP_LOAD, R_RAX, R_RBP, 0, 0, 176 + 16); diff --git a/kernel.c b/kernel.c @@ -228,6 +228,8 @@ panic(r: *regs) { kputh(r.rbp); kputs(" "); kputh(r.rsp); + kputs(" "); + kputh16(r.ss); kputs("\n"); kputh(r.rip); @@ -235,6 +237,10 @@ panic(r: *regs) { kputh(r.rflags); kputs(" "); kputh(rdcr2()); + kputs(" "); + kputh(rdcr4()); + kputs(" "); + kputh16(r.cs); kputs("\n"); loop {