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: