term% cat index.txt REALEMU(8) System Manager's Manual REALEMU(8)
NAME
realemu - software emulation of /dev/realmode
SYNOPSIS
aux/realemu [ -Dpt ] [ -s srvname ] [ -m mountpoint ]
DESCRIPTION
Originally, kernel provided /dev/realmode files with the arch(3) device
to access and call the BIOS.
Interrupts had to be disabled and the processor was switched in the
legacy 16-bit realmode with memory protection disabled to execute BIOS
code.
This is problematic in case the BIOS reprograms hardware currently used
by the operating system or when it reenables interrupts or just
crashes. This will freeze or reboot the machine with no way to recover
or diagnose the problem.
To avoid this, realemu is used to emulate the execution of the BIOS
routines by interpreting the machine instructions and intercepting dan‐
gerous actions that would compromise the systems stability.
Running realemu with no arguments, it mounts itself before /dev and re‐
places the original /dev/realmode file in the current namespace.
Then programs like vga(8) can use it to make their BIOS calls.
The D flag will enable debug messages for 9P. The p and t flags con‐
trol tracing of i/o port access and cpu instructions to stderr (fd 2).
When a srvname is given with the s argument, the default mountpoint is
ignored and a 9P channel is created in /srv that can be used to mount
the filesystem from another namespace. If a mountpoint is given before
the srvname argument then it is ignored, otherwise it will be used.
EXAMPLES
The realemu process is only needed when accessing /dev/realmode. To
invoke a subshell so that realemu exits normally after aux/vga com‐
pletes:
% @{rfork n; aux/realemu; aux/vga -m vesa -l $vgasize}
SOURCE
/sys/src/cmd/aux/realemu
SEE ALSO
vga(8), arch(3)
HISTORY
Realemu first appeared in 9front (April, 2011).
REALEMU(8)