I finally got a chance to talk to someone who knows a hell of a lot about the i386 than I could ever hope to know. I gave him all the materials and I think he spent more time replying to my email than doing the debugging.
Basically the registers for entering protected mode with paging are backwards. This is kind of funny as the port was done by Intel of all people.
Anyway I reversed them and I now have the Mach kernel from 1988 booted under VMware.
I have to say that it's super cool to finally have chased this one down.
Does anyone know whether CMU’s local Mach sources have been preserved?
I’m not just talking about MK84.default.tar.Z and so on, I’m talking about all the bits of Mach that were used on cluster systems on campus, prior to the switch to vendor UNIX.
I know at least one person who had complete MacMach sources for the last version, but threw out the backup discs with the sources in the process of moving. So I know they exist.
If nothing else, CMU did provide other sites their UX source package (eg UX42), which was the BSD single server environment. So I know that has to be out there, somewhere.
— Chris
Sent from my iPhone
All, a while back Debbie Scherrer mailed me a copy of a
"Software Tools Users Group" archive, and I've been sitting on my
hands and forgetting to add it to the Unix Archive. It's now here:
https://www.tuhs.org/Archive/Applications/Software_Tools/STUG_Archive/
The mirrors should pick it up soon. I've gzipped most of it as I'm getting
a bit tight on space.
Thanks to Debbie for the copy and to her and Clem for reminding me to
pull my finger out :)
Cheers, Warren
It's interesting that this comment about ptrace was written
as early as 1980.
Ron Minnich's reference to Plan 9 /proc misses the mark, though.
By the time Plan 9 was written, System V already had /proc; see
https://www.usenix.org/sites/default/files/usenix_winter91_faulkner.pdf
And as the authors say, the idea actually dates back to Tom Killian's
/proc in Research UNIX. I don't know when Tom's code first went
live, but I first heard about it by seeing it in action on my first
visit to Bell Labs in early 1984, and it was described in public in
a talk at the Summer 1984 USENIX conference in Salt Lake City.
I cannot quickly find an online copy of the corresponding paper;
pointers appreciated. (Is there at least an online index of BTL
CSTRs? The big search engine run by the place that still has
some 1127 old-timers can't find that either.)
As for ptrace itself, I heartily agree that /proc made it obsolete.
So did everyone else in 1127 when I was there, but nobody wanted
to update adb and sdb, which were big messes inside. So I did,
attempting a substantial internal makeover of adb to ease making
versions for different systems and even cross-versions, but just
a quick hack for sdb.
Once I'd done that and shipped the new adb and sdb binaries to
all our machines, I removed the ptrace call from the kernel.
It happened that in the Eighth (or was it Ninth by then? I'd
have to dig out notes to find out) Edition manual, ptrace(2)
was on two facing pages. To celebrate, I glued said pages
together in the UNIX Room's copy of the manual.
Would it were so easy to take out the trash today.
Norman Wilson
Toronto ON
The paper I am thinking of (gee, I wish I could remember any other details
about it...) was *very* detailed and specific, and was hardware-specific
to either the PDP-11 or VAX. It would not at all be applicable to Linux
or any kind of modern OS.
I am wondering if it is something in the Leffler et al book, I'll have to
go back and review that. I'll have to find my copy of it first...
--Pat.
A few bods have asked to see this, so... Actually, "extracted" would be
better description than "redacted", but it's too late now; I could rename
it and put in a CGI-redirect, but I'm too busy at the moment.
-----
A redacted copy of my complaint to T$.
www.horsfall.org/Telstra-comp-redact.rtf (yes, RTF; it was written on a
Mac).
Utterly inexcusable... Please share etc :-)
-- Dave
Ptrace was short-lived at Research, appearing in 6th through 8th editions.
/proc was introduced in the 8th. Norman axed it in the 9th.
Norman wrote:
nobody wanted
to update adb and sdb, which were big messes inside. So I did
...
Once I'd done that and shipped the new adb and sdb binaries to
all our machines, I removed the ptrace call from the kernel.
doug
> From: ron minnich <rminnich(a)gmail.com>
> To: TUHS main list <tuhs(a)minnie.tuhs.org>
> Subject: [TUHS] 4.1c bsd ptrace man entry ("ptrace is unique and
> arcane")
> Message-ID:
> <CAP6exYJshbA5HxOJ_iM21Cs0Y4vGfLuFigXxh4WTeqbZreY8UA(a)mail.gmail.com>
> Content-Type: text/plain; charset="UTF-8"
>
> I always wondered who wrote this, anyone know? I have my suspicions but ...
>
> ".SH BUGS
> .I Ptrace
> is unique and arcane; it should be replaced with a special file which
> can be opened and read and written. The control functions could then
> be implemented with
> .IR ioctl (2)
> calls on this file. This would be simpler to understand and have much
> higher performance."
>
> it's interesting in the light of the later plan 9 proc interface.
>
> ron
The manual pages were not yet under SCCS, so the best time gap that I
can give you is that the above text was added between the release of
3BSD (Nov 1979) and 4.0BSD (Nov 1980). Most likely it was Bill Joy
that made that change.
Kirk McKusick