Repository navigation
v0.23.0
Tier 7: no kernel either
The instruction stream and the whole runtime are the ones layer 18 already
wrote - the same encoder, the same operand stack, the same .bss - and only
the three things a kernel was being asked for change. Nobody has zeroed the
data, so the prologue does it. There is nowhere to exit to, so the epilogue
halts. And there is no descriptor to write to, so the octets go to the text
cells the firmware leaves mapped, and out of the serial port besides, that
being the one of the two a machine can read back rather than a person.
In front of them sits one sector of sixteen-bit real mode, which is where a
machine begins: segments and a stack, the payload off the disk the firmware
booted from, the gate at port ninety-two, a page table mapping the first two
megaoctets onto themselves, a descriptor table, and three bits in three
registers. Then a far jump into the width the encoder emits, and the text
after it is the same text that runs under Linux.
That sector is written out rather than encoded. None of it recurs, and an
encoder for one use would have been a worse way to say it.
2048 octets at n=7, of which 512 are the sector in front. --emit-boot
writes it and --selftest boots it as an eighth tier wherever a system
emulator is installed - waiting on the serial octets rather than on the
machine, because a program with nothing underneath it halts and never exits.
Checked at every order the suite covers, and the tier was strained before it
was believed: an octet flipped in the payload and a sector count one short of
the payload both stop the figure arriving.
Full Changelog: v0.22.0...v0.23.0
LOC: 14870