From owner-svn-soc-all@FreeBSD.ORG Tue Jul 3 02:34:37 2012 Return-Path: Delivered-To: svn-soc-all@FreeBSD.org Received: from socsvn.FreeBSD.org (unknown [IPv6:2001:4f8:fff6::2f]) by hub.freebsd.org (Postfix) with SMTP id B78FC1065673 for ; Tue, 3 Jul 2012 02:34:35 +0000 (UTC) (envelope-from syuu@FreeBSD.org) Received: by socsvn.FreeBSD.org (sSMTP sendmail emulation); Tue, 03 Jul 2012 02:34:35 +0000 Date: Tue, 03 Jul 2012 02:34:35 +0000 From: syuu@FreeBSD.org To: svn-soc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Message-Id: <20120703023435.B78FC1065673@hub.freebsd.org> Cc: Subject: socsvn commit: r238881 - soc2012/syuu/bhyve-bios/usr.sbin/bhyvebiosload X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Jul 2012 02:34:37 -0000 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];