Changing how PCI-PCI bridges do resource allocation

John Baldwin jhb at freebsd.org
Mon Apr 25 19:15:10 UTC 2011


On Wednesday, April 20, 2011 4:38:30 am Alexander Motin wrote:
> Hi.
> 
> On 19.04.2011 21:50, John Baldwin wrote:
> > I've already had at least one testing report that this fixes the issues with
> > some machines' BIOS clearing the I/O windows on some PCI-PCI bridges when ACPI
> > is enabled as this code re-discovers the original windows and programs them
> > correctly.  More testing would be good however.
> 
> I would like this helped my Acer TM6292 which also has alike problems 
> with missing PCIe bridge resources, but unluckily it doesn't.
> 
> Here is verbose dmesg when my system uses this dirty hack:
> http://people.freebsd.org/~mav/tm6292_pcie.patch
>   to restore bridges resources to the pre-ACPI state:
> http://people.freebsd.org/~mav/dmesg.boot.hacks
> 
> Here is respective `pciconf -lvcb` output:
> http://people.freebsd.org/~mav/pciconf.hacks
> 
> Here is dmesg with patches, but without NEW_PCIB:
> http://people.freebsd.org/~mav/dmesg.boot.olbpcib
> 
> Here is dmesg with patches with NEW_PCIB:
> http://people.freebsd.org/~mav/dmesg.boot.newpcib

Ah, your problem is we pick bad ranges when we alloc fresh resources for your
bridges.  I am working on making that better for ACPI, but for now you can try
setting hw.acpi.host_mem_start to a value like '0xf0000000' in loader.conf.

Although, it looks like it is not being honored currently.  Try adding a printf
in acpi_pcib_alloc_resource() in sys/dev/acpica/acpi_pcib_acpi.c to log the
type, start, and end of each resource range.

-- 
John Baldwin


More information about the freebsd-arch mailing list