On Saturday 08 November 2008 12:44:21 pm Jia-Shiun Li wrote:
> On Thu, Sep 25, 2008 at 8:35 PM, John Baldwin wrote:
> >
> > I'm not sure. Probably other OS's aren't using this a lot yet so it is just
> > buggy BIOS. Linux has a rather silly SMAP-related check (requires an
> > explicit SMAP region that covers the memcfg area) that effectively disables
> > memcfg on most boxes, so Linux probably isn't using it on your hardware
> > either.

>
> I attached the board to firewire console. The system goes wrong at the
> second PCIB_READ_CONFIG() of pci_add_map(). That's strange because the
> first read and write to the BAR works.


Try this. It ensures the PCI-e window is mapped UC (though MTRR's should
already cover that in theory):

--- //depot/user/jhb/acpipci/i386/pci/pci_cfgreg.c
+++ /home/jhb/work/p4/acpipci/i386/pci/pci_cfgreg.c
@@ -634,7 +634,7 @@
pmap_kremove(elem->vapage);
invlpg(elem->vapage);
}
- pmap_kenter(elem->vapage, papage);
+ pmap_kenter_attr(elem->vapage, papage, PAT_UNCACHEABLE);
elem->papage = papage;
}

--
John Baldwin
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/lis...reebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"