Re: pcib allocation failure

From: John Baldwin <jhb_at_freebsd.org>
Date: Wed, 8 Jun 2011 13:56:39 -0400
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)
_at__at_ -953,7 +975,7 _at__at_ 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
Received on Wed Jun 08 2011 - 15:56:41 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:14 UTC