Date: Sat, 18 Apr 2009 16:25:27 -0500 From: Nathan Whitehorn <nwhitehorn@freebsd.org> To: Andreas Tobler <andreast-list@fgznet.ch> Cc: FreeBSD PowerPC ML <freebsd-ppc@freebsd.org> Subject: Re: X11 CURRENT and non-altivec based macs Message-ID: <49EA4547.8010508@freebsd.org> In-Reply-To: <49EA2A57.1040100@fgznet.ch> References: <49EA2A57.1040100@fgznet.ch>
next in thread | previous in thread | raw e-mail | index | archive | help
Andreas Tobler wrote: > Hi all, > > I discovered a nasty issue which hits all non-altivec based ppc > systems, mostly G3, there are some 7400 w/o altivec, which want to use > X11. > > When you upgraded to -CURRENT and latest Xorg stuff including > pixman-0.15.2 you'll hit a coredump when starting X with a > recent/decent wm. > > Analyzing the coredump of Xorg led me to this: > > #0 0x21b9e494 in pixman_have_vmx () from > /usr/local/lib/libpixman-1.so.9 Cannot find new threads: generic error > > A closer look into the build of pixman showed me that it was built > with altivec support. No go on my G3. > > I helped myself with the below patch in the ports Makefile. But I do > not know if the other ppc users 'have' real working Altivec support. > We have Altivec support since a few moons in the kernel. Thanks Nathan! > I know we build the kernel w/o Altivec. How do we want to build user > applications/packages? Also w/o altivec or with? > > We can either adjust the ports Makefile or try to fixup the pixman > sources. They are currently 'fixed' for apple and linux only. Fixed in > terms of runtime detection of Altivec capability. (see > pixman/pixman-pict.c) > > Do we have already a sysctl telling us we have altivec, I do not see > such a sysctl? > > Suggestions? > In case of disabling vmx on all ppc based systems, who do I need to > ping, x11@freebsd.org? Could you provide some more information than this (versions of X11, pixman and name/version of the window manager)? I just tested the non-Apple/non-Linux VMX detection code in pixman and it appears to work properly. Providing a sysctl turned out to be problematic since PowerPC CPUs, unlike x86, do not provide a features mask. You either have to have a table of CPUs and capabilities, or try the instructions you want to know about and see if you get SIGILL. We could do this in the kernel and provide a sysctl, but you can do the more-portable SIGILL just as easily from userspace, and this is what pixman currently does. -Nathan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?49EA4547.8010508>