[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 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?

>> 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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.