Subject: xsrc/25036: Fatal server error on PowerBook
To: None <gnats-bugs@gnats.netbsd.org>
From: None <kristerw@netbsd.org>
List: netbsd-bugs
Date: 04/03/2004 12:39:01
>Number: 25036
>Category: xsrc
>Synopsis: Fatal server error on PowerBook
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: xsrc-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Apr 03 12:40:01 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator: Krister Walfridsson
>Release: NetBSD 1.6ZL
>Organization:
>Environment:
NetBSD macppc 1.6ZL NetBSD 1.6ZL (KWA) #0: Tue Mar 30 00:15:02 CEST 2004 cato@pc:/usr/local/tmp/nbsd040328/src/sys/arch/macppc/compile/KWA macppc
Architecture: powerpc
Machine: macppc
>Description:
Trying
XFree86 -configure
on my PowerBook fails with the error
Fatal server error:
xf86MapVidMem: could not mmap screen [s=40000,a=c0000] (Invalid argument)
When reporting a problem related to a server crash, please send
the full server output, not just the last messages.
This can be found in the log file "/var/log/XFree86.0.log".
Please report problems to xfree86@xfree86.org.
That is, it tries to map a frame buffer at the address 0xc0000, which
according to a comment in the code is the legacy V_BIOS range on the
ISA bus.
The code in question is protected by #ifdef _PC, and the Imakefile
does define this for i386 and amd64 only, but building from the NetBSD
src/x11 defines it for all architectures.
>How-To-Repeat:
>Fix:
The patch below fix my problem (but I'm not sure if some more of our
more obscure architectures might want to define _PC too...)
Index: Makefile
===================================================================
RCS file: /cvsroot/src/x11/Xserver/hw/xfree86/int10/Makefile,v
retrieving revision 1.3
diff -u -r1.3 Makefile
--- Makefile 7 Feb 2004 06:52:07 -0000 1.3
+++ Makefile 3 Apr 2004 12:32:38 -0000
@@ -13,7 +13,11 @@
prim_ops.c sys.c
CPPFLAGS+= -D__DRIVER__ -DFORCE_POST -D_CEXPORT= -DNO_LONG_LONG \
- -D_X86EMU -D_PC
+ -D_X86EMU
+
+.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
+CPPFLAGS+= -D_PC
+.endif
CPPFLAGS+= -I${X11SRCDIR.xc}/programs/Xserver/hw/xfree86/common \
-I${X11SRCDIR.xc}/programs/Xserver/hw/xfree86/os-support \
>Release-Note:
>Audit-Trail:
>Unformatted: