The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: brantley@coraid.com (Brantley Coile)
Subject: [TUHS] Redoing "V6on286" or porting V7...?
Date: Wed, 9 Nov 2005 17:03:07 -0500	[thread overview]
Message-ID: <849b04683754b84f7e42810d761db3bd@coraid.com> (raw)
In-Reply-To: <Pine.LNX.4.62.0511091221220.6113@static-141-149-129-16.buff.east.verizon.net>

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.


 Brantley Coile
-------------- next part --------------
An embedded message was scrubbed...
From: Lyrical Nanoha <LyricalNanoha@dosius.net>
Subject: [TUHS] Redoing "V6on286" or porting V7...?
Date: Wed, 9 Nov 2005 12:26:32 -0500 (EST)
Size: 2709
URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20051109/86c19884/attachment.mht>


  parent reply	other threads:[~2005-11-09 22:03 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-09 17:26 Lyrical Nanoha
2005-11-09 21:54 ` M. Warner Losh
2005-11-09 22:03 ` Brantley Coile [this message]
2005-11-12  6:13   ` Albert Cahalan
2005-11-12 13:18     ` Brantley Coile
2005-11-13 20:16       ` Peter Jeremy
2005-11-14  9:38         ` Wesley Parish
2005-11-14 15:45         ` Brantley Coile
     [not found]         ` <8a61b612cf43394f33e6531339fe4263@coraid.com>
2005-11-14 19:49           ` Peter Jeremy
2005-11-14 20:31             ` Brantley Coile
2005-11-16 21:41             ` Lyrical Nanoha
     [not found]               ` <17277.62390.986234.433543@hod.localdomain>
2005-11-18 17:59                 ` Lyrical Nanoha
2005-11-19  4:17                   ` Brantley Coile
2005-11-15  3:08         ` Greg Haerr
2005-11-15  3:40           ` Peter Jeremy
2005-11-15 13:30             ` Brantley Coile
2005-11-14 21:34 Norman Wilson
2005-11-14 22:59 ` Brantley Coile

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=849b04683754b84f7e42810d761db3bd@coraid.com \
    --to=brantley@coraid.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).