From: Matthew Ogilvie <mmogilvi_qemu@miniinfo.net>
To: qemu-devel@nongnu.org
Cc: Matthew Ogilvie <mmogilvi_qemu@miniinfo.net>
Subject: [Qemu-devel] [PATCH 0/3] Attempting to run Microport UNIX (ca 1987)
Date: Fri, 27 Jul 2012 12:55:54 -0600 [thread overview]
Message-ID: <1343415357-5637-1-git-send-email-mmogilvi_qemu@miniinfo.net> (raw)
I've recently been trying to get an ancient version of UNIX
I used to use working in qemu:
Micoport UNIX System V/386, v 2.1 (ca 1987).
I used this from about 1987 until about 1996, when I first
got Linux.
With a couple of small patches, I can get qemu to boot and run UNIX
from the first install floppy, although I still have some sporadic
issues accessing the hard drive.
I don't know of any reason the first two patches of this series
shouldn't be applied now.
But the last patch (VGA) is a temporary hack just to make UNIX
usuable, and is currently not appropriate for general use. The
commit comment discusses some possible strategies for improving
it; does anyone want to weigh in?
I've also noticed some other problems that I have not yet
tracked down:
-------
Hard Drive Issues:
-------
I also encounter a couple of hard drive issues, which I haven't
investigated as carefully, nor attempted to work around:
1. It doesn't seem to recognize the hard drive geometry, even
if I use "-hdachs" and keep it carefully inside ancient
limitations. Note that at the time, hard drives did not support
self-identification commands for the geometry; you had to
configure it in BIOS. I also have some old notes from when my
dad was asking Microport about compatibility; apparently
they wanted to know the specific BIOS version in order to
decide about compatibility. Maybe UNIX is bypassing later
standards for looking up geometry, and trying to get it in
some non-standard way (straight from CMOS or something?)
2. Although it can access the hard drive for a short time, when
accessing the hard disk, the kernel will sporadially panic
with a message about a logic error in a splint() method,
which dissasembly shows is called from interrupt
handlers. (See also
http://www.linuxmisc.com/29-unix-internals/4e6c1f6fa2e41670.htm
for some general background information I found about UNIX
kernel spl*() functions.)
I haven't spent much time investigating either of these yet, but
in my limited investigation so far, it hasn't yet run long enough
to complete the first phase of installation to the hard drive (when
it is running from floppy).
-------
KVM Issue:
-------
Finally, if KVM is enabled, I get different results. It (somehow)
seems to make it past the control register instructions even with or
without my patch 2, but the UNIX kernel very quickly panics with
a logic error in an splx() method [apparently for restoring
interrupt controller bitmasks; see link above], before it runs
any userspace code.
I haven't investigated this, either.
-------
If anyone is interested in examining this system for themselves,
contact me and I can send you at least the first (bootable)
installation floppy image.
--
Matthew Ogilvie (3):
fix debug printf 64bit format strings
target-i386/translate.c: mov to/from crN/drN: ignore mod bits
HACKS to make vga text mode work with old Microport UNIX (ca 1987)
hw/cirrus_vga.c | 4 ++--
hw/ide/cmd646.c | 5 +++--
hw/ide/via.c | 5 +++--
hw/vga.c | 5 +++--
target-i386/translate.c | 16 ++++++++++++----
5 files changed, 23 insertions(+), 12 deletions(-)
--
1.7.10.2.484.gcd07cc5
next reply other threads:[~2012-07-27 18:58 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-27 18:55 Matthew Ogilvie [this message]
2012-07-27 18:55 ` [Qemu-devel] [PATCH 1/3] fix some debug printf 64bit format strings Matthew Ogilvie
2012-07-27 18:55 ` [Qemu-devel] [PATCH 2/3] target-i386/translate.c: mov to/from crN/drN: ignore mod bits Matthew Ogilvie
2012-07-27 20:53 ` malc
2012-07-27 18:55 ` [Qemu-devel] [PATCH 3/3] HACKS for vga text mode with Microport UNIX (ca 1987) Matthew Ogilvie
2012-07-28 6:33 ` [Qemu-devel] [PATCH 0/3] Attempting to run " Markus Armbruster
2012-07-29 0:26 ` Matthew Ogilvie
2012-07-30 12:29 ` Markus Armbruster
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=1343415357-5637-1-git-send-email-mmogilvi_qemu@miniinfo.net \
--to=mmogilvi_qemu@miniinfo.net \
--cc=qemu-devel@nongnu.org \
/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).