1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-20 11:11:24 +00:00

For older systems with ACPI which don't have a pci <-> pci bridge,

allocate unallocated memory resources from the top 32MB of the address
space rather than the top 2GB.  While the latter works on some
chipsets, it fails badly on others.  32MB is more conservative and
matches what cheap harware from this era is hardwired to pass.
This commit is contained in:
Warner Losh 2004-10-06 07:26:52 +00:00
parent 0b3a486f21
commit 5cee9db399
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=136189

View File

@ -305,16 +305,16 @@ acpi_pcib_acpi_alloc_resource(device_t dev, device_t child, int type, int *rid,
u_long start, u_long end, u_long count, u_int flags)
{
/*
* If no memory preference is given, use upper 2GB slot most
* If no memory preference is given, use upper 32MB slot most
* bioses use for their memory window. Typically other bridges
* before us get in the way to assert their preferences on memory.
* Hardcoding like this sucks, so a more MD/MI way needs to be
* found to do it. This is typically only used on older laptops
* that don't have pci busses behind pci bridge, so assuming < 2GB
* that don't have pci busses behind pci bridge, so assuming > 32MB
* is liekly OK.
*/
if (type == SYS_RES_MEMORY && start == 0UL && end == ~0UL)
start = 0x80000000;
start = 0xfe000000;
return (bus_generic_alloc_resource(dev, child, type, rid, start, end,
count, flags));
}