aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2004-10-06 07:26:52 +0000
committerWarner Losh <imp@FreeBSD.org>2004-10-06 07:26:52 +0000
commit5cee9db399852967270556ae73d47dc5341c477e (patch)
tree2efe89eee0ceaf67c9ff36e42afccc0a3b9b5736
parent0b3a486f21b89b2fa3a94056f2f3c11bc36c8f18 (diff)
downloadsrc-5cee9db399852967270556ae73d47dc5341c477e.tar.gz
src-5cee9db399852967270556ae73d47dc5341c477e.zip
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.
Notes
Notes: svn path=/head/; revision=136189
-rw-r--r--sys/dev/acpica/acpi_pcib_acpi.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/dev/acpica/acpi_pcib_acpi.c b/sys/dev/acpica/acpi_pcib_acpi.c
index 350bb89b6e56..30777643e7dd 100644
--- a/sys/dev/acpica/acpi_pcib_acpi.c
+++ b/sys/dev/acpica/acpi_pcib_acpi.c
@@ -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));
}