From patchwork Fri May 4 13:29:46 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Vrabel X-Patchwork-Id: 156933 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 6DA1AB6FD1 for ; Fri, 4 May 2012 23:30:10 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754010Ab2EDNaJ (ORCPT ); Fri, 4 May 2012 09:30:09 -0400 Received: from smtp.ctxuk.citrix.com ([62.200.22.115]:34032 "EHLO SMTP.EU.CITRIX.COM" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756056Ab2EDNaI (ORCPT ); Fri, 4 May 2012 09:30:08 -0400 X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12298981" Received: from lonpmailmx01.citrite.net ([10.30.203.162]) by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5; 04 May 2012 13:30:06 +0000 Received: from norwich.cam.xci-test.com (10.80.248.129) by smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012 14:30:06 +0100 Received: from spare.cam.xci-test.com ([10.80.2.76] helo=qabil.uk.xensource.com) by norwich.cam.xci-test.com with esmtp (Exim 4.72) (envelope-from ) id 1SQIaE-00020X-7J; Fri, 04 May 2012 13:30:06 +0000 From: David Vrabel To: CC: David Vrabel , Konrad Rzeszutek Wilk , , Subject: [PATCH v2] x86, xen, pci: don't use PCI BIOS service for configuration space accesses Date: Fri, 4 May 2012 14:29:46 +0100 Message-ID: <1336138186-11423-1-git-send-email-david.vrabel@citrix.com> X-Mailer: git-send-email 1.7.2.5 MIME-Version: 1.0 Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org From: David Vrabel The accessing PCI configuration space with the PCI BIOS32 service does not work in PV guests. On systems without MMCONFIG or where the BIOS hasn't marked the MMCONFIG region as reserved in the e820 map, the BIOS service is probed (even though direct access is preferred) and this hangs. Signed-off-by: David Vrabel Acked-by: Jan Beulich --- Changes in v2: - improve commit message --- 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 a8f8844..7ce2c78 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");