From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Vrabel Subject: Re: [PATCH] xen: don't use PCI BIOS service for configuration space accesses Date: Fri, 13 Apr 2012 13:55:11 +0100 Message-ID: <4F88222F.7050703@citrix.com> References: <1334318915-9083-1-git-send-email-david.vrabel@citrix.com> <4F883848020000780007DCD2@nat28.tlf.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <4F883848020000780007DCD2@nat28.tlf.novell.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: Jan Beulich Cc: Konrad Rzeszutek Wilk , xen-devel List-Id: xen-devel@lists.xenproject.org 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? >> 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 > > >