pcib allocation failure

John Baldwin jhb at freebsd.org
Wed Jun 8 17:56:41 UTC 2011


On Wednesday, June 08, 2011 11:20:17 am deeptech71 at gmail.com wrote:
> On Tue, Jun 7, 2011 at 4:35 PM, John Baldwin <jhb at freebsd.org> wrote:
> found->	vendor=0x1002, dev=0x4170, revid=0x00
> 	domain=0, bus=1, slot=0, func=1
> 	class=03-80-00, hdrtype=0x00, mfdev=0
> 	cmdreg=0x0007, statreg=0x02b0, cachelnsz=4 (dwords)
> 	lattimer=0x40 (1920 ns), mingnt=0x08 (2000 ns), maxlat=0x00 (0 ns)
> 	powerspec 2  supports D0 D1 D2 D3  current D0
> 	map[10]: type Prefetchable Memory, range 32, base 0xe0000000, size 28, enabled
> pcib1: attempting to grow prefetch window for (0xe0000000-0xefffffff,0x10000000)
> pcib1: attempting to grow memory window for (0xe0000000-0xefffffff,0x10000000)

Odd, I'm not sure why this failed.  Hmm, it seems this was always failing for
you though in the older dmesg's though.

Hmmm, can you revert all your changes to pci_pci.c and try just this change:

Index: pci_pci.c
===================================================================
--- pci_pci.c	(revision 222863)
+++ pci_pci.c	(working copy)
@@ -953,7 +975,7 @@ pcib_grow_window(struct pcib_softc *sc, struct pci
 		 * ok, ensure it is properly aligned for this window.
 		 * Also check for overflow.
 		 */
-		if (back <= end && start_free <= back) {
+		if (back <= end + 1 && start_free <= back) {
 			if (bootverbose)
 				printf("\tback candidate range: %#lx-%#lx\n",
 				    start_free, back);

-- 
John Baldwin


More information about the freebsd-current mailing list