mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-10-26 11:10:58 +00:00
- 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.
|
||
|---|---|---|
| .. | ||
| emubin | ||
| emucrt | ||
| lib | ||
| ar.c | ||
| blinkenlights.c | ||
| build.mk | ||
| calculator.c | ||
| calculator.ctest | ||
| calculator.inc | ||
| dropcache.c | ||
| helpop.c | ||
| lz4toasm.c | ||
| mkdeps.c | ||
| package.c | ||
| refactor.c | ||
| rle.c | ||
| rollup.c | ||
| runit.c | ||
| runit.h | ||
| runitd.c | ||
| summy.c | ||
| tinyemu.c | ||
| x86combos.c | ||
| zipobj.c | ||