cvs commit: src/sys/dev/acpica acpi_pcib_acpi.c src/sys/i386/pci
pci_bus.c
Scott Long
scottl at samsco.org
Fri Sep 16 12:21:42 PDT 2005
Warner Losh wrote:
> imp 2005-09-16 07:02:29 UTC
>
> FreeBSD src repository
>
> Modified files:
> sys/dev/acpica acpi_pcib_acpi.c
> sys/i386/pci pci_bus.c
> Log:
> Commit a workaround to a problem with resource allocation. This helps
> with some Dell servers that booted w/o a problem[*] on 5.4, but failed
> with 6.0-BETA.
>
> On the PCI bus, when we do lazy resource allocation, we narrow the
> range requested as we pass through bridges to reflect how the bridges
> are programmed and what addresses they pass. However, when we're
> doing an allocation on a bus that's directly connected to a host
> bridge, no such translation can take place. We already had a fallback
> range for memory requests, but none for ioports. As such, provide a
> fallback for I/O ports so we don't allocate location 0, which will
> have undesired side effects when the resources are actually used.
>
> This fixes a problem with booting a Dell server with usb in the
> kernel. However, it is an unsatisfying solution. I don't like the
> hard coded value, and I think we should start narrowing the resources
> returned to not be in the so-called isa alias area (where the ranage &
> 0x0300 must be 0 iirc). Doing such filtering will have to wait for
> another day.
>
> This may be a good 6 candidate, maybe after its had a chance to be
> refined.
>
> Tested by: glebius@
>
> Revision Changes Path
> 1.49 +2 -0 src/sys/dev/acpica/acpi_pcib_acpi.c
> 1.120 +2 -0 src/sys/i386/pci/pci_bus.c
Only the ACPI side of this patch works. The legacy PCI side has no
effect on the problem.
Scott
More information about the cvs-all
mailing list