Subject: Re: Return of Son of Beneath The Planet of Connectix Virtual PC 1.0
To: Greg Earle <earle@isolar.tujunga.ca.us>
From: Jonathan Stone <jonathan@DSG.Stanford.EDU>
List: port-i386
Date: 06/24/1997 19:58:57
Greg Earle <earle@isolar.Tujunga.CA.US> writes:

>This looks like it pokes a couple of locations and if it successfully reads
>back from them, it declares victory and assumes mode 2 works.  So this sounds
>like a bug that should be reported to Connectix to me, if it emulates a
>response but doesn't work when you actually try to use it ...

Yup.  But see also the XXX comment.   If the comment is
accurate, the code really should be using the BIOS here instead.

Option #1: rewrite the functino to the BIOS to probe for mode1 vs
      mode2 instead.  If the BIOS fails, fall back to the existing code.

     If you like,  you could send that in as a  PR.

Option #2: Make the existing probe code more robust, so that it
	works on all the hardware it currently works, on *and* the
	Connectix emulatior.


Can you maybe contacting Connectix technical support, explain the
problem -- their PCI ``bridge chip'' is probing as an obsolete chip
that only does PCI config mode 2, NetBSD never finds any PCI devices,
and ask them what's the recommended way for an OS to discover the
correct PCI configuration mode to use on their ``bridge chip''?

If you ask long enough you should get to an engineer who can answer
the question.


I dunno, mode 1 is so dominant these that maybe we could just make it
the default for NetBSD/i386, and have a `quirks' table for broken x86
PCI controllers that need mode 2.  Or are all the mode-2 controllers
so old there's no good way to autodetect them?

>Just to add insult to injury, I tried the 1.2.1 dual-floppy install under
>VPC 1.0 and got the same result as before: hard error reading from the 2nd
>floppy after being asked to insert the INST-121.FS floppy, with a "panic:
>cannot mount root" and a reset of the Virtual PC.

That's not fait to Connectix.  Jason Thorpe recently fixed a bug in
the floppy driver which affects real x86 floppies too.  Problems with
the Connectix emulator and the 1.2.1 floppy driver are probably
NteBSD's fault.

>The bottom line, though, is that I don't think it's going to be practical
>in the long run to tell people "Oh yeah, you can run NetBSD under Virtual PC,
>but only if you run NetBSD-current with an SSTO floppy install disk that's
>had a custom SSTO kernel built for it with PCI configuration mode 1 forced".

Uh, we are trying hard to get 1.3 out in the not-too-distatn future,
at which point the NetBSD-current part wont' apply.