Subject: Re: X11 on Ultra 2 using 32 bit kernel and user land.
To: None <port-sparc64@NetBSD.org>
From: Jochen Kunz <jkunz@unixag-kl.fh-kl.de>
List: port-sparc64
Date: 04/19/2007 19:05:18
On Wed, 18 Apr 2007 14:18:12 -0400
Michael Lorenz <macallan@netbsd.org> wrote:

> Look at the Makefile in src/x11/Xserver/hw/xfree86/drivers/ - there's=20
> bunch of .if ${ARCH} which control what drivers to build.
I enabled sunffb in the mentioned Makefile. The following build faild
with:
#   compile  sunffb/ffb_accel.o
[...]
/var/tmp//ccJ1UAZt.s: Assembler messages:
/var/tmp//ccJ1UAZt.s:143: Error: Architecture mismatch on "sllx".
/var/tmp//ccJ1UAZt.s:143:  (Requires v9|v9a|v9b; requested architecture
is sparclite.)
/var/tmp//ccJ1UAZt.s:146: Error: Architecture mismatch on "stx".
/var/tmp//ccJ1UAZt.s:146:  (Requires v9|v9a|v9b; requested architecture
is sparclite.)

As this build will be instaled on US hardware only I added to
/etc/mk.conf:
.if ${MACHINE} =3D=3D "sparc"
CFLAGS+=3D-mcpu=3Dv9
.endif
and restarted the build.

Sidenote: If we can get this to work I sugest to add -mcpu=3Dv9 for this
single file only. Only US machines have sunffb, so -mcpu=3Dv9 should not
hurd. (?)

The build faild because distrib/sets/lists/xserver/md.sparc was missing
./usr/X11R6/lib/modules/drivers/sunffb_drv.o
./usr/X11R6/man/cat4/sunffb.0
./usr/X11R6/man/man4/sunffb.4

I fixed this, restarted the build and finaly got a build that was
halfway build with -mcpu=3Dv9 and without the other half. I instaled the
resulted Xserver, run XFree86 -configure and got a /root/XF86Config.new.
So far, so good. But when I tried to run the server it gave me:
(EE) SUNFFB: Failed to load module "xf8_32wid" (module does not exist, 0)

How to get past this?

I am currently running a clean rebuild with -mcpu=3Dv9. It failed in Mesa
because some #ifdef asumes __sparc_v9__ =3D=3D 64 bit. Maybe it is not a
good idea to build sparc with -mcpu=3Dv9?
--=20


tsch=FC=DF,
       Jochen

Homepage: http://www.unixag-kl.fh-kl.de/~jkunz/