From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46176) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VGVsm-0003dw-Dy for qemu-devel@nongnu.org; Mon, 02 Sep 2013 11:17:41 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VGVsg-0005fZ-VL for qemu-devel@nongnu.org; Mon, 02 Sep 2013 11:17:36 -0400 Received: from smtp.citrix.com ([66.165.176.89]:63185) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VGVsg-0005fC-RC for qemu-devel@nongnu.org; Mon, 02 Sep 2013 11:17:30 -0400 From: Anthony PERARD Date: Mon, 2 Sep 2013 16:16:42 +0100 Message-ID: <1378135002-10052-3-git-send-email-anthony.perard@citrix.com> In-Reply-To: <1378135002-10052-1-git-send-email-anthony.perard@citrix.com> References: <1378135002-10052-1-git-send-email-anthony.perard@citrix.com> MIME-Version: 1.0 Content-Type: text/plain Subject: [Qemu-devel] [PATCH v2 2/2] pc_q35: Initialize Xen. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Peter Maydell , "Michael S. Tsirkin" , Stefano Stabellini , Anthony Liguori , Anthony PERARD , Paolo Bonzini , =?UTF-8?q?Andreas=20F=C3=A4rber?= Signed-off-by: Anthony PERARD --- Right now, starting an HVM with Q35 chipset those not works because HVMLoader (the Xen pre-bios) look for the standard chipset i440FX. Especialy the PCI/ISA bridge. Error message from HVMLoader: assertion '(devfn != PCI_ISA_DEVFN) || ((vendor_id == 0x8086) && (device_id == 0x7000))' with PCI_ISA_DEVFN 0x08 /* dev 1, fn 0 */ --- hw/i386/pc_q35.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index 198c785..51b93f0 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -76,6 +76,11 @@ static void pc_q35_init(QEMUMachineInitArgs *args) DeviceState *icc_bridge; PcGuestInfo *guest_info; + if (xen_enabled() && xen_hvm_init(&ram_memory) != 0) { + fprintf(stderr, "xen hardware virtual machine initialisation failed\n"); + exit(1); + } + icc_bridge = qdev_create(NULL, TYPE_ICC_BRIDGE); object_property_add_child(qdev_get_machine(), "icc-bridge", OBJECT(icc_bridge), NULL); -- Anthony PERARD