Subject: Return of Son of Beneath The Planet of Connectix Virtual PC 1.0
To: None <port-i386@NetBSD.ORG>
From: Greg Earle <earle@isolar.Tujunga.CA.US>
List: port-mac68k
Date: 06/22/1997 19:17:36
I thought I'd post one more followup message to the mailing lists because
people might be interested to see what happened with the "final" 1.0 release
of Connectix's Virtual PC.
I got my hands on a copy of the final 1.0 release of Connectix's Virtual PC
and installed it on my PowerMac 8500/120, running MacOS 7.6.1. The major
differences between the 1.0beta 6 I tested previously and the final release
version are the floppy support (supposedly much improved) and the ability
to have Shared Folders between the MacOS and the O/S being run under the
emulator.
Well, as it turns out, the Shared Folders bit is somewhat of a misnomer.
The only way to share folders between the MacOS and the O/S being run in
emulation is if the O/S in question has drivers to see the Shared Folders
as separate drive types. Naturally, Connectix provides this capability
for DOS, Windows 3.1 and Windows 95. And nothing else. So there is no
way for NetBSD/i386 to see a MacOS folder as, say, an extra "wd" disk or
somesuch. To make matters worse, I ran the command provided under DOS
to share the folders, and it didn't work - it wanted to assign the folder to
be shared to be virtual DOS drive F:, but the DOS I booted under VPC was
not set up to recognize any drives other than A:, B: or C:. (If there's a
way to make DOS recognize an "F:" drive, please enlighten me somebody.)
Anyway, to make a long story short, I downloaded the latest i386 snapshot
SSTO install floppy and dup'ed it onto a blank floppy using "rawrite".
I then booted VPC and stuck the floppy in, and got exactly the same results
as before:
>> NetBSD BOOT: 640/14336 k [2.0Beta2]
use hd1a:netbsd to boot sd0 when wd0 is also installed
press return to boot now, any other key for boot menu
booting fd0a:netbsd
starting in 0
boot: No such file or directory
booting fd0a:netbsd.gz
876544+1613824+56420+[57624+64382]=0x28b8fe
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
NetBSD 1.2G (INSTALL) #0: Mon Jun 16 16:48:52 PDT 1997
perry@jekyll.piermont.com:/usr/src/sys/arch/i386/compile/INSTALL
cpu0: family 5 model 3 step 5
cpu0: ConnectixCPU (586-class) with MMX
real mem = 15335424
avail mem = 11505664
using 212 buffers containing 868352 bytes of memory
mainbus0 (root)
pci0 at mainbus0 bus 0: configuration mode 2
isa0 at mainbus0
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
com1 at isa0 port 0x2f8-0x2ff irq 3: ns16550a, working fifo
lpt0 at isa0 port 0x378-0x37b irq 7
wdc0 at isa0 port 0x1f0-0x1f7 irq 14
wd0 at wdc0 drive 0: <CntxCorpHD>
wd0: 39MB, 963 cyl, 5 head, 17 sec, 512 bytes/sec
wd0: using 16-sector 16-bit pio transfers, lba addressing
wdc1 at isa0 port 0x170-0x177 irq 15
npx0 at isa0 port 0xf0-0xff: error reporting broken; not using
pcprobe: reset error 3
pc0 at isa0 port 0x60-0x6f irq 1: color
fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
fd0 at fdc0 drive 0: 1.44MB 80 cyl, 2 head, 18 sec
fd1 at fdc0 drive 1: density unknown
biomask c040 netmask c040 ttymask c0c2
md0: internal 1537K image area
boot device: fd0
root on md0a dumps on md0b
root file system type: ffs
Enter pathname of shell or RETURN for sh:
You'll notice there is no "de0" device probed, despite the fact that the
VPC documentation claims that the emulated Ethernet is a PCI bus DEC 21041
Ethernet card at IRQ 11. Here is where things get interesting (and where
my question for the moment lies). I have a program called "PX" which scans a
PCI bus and reports back what it sees. I ran it under the Virtual PC emulator
and it looks like this:
-----------------------------------------------------------------------------
PCI Explorer v1.13 (941012) R/O
(c) Copyright 1994 ZNYX Corporation. All Rights Reserved.
-----------------------------------------------------------------------------
#########################+--------------------------+########################
#########################| Main Menu |########################
#########################+--------------------------+########################
#########################| >PCI Configuration Method|########################
#########################| >PCI Device Selection |########################
#########################| >Exit Program |########################
#########################+--------------------------+########################
I chose "PCI Device Selection" and it returned the following:
+--------------------------------+
| 5 PCI Devices +
+--------------------------------+
| >[00:00:0] INTEL 122D Device |
| >[00:07:0] INTEL 122E Device |
| >[00:07:1] INTEL 1230 Device |
| >[00:08:0] S3 88B0 Device |
| >[00:09:0] DIGITAL 0014 Device|
| > |
+--------------------------------+
Examining the "DIGITAL 0014 Device" further, it said
+--------------------------------------------------------+
| [00:09:0] DIGITAL 0014 Device |
| Reg Off Size Value Description |
+--------------------------------------------------------+
| > 00 0 16 1011 > Vendor ID |
| > 02 0 16 0014 > Device ID |
| >O 04 0 16 0007 > Command |
| >O 06 0 16 0280 > Status |
| > 08 0 8 11 > Revision ID |
| > 09 0 24 020000 > Class Code |
| > 0B 0 8 02 > [Network] Base Class |
| > 0A 0 8 00 > [Ethernet] Sub-Class |
| > 09 0 8 00 > Programming Interface |
| > 0C 0 8 00 > Cache Line Size |
| > 0D 0 8 00 > Latency Timer |
| > 0E 0 8 00 > Header Type |
| > 0F 0 8 00 > BIST |
| > 10 0 32 00001081 > Base Address |
| > 14 0 32 C2000000 > Base Address |
| > 30 0 32 C2000801 > Expansion ROM Base Address |
| > 3C 0 8 0B > Interrupt Line |
| > 3D 0 8 01 > [INTA] Interrupt Pin |
| > 3E 0 8 00 > Min_Gnt |
| > 3F 0 8 00 > Max_Lat |
+--------------------------------------------------------+
So it looks to me like as if Virtual PC is certainly trying to emulate a
Digital Ethernet card of some variety at IRQ 11 ("Interrupt Line 0B")!
Ergo, can anyone examine this output and tell me why the 1.2G snapshot kernel
doesn't successfully probe this device as being a "de0" Ethernet card?
Given that Shared Folder support isn't available to the NetBSD environment,
having a working Ethernet emulation is fairly vital to being able to get
further along with this experiment. (I haven't tested the multiple-floppy
case yet to see how well VPC 1.0 deals with pulling out one floppy that it's
seen and replacing it with another floppy that it hasn't. The older 1.0beta6
release did *not* deal well with changed floppies whatsoever.)
- Greg