Inline function
Space | User/kernel |
Context | Sync/async |
May block | No |
SPL | Any |
Dynamic memory | No |
#include <ARCH/BIOS16.H>
int BIOS16$REAL_INT(int intnum, struct bios_regs *regs, void *ptr, unsigned len, int flags);
This function calls BIOS interrupt in 16-bit real mode. After that it switches back to protected more and returns the resulting registers.
Optionally, this function can copy any data to or from real mode. The data are copied to or from any protected mode address to an address BIOS_PTR_BASE
. If you need to copy data, set up registers as if data were at BIOS_PTR_BASE
and pass data pointer and length to ptr and len.
This function must be called with enabled interrupts. It may be called with disabled interrupts only in crash-handling code (but in that case it won't allow interrupts to be enabled ever more).
This function should not be called often, because it inhibits all interrupts during the time of call.
BIOS_MAX_LEN
. Zero on success. Negative error code on error.