added 5e(1) manpage
This commit is contained in:
parent
b051663043
commit
6f8b37167d
137
sys/man/1/5e
Normal file
137
sys/man/1/5e
Normal file
|
@ -0,0 +1,137 @@
|
||||||
|
.TH 5E 1
|
||||||
|
.SH NAME
|
||||||
|
5e \- user-mode ARM emulation
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.B 5e
|
||||||
|
[
|
||||||
|
.B -npb
|
||||||
|
]
|
||||||
|
.I text
|
||||||
|
[
|
||||||
|
.I arguments
|
||||||
|
]
|
||||||
|
.SH DESCRIPTION
|
||||||
|
.I 5e
|
||||||
|
simulates the execution of an ARM binary in a Plan 9 environment.
|
||||||
|
Unlike its predecessor
|
||||||
|
.IR 5i (1)
|
||||||
|
it supports, among others, the syscalls
|
||||||
|
.IR rfork (2)
|
||||||
|
and
|
||||||
|
.IR exec (2),
|
||||||
|
i.e. it allows execution of threaded programs, e.g.
|
||||||
|
.IR rio (1)
|
||||||
|
or
|
||||||
|
.IR catclock (1).
|
||||||
|
.PP
|
||||||
|
.I 5e
|
||||||
|
executes the specified binary
|
||||||
|
.IR text ,
|
||||||
|
which is prepended by
|
||||||
|
.B /bin
|
||||||
|
if it does not begin with a slash, dot or hash sign.
|
||||||
|
Unless
|
||||||
|
.B -n
|
||||||
|
is specified,
|
||||||
|
.B /bin
|
||||||
|
is replaced by the union of
|
||||||
|
.B /arm/bin
|
||||||
|
and
|
||||||
|
.BR /rc/bin .
|
||||||
|
.PP
|
||||||
|
Unlike
|
||||||
|
.IR 5i (1),
|
||||||
|
.IR 5e (1)
|
||||||
|
does not provide built-in debugging facilities.
|
||||||
|
It
|
||||||
|
.I does
|
||||||
|
provide emulation of the
|
||||||
|
.B /proc
|
||||||
|
directory, if the
|
||||||
|
.B -p
|
||||||
|
flag is specified, to attach a proper debugger like
|
||||||
|
.IR acid (1).
|
||||||
|
There is no equivalent of the profiling facilities, no caches or TLBs are simulated, either.
|
||||||
|
.PP
|
||||||
|
.IR 5e (1)
|
||||||
|
currently has three options.
|
||||||
|
.TP
|
||||||
|
.B -n
|
||||||
|
By default,
|
||||||
|
.IR 5e (1)
|
||||||
|
replaces
|
||||||
|
.B /bin
|
||||||
|
as mentioned above and also sets the variables
|
||||||
|
.B cputype
|
||||||
|
and
|
||||||
|
.B objtype
|
||||||
|
to
|
||||||
|
.BR arm.
|
||||||
|
Supplying the
|
||||||
|
.B -n
|
||||||
|
option suppresses this behaviour.
|
||||||
|
.TP
|
||||||
|
.B -p
|
||||||
|
The
|
||||||
|
.B -p
|
||||||
|
option activates emulation of a
|
||||||
|
.B /proc
|
||||||
|
file system, which is mounted at
|
||||||
|
.B /proc
|
||||||
|
and also posted as
|
||||||
|
.BR /srv/armproc ,
|
||||||
|
cf.
|
||||||
|
.IR srv (3).
|
||||||
|
.TP
|
||||||
|
.B -b
|
||||||
|
Supplying
|
||||||
|
.B -b
|
||||||
|
causes failing processes to call
|
||||||
|
.IR abort (2)
|
||||||
|
instead of
|
||||||
|
.IR sysfatal (2),
|
||||||
|
but see below.
|
||||||
|
.SH SOURCE
|
||||||
|
.B /sys/src/cmd/5e
|
||||||
|
.SH SEE ALSO
|
||||||
|
.IR 5i (1)
|
||||||
|
.SH BUGS
|
||||||
|
The host is required to be little endian and is assumed to have a floating point implementation conforming to IEEE 754.
|
||||||
|
|
||||||
|
Broken processes are simulated in a rather unsatisfactory manner.
|
||||||
|
The
|
||||||
|
.B -b
|
||||||
|
option leaks memory.
|
||||||
|
The emulator does not post
|
||||||
|
.B sys:
|
||||||
|
notes.
|
||||||
|
|
||||||
|
Obscure opcodes, in particular uncommon operations on R15, are not implemented.
|
||||||
|
Careless use of the
|
||||||
|
.B LDREX
|
||||||
|
and
|
||||||
|
.B STREX
|
||||||
|
instructions can lead to deadlock, however a real processor is supposed behave undefined in these cases.
|
||||||
|
|
||||||
|
Accesses spanning segment boundaries will be treated like page faults.
|
||||||
|
Many syscalls like
|
||||||
|
.IR pread (2)
|
||||||
|
will shuffle data around (in most cases unnecessarily), if invoked on potentially shared segments of variable length, in particular the bss segment.
|
||||||
|
|
||||||
|
FPA emulation leaves much to desire, rounding modes are ignored, all calculations are performed at extended precision.
|
||||||
|
Floating point exceptions crash the emulator.
|
||||||
|
|
||||||
|
Several syscalls, most notably the
|
||||||
|
.IR segattach (2)
|
||||||
|
family, are not implemented (this should not be hard to fix).
|
||||||
|
The emulator notes the value of
|
||||||
|
.IR errstr (2)
|
||||||
|
only under obvious circumstances; with most syscalls only if the return value is negative.
|
||||||
|
|
||||||
|
.B /proc
|
||||||
|
emulation is more than unsatisfactory.
|
||||||
|
|
||||||
|
The
|
||||||
|
.I text
|
||||||
|
argument should behave more like it would if it was entered in
|
||||||
|
.IR rc (1).
|
Loading…
Reference in a new issue