From owner-freebsd-xen@FreeBSD.ORG Mon Sep 9 11:53:20 2013 Return-Path: Delivered-To: freebsd-xen@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 2EF19E21 for ; Mon, 9 Sep 2013 11:53:20 +0000 (UTC) (envelope-from roger.pau@citrix.com) Received: from SMTP02.CITRIX.COM (smtp02.citrix.com [66.165.176.63]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 581A22E18 for ; Mon, 9 Sep 2013 11:53:18 +0000 (UTC) X-IronPort-AV: E=Sophos;i="4.90,866,1371081600"; d="scan'208,223";a="49561525" Received: from accessns.citrite.net (HELO FTLPEX01CL03.citrite.net) ([10.9.154.239]) by FTLPIPO02.CITRIX.COM with ESMTP; 09 Sep 2013 11:53:08 +0000 Received: from LONPEX01CL02.citrite.net (10.30.203.102) by FTLPEX01CL03.citrite.net (10.13.107.80) with Microsoft SMTP Server (TLS) id 14.2.342.4; Mon, 9 Sep 2013 07:53:08 -0400 Received: from [172.16.1.30] (10.30.203.1) by LONPEX01CL02.citrite.net (10.30.203.102) with Microsoft SMTP Server id 14.2.342.4; Mon, 9 Sep 2013 12:53:06 +0100 Message-ID: <522DB6A2.5050205@citrix.com> Date: Mon, 9 Sep 2013 13:53:06 +0200 From: =?ISO-8859-1?Q?Roger_Pau_Monn=E9?= User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:17.0) Gecko/20130801 Thunderbird/17.0.8 MIME-Version: 1.0 To: "Eggert, Lars" Subject: Re: Xen 4.2 PV fails to boot -CURRENT PV domU References: <455A20DD-3985-45EC-AC51-A3AFD33180F1@netapp.com> In-Reply-To: <455A20DD-3985-45EC-AC51-A3AFD33180F1@netapp.com> Content-Type: multipart/mixed; boundary="------------020403000602090806070209" X-Originating-IP: [10.30.203.1] X-DLP: MIA1 Cc: "freebsd-xen@freebsd.org" X-BeenThere: freebsd-xen@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussion of the freebsd port to xen - implementation and usage List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Sep 2013 11:53:20 -0000 --------------020403000602090806070209 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit On 09/09/13 11:19, Eggert, Lars wrote: > Hi, > > I'm trying to run a recent-CURRENT XEN i386 kernel in a Xen 4.2 PV domU. > > I had to add the following options to the kernel config file in order to compile the XEN kernel: > > makeoptions WITHOUT_MODULES+="mlx4 mlx4ib mlxen mthca" > > The resulting kernel compiles, but fails to boot. Attached is the log. Any ideas? This is due to the unification of event channel implementations. I'm attaching a patch that should fix the issue (at least when using only one vcpu). The i386 Xen PV port doesn't fill the data in struct pcpu, so we end up with uninitialised values there which are required for the new event channel implementation. Maybe someone with more knowledge of the Xen i386 PV port can provide a better solution. If you plan to use the i386 PV port you will also need to revert r244237 in order for it to work. May I ask if there's anything that prevents you from switching to the PVHVM port? I wouldn't recommend using the i386 PV port. Roger. --------------020403000602090806070209 Content-Type: text/plain; charset="UTF-8"; x-mac-type=0; x-mac-creator=0; name="0001-xen-set-acpi_id-for-i386-PV-port.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0001-xen-set-acpi_id-for-i386-PV-port.patch" >From 0429a1ba5bdbca844e9a798df13396e1ee11aae0 Mon Sep 17 00:00:00 2001 From: Roger Pau Monne Date: Mon, 9 Sep 2013 11:53:15 +0200 Subject: [PATCH] xen: set acpi_id for i386 PV port Set a 'fake' acpi_id for the i386 PV port, it is needed in order to use VIRQs or IPI event channels. --- sys/i386/xen/mp_machdep.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/sys/i386/xen/mp_machdep.c b/sys/i386/xen/mp_machdep.c index 274598f..4e4c07d 100644 --- a/sys/i386/xen/mp_machdep.c +++ b/sys/i386/xen/mp_machdep.c @@ -251,6 +251,9 @@ cpu_add(u_int apic_id, char boot_cpu) if (bootverbose) printf("SMP: Added CPU %d (%s)\n", apic_id, boot_cpu ? "BSP" : "AP"); + + /* Set the ACPI id (it is needed by VCPU operations) */ + pcpu_find(apic_id)->pc_acpi_id = apic_id; } void -- 1.7.7.5 (Apple Git-26) --------------020403000602090806070209--