From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: [PATCH] xen: don't use PCI BIOS service for configuration space accesses Date: Mon, 16 Apr 2012 11:10:45 -0400 Message-ID: <20120416151045.GH1903@phenom.dumpdata.com> References: <1334318915-9083-1-git-send-email-david.vrabel@citrix.com> <4F883848020000780007DCD2@nat28.tlf.novell.com> <4F88222F.7050703@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: <4F88222F.7050703@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: David Vrabel Cc: Jan Beulich , xen-devel List-Id: xen-devel@lists.xenproject.org On Fri, Apr 13, 2012 at 01:55:11PM +0100, David Vrabel wrote: > On 13/04/12 13:29, Jan Beulich wrote: > >>>> On 13.04.12 at 14:08, David Vrabel wrote: > >> From: David Vrabel > >> > >> The accessing PCI configuration space with the PCI BIOS service does > >> not work in PV guests. > >> > >> This fixes boot on systems without MMCONFIG or where the BIOS hasn't > >> marked the MMCONFIG region as reserved in the e820 map. > > > > ... and where "direct" access doesn't work either? Are there really > > machines where Xen works on but this doesn't work? (Or, in case > > this is disabled in your config, is it really useful to have > > CONFIG_PCI_DIRECT disabled?) > > If you have CONFIG_PCI_GOANY (the default) BIOS is preferred over > direct. So this change makes it skip BIOS and fall back to direct. > > On the system I had saw the problem, the first call into the BIOS > service would hang the system. > > > That's just a comment on the description, the patch itself is fine > > nevertheless (but should probably be sent to the x86 and/or PCI > > maintainers). > > I was expecting Konrad to pick it up and forward it to the relevant > maintainer as appropriate. Konrad, would you prefer if I sent to direct? You can send it to me. But I think it makes sense to stick this in arch/x86/pci/xen.c - if it is not to late in teh bootup cycle? > > >> Signed-off-by: David Vrabel > > > > Acked-by: Jan Beulich > > > >> Cc: stable@kernel.org > >> --- > >> arch/x86/xen/enlighten.c | 5 ++++- > >> 1 files changed, 4 insertions(+), 1 deletions(-) > >> > >> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c > >> index b132ade..dbb5bb7 100644 > >> --- a/arch/x86/xen/enlighten.c > >> +++ b/arch/x86/xen/enlighten.c > >> @@ -63,6 +63,7 @@ > >> #include > >> #include > >> #include > >> +#include > >> > >> #ifdef CONFIG_ACPI > >> #include > >> @@ -1365,7 +1366,9 @@ asmlinkage void __init xen_start_kernel(void) > >> /* Make sure ACS will be enabled */ > >> pci_request_acs(); > >> } > >> - > >> + > >> + /* PCI BIOS service won't work from a PV guest. */ > >> + pci_probe &= ~PCI_PROBE_BIOS; > >> > >> xen_raw_console_write("about to get started...\n"); > >> > >> -- > >> 1.7.2.5 > >> > >> > >> _______________________________________________ > >> Xen-devel mailing list > >> Xen-devel@lists.xen.org > >> http://lists.xen.org/xen-devel > > > > > >