Author: myles
Date: Mon Sep 13 16:43:02 2010
New Revision: 5805
URL: https://tracker.coreboot.org/trac/coreboot/changeset/5805

Log:
Print an error and correct pci scan limits.  Skip sb700 ISA DMA init if needed.

Signed-off-by: Juhana Helovuo <[email protected]>
Acked-by: Myles Watson <[email protected]>

Modified:
   trunk/src/devices/pci_device.c
   trunk/src/southbridge/amd/sb700/Kconfig
   trunk/src/southbridge/amd/sb700/sb700_lpc.c

Modified: trunk/src/devices/pci_device.c
==============================================================================
--- trunk/src/devices/pci_device.c      Mon Sep 13 15:23:20 2010        (r5804)
+++ trunk/src/devices/pci_device.c      Mon Sep 13 16:43:02 2010        (r5805)
@@ -1019,6 +1019,14 @@
        printk(BIOS_DEBUG, "PCI: pci_scan_bus for bus %02x\n", bus->secondary);
 #endif
 
+       // Maximum sane devfn is 0xFF
+       if (max_devfn > 0xff) {
+               printk(BIOS_ERR, "PCI: pci_scan_bus limits devfn %x - devfn 
%x\n",
+                          min_devfn, max_devfn );
+               printk(BIOS_ERR, "PCI: pci_scan_bus upper limit too big. Using 
0xff.\n");
+               max_devfn=0xff;
+       }
+
        old_devices = bus->children;
        bus->children = NULL;
 

Modified: trunk/src/southbridge/amd/sb700/Kconfig
==============================================================================
--- trunk/src/southbridge/amd/sb700/Kconfig     Mon Sep 13 15:23:20 2010        
(r5804)
+++ trunk/src/southbridge/amd/sb700/Kconfig     Mon Sep 13 16:43:02 2010        
(r5805)
@@ -20,3 +20,9 @@
 config SOUTHBRIDGE_AMD_SB700
        bool
        select IOAPIC
+
+config SOUTHBRIDGE_AMD_SB700_SKIP_ISA_DMA_INIT
+       bool
+       default n
+       depends on SOUTHBRIDGE_AMD_SB700
+

Modified: trunk/src/southbridge/amd/sb700/sb700_lpc.c
==============================================================================
--- trunk/src/southbridge/amd/sb700/sb700_lpc.c Mon Sep 13 15:23:20 2010        
(r5804)
+++ trunk/src/southbridge/amd/sb700/sb700_lpc.c Mon Sep 13 16:43:02 2010        
(r5805)
@@ -42,7 +42,11 @@
        pci_write_config32(sm_dev, 0x64, dword);
 
        /* Initialize isa dma */
+#if CONFIG_SOUTHBRIDGE_AMD_SB700_SKIP_ISA_DMA_INIT
+       printk(BIOS_DEBUG, "Skipping isa_dma_init() to avoid getting stuck.\n");
+#else
        isa_dma_init();
+#endif
 
        /* Enable DMA transaction on the LPC bus */
        byte = pci_read_config8(dev, 0x40);

-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to