[TUHS] Redoing "V6on286" or porting V7...?
brantley at coraid.com
Thu Nov 10 08:03:07 AEST 2005
my suggestions are as follows (i assume you really mean 8086 mode):
use a pdp emulator to run a donor system and do the port from there.
using a floppy to boot is a great idea. i've written several boot
straps to boot from the floppy that configure the serial port, and put
the processor in 32-bit mode. it's tight, but not too hard. you have
a great advantage in that you're going to stick to 16 bit so you can
use the bios. 512 bytes in that case is tons of space.
first job is to get an assembler and compiler for the 8086. i would
use the mit's compilers/assembler from the 1980's. if you can't find
a copy, i have one.
next, figure out how you are going to manage memory. avoiding
protected memory would make things much easier. just have each
process use a full 64K of memory for the data segment. for text you
don't have to worry about stepping on anything, so they don't have to
be a full 64k. that'll give you 10 processes worth of processes. you
can just swap if you want any more.
the routines you'll need to fix are in /usr/sys/ken/main.c.
then you need to rewrite the trap code to use the pc's interrupts.
this is very straight forward. you'll have to write some small
assembler code to setup the stack frames to get into trap.c.
next you'll need to write device drivers for the screen/keyboard, the
clock, and the floppy. later you can write an ATA driver and get a
mbr and hard disk boot strap.
if you want to do a 32-bit version, then things are a little
different. but this should give you the v6 in about as little
work as can be.
-------------- next part --------------
An embedded message was scrubbed...
From: unknown sender
Subject: no subject
Date: no date
More information about the TUHS