Author: gonzo
Date: Tue Aug 27 01:40:13 2013
New Revision: 254946
URL: http://svnweb.freebsd.org/changeset/base/254946

Log:
  Fixes for compatibility with QEMU:
  
  - Route PCI interrupt for NIC
  - Make "no mapping" warning more user-friendly: add device name and mention
      that it's IRQ mapping
  - Do not overlap ICUs' IO window with PCI devices' IO windows by starting
      IO rman at offset 0x100

Modified:
  head/sys/mips/malta/gt_pci.c

Modified: head/sys/mips/malta/gt_pci.c
==============================================================================
--- head/sys/mips/malta/gt_pci.c        Tue Aug 27 01:31:12 2013        
(r254945)
+++ head/sys/mips/malta/gt_pci.c        Tue Aug 27 01:40:13 2013        
(r254946)
@@ -266,8 +266,12 @@ gt_pci_attach(device_t dev)
        sc->sc_io = MIPS_PHYS_TO_KSEG1(MALTA_PCI0_IO_BASE);
        sc->sc_io_rman.rm_type = RMAN_ARRAY;
        sc->sc_io_rman.rm_descr = "GT64120 PCI I/O Ports";
+       /* 
+        * First 256 bytes are ISA's registers: e.g. i8259's
+        * So do not use them for general purpose PCI I/O window
+        */
        if (rman_init(&sc->sc_io_rman) != 0 ||
-               rman_manage_region(&sc->sc_io_rman, 0, 0xffff) != 0) {
+           rman_manage_region(&sc->sc_io_rman, 0x100, 0xffff) != 0) {
                panic("gt_pci_attach: failed to set up I/O rman");
        }
 
@@ -568,8 +572,10 @@ gt_pci_route_interrupt(device_t pcib, de
                 * PIIX4 IDE adapter. HW IRQ0
                 */
                return 0;
+       case 11: /* Ethernet */
+               return 10;
        default:
-               printf("No mapping for %d/%d/%d/%d\n", bus, device, func, pin);
+               device_printf(pcib, "no IRQ mapping for %d/%d/%d/%d\n", bus, 
device, func, pin);
                
        }
        return (0);
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to