Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 1 Dec 2008 16:32:45 +0000 (UTC)
From:      Doug Rabson <dfr@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r185520 - user/dfr/xenhvm/6/sys/amd64/amd64
Message-ID:  <200812011632.mB1GWjgT030529@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dfr
Date: Mon Dec  1 16:32:45 2008
New Revision: 185520
URL: http://svn.freebsd.org/changeset/base/185520

Log:
  Add a magic sequence which unplugs block and network devices from Xen's
  hardware emulator so that we can safely attach PV drivers to them without
  fighting with the ata and re drivers.

Modified:
  user/dfr/xenhvm/6/sys/amd64/amd64/machdep.c

Modified: user/dfr/xenhvm/6/sys/amd64/amd64/machdep.c
==============================================================================
--- user/dfr/xenhvm/6/sys/amd64/amd64/machdep.c	Mon Dec  1 15:27:00 2008	(r185519)
+++ user/dfr/xenhvm/6/sys/amd64/amd64/machdep.c	Mon Dec  1 16:32:45 2008	(r185520)
@@ -1352,6 +1352,14 @@ hammer_time(u_int64_t modulep, u_int64_t
 	if (env != NULL)
 		strlcpy(kernelname, env, sizeof(kernelname));
 
+#ifdef XENHVM
+	if (inw(0x10) == 0x49d2) {
+		if (bootverbose)
+			printf("Xen detected: disabling emulated block and network devices\n");
+		outw(0x10, 3);
+	}
+#endif
+
 	/* Location of kernel stack for locore */
 	return ((u_int64_t)thread0.td_pcb);
 }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200812011632.mB1GWjgT030529>