Find a file
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
ape Fix metal bugs so deathstar.com runs in qemu (#20) 2021-01-16 17:52:15 -08:00
build Fix link order in cosmopolitan.a 2021-01-16 12:05:41 -08:00
dsp Fix link order in cosmopolitan.a 2021-01-16 12:05:41 -08:00
examples Fix metal bugs so deathstar.com runs in qemu (#20) 2021-01-16 17:52:15 -08:00
libc Fix metal bugs so deathstar.com runs in qemu (#20) 2021-01-16 17:52:15 -08:00
net Fix link order in cosmopolitan.a 2021-01-16 12:05:41 -08:00
test Disable spawnve_test (#14) 2021-01-16 12:43:06 -08:00
third_party Fix link order in cosmopolitan.a 2021-01-16 12:05:41 -08:00
tool Fix metal bugs so deathstar.com runs in qemu (#20) 2021-01-16 17:52:15 -08:00
usr/share Add epoll and do more release readiness changes 2020-11-28 12:01:51 -08:00
.clang-format Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
.gitignore Make terminal ui binaries work well everywhere 2020-10-19 06:38:31 -07:00
Makefile Fix link order in cosmopolitan.a 2021-01-16 12:05:41 -08:00
NOTICE Change license 2020-12-27 17:18:44 -08:00
README.md Change license 2020-12-27 17:18:44 -08:00

Cosmopolitan

Fast portable static native textmode executable containers.

For an introduction to this project, please read the αcτµαlly pδrταblε εxεcµταblε blog post and cosmopolitan libc website. API documentation is available here.