socsvn commit: r238881 - soc2012/syuu/bhyve-bios/usr.sbin/bhyvebiosload

syuu at FreeBSD.org syuu at FreeBSD.org
Tue Jul 3 02:34:37 UTC 2012


Author: syuu
Date: Tue Jul  3 02:34:35 2012
New Revision: 238881
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=238881

Log:
  AMD-V vmmcall instruction; just commented out for now

Modified:
  soc2012/syuu/bhyve-bios/usr.sbin/bhyvebiosload/bhyvebiosload.c

Modified: soc2012/syuu/bhyve-bios/usr.sbin/bhyvebiosload/bhyvebiosload.c
==============================================================================
--- soc2012/syuu/bhyve-bios/usr.sbin/bhyvebiosload/bhyvebiosload.c	Tue Jul  3 02:00:28 2012	(r238880)
+++ soc2012/syuu/bhyve-bios/usr.sbin/bhyvebiosload/bhyvebiosload.c	Tue Jul  3 02:34:35 2012	(r238881)
@@ -186,9 +186,15 @@
 	addr = 0x400;
 	for (i = 0x0; i < 0x400; i += 0x4) {
 		uint16_t *p = (uint16_t *)&membase[i];
+#if 1 /* XXX: need to detect CPU vendor */
 		membase[addr + 0] = 0x0f;	/* vmcall(3byte) */
 		membase[addr + 1] = 0x01;
 		membase[addr + 2] = 0xc1;
+#else /* for AMD-V */
+		membase[addr + 0] = 0x0f;	/* vmmcall(3byte) */
+		membase[addr + 1] = 0x01;
+		membase[addr + 2] = 0xd9;
+#endif
 		membase[addr + 3] = 0xcf;	/* iret */
 		*p = addr;
 		p = (uint16_t *)&membase[i + 0x2];


More information about the svn-soc-all mailing list