cosmopolitan/ape/lib
Justine Tunney f0600a898c Fix metal bugs so deathstar.com runs in qemu (#20)
- 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.
2021-01-16 17:52:15 -08:00
..
apelib.mk Fix link order in cosmopolitan.a 2021-01-16 12:05:41 -08:00
apm.h Change license 2020-12-27 17:18:44 -08:00
bootdr.S Change license 2020-12-27 17:18:44 -08:00
e820map.S Change license 2020-12-27 17:18:44 -08:00
flattenhighmemory.c Change license 2020-12-27 17:18:44 -08:00
g_pml4t.S Change license 2020-12-27 17:18:44 -08:00
g_ptsp.S Change license 2020-12-27 17:18:44 -08:00
getpagetableentry.c Change license 2020-12-27 17:18:44 -08:00
kbiosdataarea.S Change license 2020-12-27 17:18:44 -08:00
mapimage.c Fix metal bugs so deathstar.com runs in qemu (#20) 2021-01-16 17:52:15 -08:00
pageunmap.c Change license 2020-12-27 17:18:44 -08:00
pc.h Change license 2020-12-27 17:18:44 -08:00
smapsort.c Change license 2020-12-27 17:18:44 -08:00