aboutsummaryrefslogtreecommitdiff
path: root/mubios/core
diff options
context:
space:
mode:
authorRichard Qin <richard.qin.x@gmail.com>2026-11-08 07:56:59 +0800
committerRichard Qin <richard.qin.x@gmail.com>2026-11-08 07:56:59 +0800
commit33321fd8115007f3f1bffa3a9969c2444d5a578b (patch)
tree32a472453d226d9c49f99815ec413b28be1ff492 /mubios/core
parente939a810a401b389a398aa10499e7be142bf45ca (diff)
downloadrcc-project-33321fd8115007f3f1bffa3a9969c2444d5a578b.tar.gz
rcc-project-33321fd8115007f3f1bffa3a9969c2444d5a578b.tar.xz
[mubios] Implement INT 15h E820h
Signed-off-by: Richard Qin <richard.qin.x@gmail.com>
Diffstat (limited to 'mubios/core')
-rw-r--r--mubios/core/bda.c2
-rw-r--r--mubios/core/interrupt.c4
2 files changed, 6 insertions, 0 deletions
diff --git a/mubios/core/bda.c b/mubios/core/bda.c
index d7be60c..8417605 100644
--- a/mubios/core/bda.c
+++ b/mubios/core/bda.c
@@ -59,6 +59,7 @@ extern void irq1_entry (void);
extern void int1a_entry (void);
extern void int10_entry (void);
extern void int13_entry (void);
+extern void int15_entry (void);
static void
install_ivt_entry (u8 vector, void (*handler) (void))
@@ -83,4 +84,5 @@ ivt_init (void)
install_ivt_entry (0x1Au, int1a_entry);
install_ivt_entry (0x10u, int10_entry);
install_ivt_entry (0x13u, int13_entry);
+ install_ivt_entry (0x15u, int15_entry);
}
diff --git a/mubios/core/interrupt.c b/mubios/core/interrupt.c
index a9b3ce6..9c71492 100644
--- a/mubios/core/interrupt.c
+++ b/mubios/core/interrupt.c
@@ -35,6 +35,10 @@ bios_service_dispatch (u8 vector, struct bios_regs *regs)
int13_service (regs);
break;
+ case 0x15u:
+ int15_service (regs);
+ break;
+
default:
regs->eax = 0x0100u;
regs->flags |= 0x0001u;