mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-01-31 03:27:39 +00:00
f0600a898c
- Remove XD bit in page tables - Fix cylinder+head+sector arithmetic - Implement fstat() for serial file descriptors on metal Here's how to boot an Actually Portable Executable in QEMU: make -j12 o//tool/viz/deathstar.com qemu-system-x86_64 -serial stdio -fda o//tool/viz/deathstar.com Here's a screenshot of DEATHSTAR.COM booted in QEMU: https://justine.lol/cosmopolitan/cosmo-metal-qemu.png Thus metal support is in much better shape now, but still incomplete. Only a few system calls have been polyfilled. To figure out which ones your program needs, simply boot it in the blinkenlights emulator with a breakpoint, and press CTRL-C to continue to the system call breakpoint. If it doesn't break then you should be good. (Note: to emulate normally you can press 'c' and use CTRL-T and ALT-T to tune the speed.) m=tiny make -j12 SILENT=0 MODE=$m \ o/$m/tool/build/blinkenlights.com \ o/$m/tool/viz/deathstar.com o/$m/tool/build/blinkenlights.com \ -r -t -b systemfive.linux \ o/$m/tool/viz/deathstar.com Thank @Theldus for the bug report that made this change possible. Fixes #20 which explains this change further. |
||
---|---|---|
.. | ||
package | ||
auto-launch-gdb-on-crash.c | ||
bigmem.c | ||
breakpoint.c | ||
cp.c | ||
cplusplus.cc | ||
crashreport.c | ||
ctrlc.c | ||
date.c | ||
dinlerp.c | ||
examples.mk | ||
findprime.c | ||
forkrand.c | ||
generalized-automatic-datastructure-printing.c | ||
gui.c | ||
hangman.c | ||
hello.c | ||
hello.js | ||
hello2.c | ||
hello3.c | ||
hello4.c | ||
hellojs.c | ||
invtsc.c | ||
ispell.c | ||
kilo.c | ||
life.c | ||
ls.c | ||
lstime.c | ||
mappy.c | ||
nesemu1.cc | ||
peek.c | ||
pipe.c | ||
poll.c | ||
printargs.c | ||
printprimes.c | ||
rawmode.c | ||
rusage.c | ||
stat.c | ||
subprocess.c | ||
tiny-raw-linux-tutorial.S | ||
ttyinfo.c | ||
uname.c | ||
unbourne.c | ||
x86split.c |