123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277 |
- .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 mntpt
- ]
- .SH DESCRIPTION
- .PP
- Originally, the kernel provided
- .B /dev/realmode
- and
- .B /dev/realmodemem
- files via
- .IR arch (3) .
- These devices provided access
- to real mode memory and
- .SM BIOS
- calls.
- .PP
- Interrupts were disabled and the processor switched to
- 16-bit "real mode" to fit the
- .SM BIOS
- api.
- If
- .SM BIOS
- reprograms hardware in use or reenables interrupts or
- crashes, the system may freeze or reboot with little ability
- for diagnosis or recovery. To avoid this,
- .I realemu
- emulates
- .SM BIOS
- by interpreting the code intercepting
- dangerous actions that could compromise the system.
- .PP
- With no arguments,
- .I realemu
- mounts itself before
- .B /dev
- and
- serves
- .BR /dev/realmode .
- Flag
- .B D
- will enable 9P debugging; flag
- .B p
- traces i/o port access;
- .B t
- traces instructions.
- The -s flag causes
- .I realemu
- to post its channel on
- .BI /srv/ mntpt
- and the default
- .I mntpt
- is ignored.
- If
- .I mntpt
- is given before
- .I srvname
- argument then it is ignored, otherwise it will be used.
- .SH EXAMPLES
- .I Realemu
- 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)
- .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 ther
- .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)
- .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 mntpt
- ]
- .SH DESCRIPTION
- .PP
- Originally, the kernel provided
- .B /dev/realmode
- and
- .B /dev/realmodemem
- files via
- .IR arch (3) .
- These devices provided access
- to real mode memory and
- .SM BIOS
- calls.
- .PP
- Interrupts were disabled and the processor switched to
- 16-bit "real mode" to fit the
- .SM BIOS
- api.
- If
- .SM BIOS
- reprograms hardware in use or reenables interrupts or
- crashes, the system may freeze or reboot with little ability
- for diagnosis or recovery. To avoid this,
- .I realemu
- emulates
- .SM BIOS
- by interpreting the code intercepting
- dangerous actions that could compromise the system.
- .PP
- With no arguments,
- .I realemu
- mounts itself before
- .B /dev
- and
- serves
- .BR /dev/realmode .
- Flag
- .B D
- will enable 9P debugging; flag
- .B p
- traces i/o port access;
- .B t
- traces instructions.
- The -s flag causes
- .I realemu
- to post its channel on
- .BI /srv/ mntpt
- and the default
- .I mntpt
- is ignored.
- If
- .I mntpt
- is given before
- .I srvname
- argument then it is ignored, otherwise it will be used.
- .SH EXAMPLES
- .I Realemu
- 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)
|