Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 27 Apr 2011 17:49:11 GMT
From:      John Baldwin <jhb@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 192200 for review
Message-ID:  <201104271749.p3RHnBtB029596@skunkworks.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/@@192200?ac=10

Change 192200 by jhb@jhb_jhbbsd on 2011/04/27 17:48:46

	Honor acpi_host_mem_start when allocating I/O windows for
	PCI-PCI bridges.  I think we might want to honor host_mem_start
	for any allocation that isn't fixed (i.e. where start + count - 1
	== end).

Affected files ...

.. //depot/projects/pci/sys/dev/acpica/acpi_pcib_acpi.c#8 edit

Differences ...

==== //depot/projects/pci/sys/dev/acpica/acpi_pcib_acpi.c#8 (text+ko) ====

@@ -551,10 +551,16 @@
      * found to do it.  This is typically only used on older laptops
      * that don't have pci busses behind pci bridge, so assuming > 32MB
      * is likely OK.
+     *
+     * PCI-PCI bridges may not allocate smaller ranges for their windows,
+     * but the heuristics here should apply to those, so we allow several
+     * different end addresses.
      */
-    if (type == SYS_RES_MEMORY && start == 0UL && end == ~0UL)
+    if (type == SYS_RES_MEMORY && start == 0UL && (end == ~0UL ||
+	end == 0xffffffff))
 	start = acpi_host_mem_start;
-    if (type == SYS_RES_IOPORT && start == 0UL && end == ~0UL)
+    if (type == SYS_RES_IOPORT && start == 0UL && (end == ~0UL ||
+	end == 0xffff || end == 0xffffffff))
 	start = 0x1000;
     return (bus_generic_alloc_resource(dev, child, type, rid, start, end,
 	count, flags));



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201104271749.p3RHnBtB029596>