123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- .TH REALEMU 8
- .SH NAME
- realemu \- software emulation of /dev/realmode
- .SH SYNOPSIS
- .B aux/realemu
- [
- .B -Dpt
- ] [
- .B -s
- .I srvname
- ] [
- .B -m
- .I mountpoint
- ]
- .SH DESCRIPTION
- .PP
- Originally, kernel provided
- .B /dev/realmode
- files with the
- .IR arch (3)
- device to access and call the
- .SM BIOS.
- .PP
- Interrupts had to be disabled and the processor was switched in the
- legacy 16-bit
- .SM realmode
- with memory protection disabled to execute
- .SM BIOS
- code.
- .PP
- This is problematic in case the
- .SM 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.
- .PP
- To avoid this,
- .I realemu
- is used to emulate the execution of the
- .SM BIOS
- routines by interpreting the machine instructions and intercepting
- dangerous actions that would compromise the systems stability.
- .PP
- Running
- .I realemu
- with no arguments, it mounts itself before
- .B /dev
- and
- replaces the original
- .B /dev/realmode
- file in the current namespace.
- .PP
- Then programs like
- .IR vga (8)
- can use it to make their
- .SM BIOS
- calls.
- .PP
- The
- .B D
- flag will enable debug messages for 9P. The
- .B p
- and
- .B t
- flags
- control tracing of i/o port access and cpu instructions to
- stderr (fd 2).
- .PP
- When a
- .I srvname
- is given with the
- .B s
- argument, the default
- .I mountpoint
- is ignored and a
- .SM 9P
- channel is created in
- .B /srv
- that can be used to mount
- the filesystem from another namespace. If a
- .I mountpoint
- is given before
- the
- .I srvname
- argument then it is ignored, otherwise it will be used.
- .SH EXAMPLES
- The
- .I realemu
- process is only needed when accessing
- .B /dev/realmode.
- To invoke a subshell so that
- .I realemu
- exits normally after
- .B aux/vga
- completes:
- .IP
- .EX
- % @{rfork n; aux/realemu; aux/vga -m vesa -l $vgasize}
- .EE
- .SH SOURCE
- .B /sys/src/cmd/aux/realemu
- .SH "SEE ALSO"
- .IR vga (8),
- .IR arch (3)
- .SH HISTORY
- .I Realemu
- first appeared in 9front (April, 2011).
|