WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-4.1-testing] Revert c/s 23666:b96f8bdcaa15 KEXEC: d

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-4.1-testing] Revert c/s 23666:b96f8bdcaa15 KEXEC: disconnect all PCI devices from the PCI bus on crash
From: Xen patchbot-4.1-testing <patchbot@xxxxxxx>
Date: Sun, 13 Nov 2011 00:11:14 +0000
Delivery-date: Sat, 12 Nov 2011 16:11:36 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
# Date 1321114442 0
# Node ID 9702967e89dd005a8b3f24eb1d10c46712c2e3ed
# Parent  55879870fc8f8bb004325146d0c183a2d756ce35
Revert c/s 23666:b96f8bdcaa15 KEXEC: disconnect all PCI devices from the PCI 
bus on crash

It turns out that this causes all mannor of problems on certain
motherboards (so far with no pattern I can discern)

Problems include:
* Hanging forever checking hlt instruction.
* Panics when trying to change switch root device
* Drivers hanging when trying to check for interrupts.

From: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Signed-off-by: Keir Fraser <keir@xxxxxxx>
Committed-by: Keir Fraser <keir@xxxxxxx>
xen-unstable changeset:   24137:0844b17df7a9
xen-unstable date:        Fri Nov 11 18:14:35 2011 +0000
---


diff -r 55879870fc8f -r 9702967e89dd xen/arch/x86/crash.c
--- a/xen/arch/x86/crash.c      Sat Nov 12 16:11:21 2011 +0000
+++ b/xen/arch/x86/crash.c      Sat Nov 12 16:14:02 2011 +0000
@@ -28,7 +28,6 @@
 #include <asm/apic.h>
 #include <asm/io_apic.h>
 #include <xen/iommu.h>
-#include <xen/pci.h>
 #include <asm/hpet.h>
 
 static atomic_t waiting_for_crash_ipi;
@@ -83,8 +82,6 @@
         msecs--;
     }
 
-    disconnect_pci_devices();
-
     /* Crash shutdown any IOMMU functionality as the crashdump kernel is not
      * happy when booting if interrupt/dma remapping is still enabled */
     iommu_crash_shutdown();
diff -r 55879870fc8f -r 9702967e89dd xen/drivers/passthrough/pci.c
--- a/xen/drivers/passthrough/pci.c     Sat Nov 12 16:11:21 2011 +0000
+++ b/xen/drivers/passthrough/pci.c     Sat Nov 12 16:14:02 2011 +0000
@@ -499,25 +499,6 @@
     return 0;
 }
 
-/* Disconnect all PCI devices from the PCI buses. From the PCI spec:
- *   "When a 0 is written to [the COMMAND] register, the device is
- *    logically disconnected from the PCI bus for all accesses except
- *    configuration accesses. All devices are required to support
- *    this base level of functionality."
- */
-void disconnect_pci_devices(void)
-{
-    struct pci_dev *pdev;
-
-    spin_lock(&pcidevs_lock);
-
-    list_for_each_entry ( pdev, &alldevs_list, alldevs_list )
-        pci_conf_write16(pdev->bus, PCI_SLOT(pdev->devfn),
-                         PCI_FUNC(pdev->devfn), PCI_COMMAND, 0);
-
-    spin_unlock(&pcidevs_lock);
-}
-
 #ifdef SUPPORT_MSI_REMAPPING
 static void dump_pci_devices(unsigned char ch)
 {
diff -r 55879870fc8f -r 9702967e89dd xen/include/xen/pci.h
--- a/xen/include/xen/pci.h     Sat Nov 12 16:11:21 2011 +0000
+++ b/xen/include/xen/pci.h     Sat Nov 12 16:14:02 2011 +0000
@@ -94,8 +94,6 @@
 struct pci_dev *pci_get_pdev(int bus, int devfn);
 struct pci_dev *pci_get_pdev_by_domain(struct domain *d, int bus, int devfn);
 
-void disconnect_pci_devices(void);
-
 uint8_t pci_conf_read8(
     unsigned int bus, unsigned int dev, unsigned int func, unsigned int reg);
 uint16_t pci_conf_read16(

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-4.1-testing] Revert c/s 23666:b96f8bdcaa15 KEXEC: disconnect all PCI devices from the PCI bus on crash, Xen patchbot-4 . 1-testing <=