Subject: port-i386/24567: cardbus #defines set badly for machines with >1G RAM
To: None <gnats-bugs@gnats.NetBSD.org>
From: None <perry@piermont.com>
List: netbsd-bugs
Date: 02/26/2004 16:48:33
>Number: 24567
>Category: port-i386
>Synopsis: cardbus #defines set badly for machines with >1G RAM
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: port-i386-maintainer
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Feb 26 21:49:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator: Perry E. Metzger
>Release: NetBSD 1.6ZK
>Organization:
Perry E. Metzger perry@piermont.com
--
"Ask not what your country can force other people to do for you..."
>Environment:
System: NetBSD hackworth 1.6ZK NetBSD 1.6ZK (HACKWORTH) #0: Thu Feb 26 16:24:25 EST 2004 perry@hackworth:/usr/src/sys/arch/i386/compile/HACKWORTH i386
Architecture: i386
Machine: i386
>Description:
If you try to use cardbus devices on an x86 box with more than 1G
of memory, you'll unhappily find that it fails.
This is because sys/arch/i386/i386/rbus_machdep.c arbitrarily decides
it can allocate at the 1G line. That was probably fine when the code
was written, but these days it is bad.
The offending code is:
#ifndef RBUS_MIN_START
#define RBUS_MIN_START 0x40000000 /* 1GB */
#endif
You can work around this by setting RBUS_MIN_START higher, but
apparently you can still get into trouble on some systems depending on
what is allocated in memory space and where.
>How-To-Repeat:
Get an x86 laptop with >1G of RAM. Note that cardbus loses.
>Fix:
Unclear. ACPI might be part of the answer, but a fix that
doesn't depend on it on non-ACPI machines would be of great
use.
>Release-Note:
>Audit-Trail:
>Unformatted: