The problem comes from having an 80K video bios (0xc0000 -> 0xd3ffff).
This breaks two things:
1: the default pccard (oldcard) address is 0xd0000 and overlaps with the
rom, which causes pccardd to see garbage instead of the CIS>
2: XFree86 carefully calculates the size of the ROM, and then memcpy's
all 80K of it onto a 64K stack buffer. Sigh.
~ports/x11/XFree86-4/work/xc/programs/Xserver/hw/xfree86/drivers/ati-114> diff-u2 /tmp/atipreinit.c.badshit atipreinit.c
--- /tmp/atipreinit.c.BADSHIT Mon Nov 6 09:20:18 2000
+++ atipreinit.c Sun Oct 29 15:09:13 2000
@@ -327,5 +327,5 @@
-# define BIOS_SIZE 0x00010000U /* 64kB */
+# define BIOS_SIZE 0x00014000U /* 80kB */
CARD8 BIOS[BIOS_SIZE], *pBIOS;
# define BIOSByte(_n) (*((CARD8 *)(BIOS + (_n))))
This is just an expedient hack to get it working for me. It needs to be fixed
3: NEWCARD doesn't seem to have any way to change the CIS window address.
It merrily maps into 0xd0000 and then explodes in the kernel probe due to
the "garbage" CIS there.
After getting over the initial hurdles, I'm pretty happy with it. It isn't
quite a Dell Inspiron 5000e, but it is close enough.. :-)
Peter Wemm - pet...@FreeBSD.org; pet...@yahoo-inc.com; pet...@netplex.com.au
"All of this is for nothing if we don't go to the stars" - JMS/B5
To Unsubscribe: send mail to majo...@FreeBSD.org
with "unsubscribe freebsd-mobile" in the body of the message