DragonFly- 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

Bill Hacker 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 mailing list