Subject: Re: NetBSD *inside* VMware on NetBSD?
To: None <port-i386@netbsd.org>
From: Rob <rmanches@vmware.com>
List: port-i386
Date: 07/11/2001 01:07:50
On Fri, 6 Jul 2001 18:56:32 -0400, Thor Lancelot Simon wrote:
> I need to have both 1.5.1 and -current on one of my machines. I'd like
> to do it by running -current inside VMware.
>
> Unfortunately, I can't get the -current install disks to get through
> autoconfiguration. With IDE "disks", I get to the probe of pciide0,
> and then I get a hard hang.
This is could be due to the fact that VMware workstation doesn't
implement a flush cache command which is fine, but we didn't set the
drive to ready after the error. If you can compile your kernel here is
a patch which will fix the problem of the cacheflush timing out but I'm
not sure if it will help at all with the hard hang.
-rob
Index: sys/dev/ata/wd.c
===================================================================
RCS file: /cvsroot/syssrc/sys/dev/ata/wd.c,v
retrieving revision 1.214
diff -u -r1.214 wd.c
--- wd.c 2001/06/13 18:17:40 1.214
+++ wd.c 2001/07/11 01:00:13
@@ -1358,33 +1358,6 @@
struct wd_softc *wd;
int flags;
{
- struct wdc_command wdc_c;
-
- if (wd->drvp->ata_vers < 4) /* WDCC_FLUSHCACHE is here since ATA-4 */
- return;
- memset(&wdc_c, 0, sizeof(struct wdc_command));
- wdc_c.r_command = WDCC_FLUSHCACHE;
- wdc_c.r_st_bmask = WDCS_DRDY;
- wdc_c.r_st_pmask = WDCS_DRDY;
- wdc_c.flags = flags;
- wdc_c.timeout = 30000; /* 30s timeout */
- if (wdc_exec_command(wd->drvp, &wdc_c) != WDC_COMPLETE) {
- printf("%s: flush cache command didn't complete\n",
- wd->sc_dev.dv_xname);
- }
- if (wdc_c.flags & AT_TIMEOU) {
- printf("%s: flush cache command timeout\n",
- wd->sc_dev.dv_xname);
- }
- if (wdc_c.flags & AT_DF) {
- printf("%s: flush cache command: drive fault\n",
- wd->sc_dev.dv_xname);
- }
- /*
- * Ignore error register, it shouldn't report anything else
- * than COMMAND ABORTED, which means the device doesn't support
- * flush cache
- */
}
void