3dae9e49cc
In the instruction list, put /* kills xer */ for sraw, srawi, subfic; and correct the (now unused) "addi." and "lfdu". Change MACHOPT_F from -m3 to -m2. This changes the code for 15 * i from slwi r3,r4,4 subfic r5,r4,0 add r3,r3,r5 to mulli r3,r4,15 If the sequence "slwi subfic addi" takes 3 cycles and 12 bytes, and mulli takes 3 cycles and 4 bytes, then mulli is better. |
||
---|---|---|
.. | ||
include | ||
libsys | ||
tests | ||
boot.s | ||
build-pkg.lua | ||
build-tools.lua | ||
descr | ||
README |
# $Source: /cvsroot/tack/Ack/plat/linux386/README,v $ # $State: Exp $ # $Revision: 1.2 $ The linux386 platform ===================== linux386 is an i386-based BSP that produces Linux ELF executables. This port only implements a very limited number of system calls; basically, just enough to make the demo apps run. Adding more is easy, but there are some subtleties that require more thought. The port should be considered only in proof-of-concept stage right now. Important note: you *can't* link access ELF shared libraries from these executables. In other words, you have to all your work from inside ACK. IEEE floating point is available, but requires an FPU. The executables are generated with aelfslod and are extremely simple; there's one rwx ELF section which contains all the application's code and data. This is not optimal, but it does work. Bugs ==== isatty() is a stub and always returns 0. Example command line ==================== ack -mlinux386 -O -o linux386.exe examples/paranoia.c The file linux386.exe can then be run on a i386 Linux machine (or on an emulation thereof). David Given dg@cowlark.com