From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KNXv5-0003IP-20 for qemu-devel@nongnu.org; Mon, 28 Jul 2008 14:58:07 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KNXv4-0003I1-Cv for qemu-devel@nongnu.org; Mon, 28 Jul 2008 14:58:06 -0400 Received: from [199.232.76.173] (port=46605 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KNXv4-0003Ht-5g for qemu-devel@nongnu.org; Mon, 28 Jul 2008 14:58:06 -0400 Received: from savannah.gnu.org ([199.232.41.3]:39287 helo=sv.gnu.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1KNXv3-0001wE-MB for qemu-devel@nongnu.org; Mon, 28 Jul 2008 14:58:05 -0400 Received: from cvs.savannah.gnu.org ([199.232.41.69]) by sv.gnu.org with esmtp (Exim 4.63) (envelope-from ) id 1KNXv1-00021O-BT for qemu-devel@nongnu.org; Mon, 28 Jul 2008 18:58:03 +0000 Received: from aliguori by cvs.savannah.gnu.org with local (Exim 4.63) (envelope-from ) id 1KNXv1-00021G-43 for qemu-devel@nongnu.org; Mon, 28 Jul 2008 18:58:03 +0000 MIME-Version: 1.0 Errors-To: aliguori Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From: Anthony Liguori Message-Id: Date: Mon, 28 Jul 2008 18:58:03 +0000 Subject: [Qemu-devel] [4957] vmware backdoor interface fix (Chris Lalancette) Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Revision: 4957 http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=4957 Author: aliguori Date: 2008-07-28 18:58:02 +0000 (Mon, 28 Jul 2008) Log Message: ----------- vmware backdoor interface fix (Chris Lalancette) VMWare backdoor interface should work with IN/OUT port ops, but currently only IN is supported. BOCHS bios uses OUT to query UUID. The patch adds OUT support. Signed-off-by: Chris Lalancette Signed-off-by: Anthony Liguori Modified Paths: -------------- trunk/hw/vmport.c Modified: trunk/hw/vmport.c =================================================================== --- trunk/hw/vmport.c 2008-07-28 18:55:32 UTC (rev 4956) +++ trunk/hw/vmport.c 2008-07-28 18:58:02 UTC (rev 4957) @@ -72,6 +72,13 @@ return s->func[command](s->opaque[command], addr); } +static void vmport_ioport_write(void *opaque, uint32_t addr, uint32_t val) +{ + CPUState *env = cpu_single_env; + + env->regs[R_EAX] = vmport_ioport_read(opaque, addr); +} + static uint32_t vmport_cmd_get_version(void *opaque, uint32_t addr) { CPUState *env = cpu_single_env; @@ -89,6 +96,7 @@ void vmport_init(void) { register_ioport_read(0x5658, 1, 4, vmport_ioport_read, &port_state); + register_ioport_write(0x5658, 1, 4, vmport_ioport_write, &port_state); /* Register some generic port commands */ vmport_register(VMPORT_CMD_GETVERSION, vmport_cmd_get_version, NULL);