[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] xen: don't use PCI BIOS service for configuration space accesses
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 <david.vrabel@xxxxxxxxxx> wrote: > >> From: David Vrabel <david.vrabel@xxxxxxxxxx> > >> > >> 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 <david.vrabel@xxxxxxxxxx> > > > > Acked-by: Jan Beulich <jbeulich@xxxxxxxx> > > > >> Cc: stable@xxxxxxxxxx > >> --- > >> 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 <asm/stackprotector.h> > >> #include <asm/hypervisor.h> > >> #include <asm/mwait.h> > >> +#include <asm/pci_x86.h> > >> > >> #ifdef CONFIG_ACPI > >> #include <linux/acpi.h> > >> @@ -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@xxxxxxxxxxxxx > >> http://lists.xen.org/xen-devel > > > > > > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |