DragonFly-22.214.171.1247.gd64b2 master lib/libstand hammerread.c sys/boot/common boot2.h dinode.h ufsread.c sys/boot/pc32/boot2 Makefile boot1.S boot2.c sys/boot/pc32 bootasm.h sys/sys types.h
wbh at conducive.org
Mon Mar 2 02:58:31 PST 2009
Matthew Dillon wrote:
The boot1 code was using an 8086 copy loop to copy the boot2 code to its
target origin. I don't see how it could possibly have EVER worked
properly for any boot2 code over 16K due to a 64K wrap off the end
of the 8086 segment. And yet, it seemed to, so I am somewhat at a loss.
*...a few lines later*
disklabel32 is still restricted to an 8K boot2 and there is nothing
we can do about that.
If legacy boot2 couldn't grow beyond 8K, (or 16K) neither a 32K nor 64K
wrap would have mattered?
And one can put a reasonably useful 16-bit Virtual Machine OS, Virtual
Memory System, with disk I/O and an editor into 8K. Even on an 8-bit
CPU. Forth and ASM didn't go away. They just hide really well....
More information about the Commits