diff options
author | Simon Glass <sjg@chromium.org> | 2014-11-15 03:56:41 (GMT) |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2014-11-25 14:11:17 (GMT) |
commit | a3c700ec7611ce579ecab7005c66c6d1e7b1dbac (patch) | |
tree | 073dd3abaa5e3f2621db3b190009e54f4ed2ff4a | |
parent | 4c59f95327966b83981cb53371a854570a01e8d9 (diff) | |
download | u-boot-a3c700ec7611ce579ecab7005c66c6d1e7b1dbac.tar.xz |
bios_emulator: Allow a custom interrupt handler to be installed
Sometime we want to provide an interrupt handler for the ROM, Add a
function to allow this.
Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r-- | drivers/bios_emulator/include/x86emu.h | 1 | ||||
-rw-r--r-- | drivers/bios_emulator/x86emu/sys.c | 5 |
2 files changed, 6 insertions, 0 deletions
diff --git a/drivers/bios_emulator/include/x86emu.h b/drivers/bios_emulator/include/x86emu.h index 278f669..63febe0 100644 --- a/drivers/bios_emulator/include/x86emu.h +++ b/drivers/bios_emulator/include/x86emu.h @@ -153,6 +153,7 @@ extern "C" { /* Use "C" linkage when in C++ mode */ void X86EMU_setupMemFuncs(X86EMU_memFuncs * funcs); void X86EMU_setupPioFuncs(X86EMU_pioFuncs * funcs); void X86EMU_setupIntrFuncs(X86EMU_intrFuncs funcs[]); + void X86EMU_setupIntrFunc(int intnum, X86EMU_intrFuncs func); void X86EMU_prepareForInt(int num); /* decode.c */ diff --git a/drivers/bios_emulator/x86emu/sys.c b/drivers/bios_emulator/x86emu/sys.c index 21f9730..0ba9c0c 100644 --- a/drivers/bios_emulator/x86emu/sys.c +++ b/drivers/bios_emulator/x86emu/sys.c @@ -273,6 +273,11 @@ void X86EMU_setupPioFuncs(X86EMU_pioFuncs * funcs) sys_outl = funcs->outl; } +void X86EMU_setupIntrFunc(int intnum, X86EMU_intrFuncs func) +{ + _X86EMU_intrTab[intnum] = func; +} + /**************************************************************************** PARAMETERS: funcs - New interrupt vector table to make active |