diff options
| author | Richard Qin <richard.qin.x@gmail.com> | 2026-11-08 07:56:59 +0800 |
|---|---|---|
| committer | Richard Qin <richard.qin.x@gmail.com> | 2026-11-08 07:56:59 +0800 |
| commit | 33321fd8115007f3f1bffa3a9969c2444d5a578b (patch) | |
| tree | 32a472453d226d9c49f99815ec413b28be1ff492 /mubios/core | |
| parent | e939a810a401b389a398aa10499e7be142bf45ca (diff) | |
| download | rcc-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.c | 2 | ||||
| -rw-r--r-- | mubios/core/interrupt.c | 4 |
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; |
