diff options
author | Martin Bochnig <mb1x@gmx.com> | 2006-06-26 01:52:24 +0200 |
---|---|---|
committer | Alan Coopersmith <alanc@alf.(none)> | 2006-06-29 16:25:36 -0700 |
commit | 6bd4c254396cb0f4e8ae21ff455ebb15cd9f4f10 (patch) | |
tree | d64670db668ae991ec233e8a42c652ceb2598f8f /hw/xfree86 | |
parent | 54d9acd5113318274e291abab4554b8e678227df (diff) |
Updated Solaris aperture driver to build on sun4v & amd64 kernels
Updated for Solaris 10 changes to DDI
Diffstat (limited to 'hw/xfree86')
-rw-r--r-- | hw/xfree86/os-support/solaris/apSolaris.shar | 378 |
1 files changed, 208 insertions, 170 deletions
diff --git a/hw/xfree86/os-support/solaris/apSolaris.shar b/hw/xfree86/os-support/solaris/apSolaris.shar index c8e2cfa49..a3548f7b4 100644 --- a/hw/xfree86/os-support/solaris/apSolaris.shar +++ b/hw/xfree86/os-support/solaris/apSolaris.shar @@ -1,40 +1,28 @@ #!/bin/sh -# $XFree86$ -# This is a shell archive (produced by GNU sharutils 4.2c). -# To extract the files from this archive, save it to some FILE, remove -# everything before the `!/bin/sh' line above, then type `sh FILE'. # -# Made on 2002-10-04 13:41 MDT by <root@abcyxhiz>. -# Source directory was `/archives'. +# This is a shell archive. Save it in a file, remove anything before +# this line, and then unpack it by entering "sh file". Note, it may +# create directories; files and directories will be owned by you and +# have default permissions. +# Made on Sun Jun 25 20:24:59 CEST 2006 by Martin Bochnig at martux.org # -# Existing files will *not* be overwritten unless `-c' is specified. -# This format requires very little intelligence at unshar time. -# "if test", "echo", "mkdir", and "sed" may be needed. +# This archive contains: # -# This shar contains: -# length mode name -# ------ ---------- ------------------------------------------ -# 1521 -rw-r--r-- aperture/Makefile -# 1659 -rw-r--r-- aperture/README -# 7557 -rw-r--r-- aperture/aperture.c -# 450 -rw-r--r-- aperture/aperture.conf -# 87 -rw-r--r-- aperture/devlink.tab -# 1062 -rw-r--r-- aperture/Makefile.sun4u +# ./aperture +# +# ./aperture/Makefile +# ./aperture/Makefile.amd64 +# ./aperture/Makefile.sparcv9 +# ./aperture/README +# ./aperture/aperture.c +# ./aperture/aperture.conf +# ./aperture/devlink.tab # -echo=echo -shar_tty= shar_n= shar_c=' -' -mkdir _sh09806 || ( echo 'failed to create locking directory' '_sh09806'; exit 1 ) -# ============= aperture/Makefile ============== -if test ! -d 'aperture'; then - $echo $echo_n 'x -' 'aperture: '$echo_c - if mkdir 'aperture'; then $echo 'created'; else $echo 'failed to create'; fi -fi -if test -f 'aperture/Makefile' && test "$first_param" != -c; then - $echo 'x -' SKIPPING 'aperture/Makefile' '(file already exists)' -else - $echo 'x -' extracting 'aperture/Makefile' '(text)' - sed 's/^X//' << 'SHAR_EOF' > 'aperture/Makefile' && +echo c - ./aperture +mkdir -p ./aperture > /dev/null 2>&1 +# +echo x - ./aperture/Makefile +sed 's/^X//' >./aperture/Makefile << 'END-of-./aperture/Makefile' X# X# File: makefile for aperture Framebuffer Driver X# Author: Doug Anson (danson@lgc.com) @@ -46,14 +34,22 @@ X# Modified: Marc Aurele La France (tsi@xfree86.org) X# Date: 2001.06.08 X# - SPARC support, cleanup and turf aptest. X# -X# >>NOTE<< Have a look at Makefile.sun4u for sun4u specifics. +X# >>NOTE<< Have a look at Makefile.sparcv9 for specifics. +X# +X# Modified: Martin Bochnig (martin@martux.org) +X# Date: 2006.06.24 +X# - Slightly modified to also build on Solaris 10 and 11. +X# - amd64 64 bit kernel support +X# - cosmetical changes to also support sun4v, not only sun4u +X# +X# >>NOTE<< Have a look at Makefile.amd64 for amd64 specifics. X# X# GNU gcc compiler XCC=gcc XCFLGS=-fno-builtin -Wall -O3 X X# -X# Proworks compiler +X# SUNWspro compiler X#CC=/opt/SUNWspro/bin/cc X#CFLGS=-Xa -xnolib -xO3 X @@ -75,26 +71,26 @@ X# Make rules Xall: $(DRIVER) X X$(DRIVER): $(OBJS) -X @if [ -f "Makefile.`uname -m`" ]; then \ -X make -f Makefile.`uname -m` $(DRIVER); \ +X @if [ -f "Makefile.`isainfo -k`" ]; then \ +X make -f Makefile.`isainfo -k` $(DRIVER); \ X else \ X rm -f $(DRIVER); \ X ld -r -o $(DRIVER) $(OBJS); \ X fi X Xinstall: $(DRIVER) -X @if [ -f "Makefile.`uname -m`" ]; then \ -X make -f Makefile.`uname -m` install; \ +X @if [ -f "Makefile.`isainfo -k`" ]; then \ +X make -f Makefile.`isainfo -k` install; \ X else \ X cp aperture.conf /kernel/drv; \ X cp $(DRIVER) /kernel/drv; \ X fi X Xadd_drv: -X @if [ -f "Makefile.`uname -m`" ]; then \ -X make -f Makefile.`uname -m` add_drv; \ +X @if [ -f "Makefile.`isainfo -k`" ]; then \ +X make -f Makefile.`isainfo -k` add_drv; \ X else \ -X add_drv /kernel/drv/aperture; \ +X add_drv aperture; \ X fi X Xclean: @@ -106,29 +102,156 @@ X.c.i: X $(CC) -E $(CFLAGS) $*.c > $@ X X.c.o: -X @if [ -f "Makefile.`uname -m`" ]; then \ -X make -f Makefile.`uname -m` $@; \ +X @if [ -f "Makefile.`isainfo -k`" ]; then \ +X make -f Makefile.`isainfo -k` $@; \ X else \ X rm -f $@; \ X $(CC) -c $(CFLAGS) $*.c -o $@; \ X fi -SHAR_EOF - : || $echo 'restore of' 'aperture/Makefile' 'failed' -fi -# ============= aperture/README ============== -if test -f 'aperture/README' && test "$first_param" != -c; then - $echo 'x -' SKIPPING 'aperture/README' '(file already exists)' -else - $echo 'x -' extracting 'aperture/README' '(text)' - sed 's/^X//' << 'SHAR_EOF' > 'aperture/README' && -XFramebuffer apperture driver. +END-of-./aperture/Makefile +echo x - ./aperture/Makefile.amd64 +sed 's/^X//' >./aperture/Makefile.amd64 << 'END-of-./aperture/Makefile.amd64' +X# +X# File: Makefile for aperture Framebuffer Driver +X# Author: Doug Anson (danson@lgc.com) +X# Date: 2/15/94 +X# Modified: David Holland (davidh@use.com) +X# Date: 2/23/94 +X# - Changed name, and debugging structure +X# Modified: Marc Aurele La France (tsi@xfree86.org) +X# Date: 2001.06.08 +X# - SPARC support, cleanup and turf aptest. +X# Modified: Martin Bochnig (martin@martux.org) +X# - amd64 64 bit kernel support, cosmetics and also +X# supporting sun4v (and arbitrary sparcv9) platforms +X# as well as SunOS 5.10 or higher now +X# - Changed name +X# +X +X# +X# GNU gcc compiler, version 3.2 or later +X# +XCC=gcc +XCFLGS=-fno-builtin -Wall -O3 -m64 -mcmodel=kernel +X +X# +X# SUNWspro compiler (untested, might not properly work for amd64 here) +X#CC=/opt/SUNWspro/bin/cc +X#CFLGS=-Xa -xarch=v9 -xnolib -xO3 +X +X# +X# Debug error reporting +X#DEBUG_FLG= +X#DEBUG_FLG=-DAPERTURE_DEBUG +X +X# +X# Files and object declarations +XKERNEL_FLGS=-D_KERNEL -DSUNDDI +XCFLAGS= $(CFLGS) $(KERNEL_FLGS) $(DEBUG_FLG) +XCFILES= aperture.c +XOBJS= aperture.o +XDRIVER= aperture +X +X# +X# Make rules +Xall: $(DRIVER) +X +X$(DRIVER): $(OBJS) +X rm -f $(DRIVER) +X ld -r -o $(DRIVER) $(OBJS) +X +Xinstall: $(DRIVER) +X cp aperture.conf /kernel/drv +X cp $(DRIVER) /kernel/drv/amd64 +X +Xadd_drv: +X add_drv aperture +X +Xclean: +X rm -f *% *.BAK $(OBJS) $(DRIVER) core +X +X.SUFFIXES: .i +X +X.c.i: +X $(CC) -E $(CFLAGS) $*.c > $@ +END-of-./aperture/Makefile.amd64 +echo x - ./aperture/Makefile.sparcv9 +sed 's/^X//' >./aperture/Makefile.sparcv9 << 'END-of-./aperture/Makefile.sparcv9' +X# +X# File: makefile for aperture Framebuffer Driver +X# Author: Doug Anson (danson@lgc.com) +X# Date: 2/15/94 +X# Modified: David Holland (davidh@use.com) +X# Date: 2/23/94 +X# - Changed name, and debugging structure +X# Modified: Marc Aurele La France (tsi@xfree86.org) +X# Date: 2001.06.08 +X# - SPARC support, cleanup and turf aptest. +X# Modified: Martin Bochnig (martin@martux.org) +X# Date: 2006.06.24 +X# - Changed name for generic sparcv9 support +X# - updated to better work with Solaris 10 and 11 +X# +X +X# +X# GNU gcc compiler, version 3.2 or later +X# +XCC=gcc +XCFLGS=-fno-builtin -Wall -O3 -m64 +X +X# +X# SUNWspro compiler +X#CC=/opt/SUNWspro/bin/cc +X#CFLGS=-Xa -xarch=v9 -xnolib -xO3 +X +X# +X# Debug error reporting +X#DEBUG_FLG= +X#DEBUG_FLG=-DAPERTURE_DEBUG +X +X# +X# Files and object declarations +XKERNEL_FLGS=-D_KERNEL -DSUNDDI +XCFLAGS= $(CFLGS) $(KERNEL_FLGS) $(DEBUG_FLG) +XCFILES= aperture.c +XOBJS= aperture.o +XDRIVER= aperture +X +X# +X# Make rules +Xall: $(DRIVER) +X +X$(DRIVER): $(OBJS) +X rm -f $(DRIVER) +X ld -r -o $(DRIVER) $(OBJS) +X +Xinstall: $(DRIVER) +X cp aperture.conf /kernel/drv +X cp $(DRIVER) /kernel/drv/sparcv9 +X +Xadd_drv: +X add_drv aperture +X +Xclean: +X rm -f *% *.BAK $(OBJS) $(DRIVER) core +X +X.SUFFIXES: .i +X +X.c.i: +X $(CC) -E $(CFLAGS) $*.c > $@ +END-of-./aperture/Makefile.sparcv9 +echo x - ./aperture/README +sed 's/^X//' >./aperture/README << 'END-of-./aperture/README' +XFramebuffer aperture driver. X XThis driver was written to provide a device that, unlike /dev/mem, allows Xmmap()'ing of ranges beyond installed memory. X -XThe original x86-based version of this driver was the corroborative work of +XThe original x86-based version of this driver was the collaborative work of XDoug Anson (danson@lgc.com), and David Holland (davidh@use.com). It has since -Xbeen rewritten to also work on sun4u machines. +Xbeen rewritten to also work on sparc machines and - later on - also on sparcv9 +Xand recently amd64 64 bit kernels. +XIt flawlessly compiles and installs on Solaris 10 and 11 now. X X XInstallation instructions: @@ -137,23 +260,23 @@ X1) Check the Makefile, for appropriate CC, and CFLAGS definitions. Compiling X with APERTURE_DEBUG defined means the driver will generate reams of X debugging output. You'll probably want to leave this off... X -X2) type 'make'. The driver and test program should compile with out any -X problems. There also should not be any warning messages. +X2) Type 'make' (or 'gmake'). Both the driver and test program should compile +X without any problems. No warning messages should be generated. X X3) Become 'root'. X -X4) type 'make install' and 'make add_drv'. The screen should look something +X4) Type 'make install' and 'make add_drv'. The screen should look something X like this: X X # make install X cp aperture aperture.conf /kernel/drv X # make add_drv -X add_drv /kernel/drv/aperture +X add_drv aperture X -X On a sun4u machine this will mention the /kernel/drv/sparcv9 directory -X instead of /kernel/drv. +X On a sparcv9 machine this will mention the /kernel/drv/sparcv9 directory +X instead of /kernel/drv. Similarily /kernel/drv/amd64 should be used on amd64. X -X This installs the driver in the system. +X This installs the driver to the system. X X5) While as root modify the file /etc/devlink.tab, adding these lines: X @@ -163,7 +286,7 @@ X X Add that line exactly as shown. You may also simply add the X contents of the devlink.tab file supplied to /etc/devlink.tab. X It contains the lines as well. (Yes, that is a tab between -X aperture, and fbs, not spaces - very important) +X aperture and fbs, not spaces - very important) X X6) Perform a reconfiguration boot of the system. X @@ -171,15 +294,9 @@ X # touch /reconfigure X # init 6 X XBug reports, questions, suggestions, etc can be sent to xfree86@xfree86.org. -SHAR_EOF - : || $echo 'restore of' 'aperture/README' 'failed' -fi -# ============= aperture/aperture.c ============== -if test -f 'aperture/aperture.c' && test "$first_param" != -c; then - $echo 'x -' SKIPPING 'aperture/aperture.c' '(file already exists)' -else - $echo 'x -' extracting 'aperture/aperture.c' '(text)' - sed 's/^X//' << 'SHAR_EOF' > 'aperture/aperture.c' && +END-of-./aperture/README +echo x - ./aperture/aperture.c +sed 's/^X//' >./aperture/aperture.c << 'END-of-./aperture/aperture.c' X/* X * Copyright (C) 2001 The XFree86 Project, Inc. All Rights Reserved. X * @@ -210,6 +327,13 @@ X/* X * Aperture driver for Solaris. X */ X +X/* +X * Modified: Martin Bochnig (martin@martux.org) +X * Log: Commented out obsolete kernel interfaces DDI_IDENTIFIED and DDI_NOT_IDENTIFIED +X * not supported by SunOS 5.10 or higher anymore, +X * see http://docs.sun.com/app/docs/doc/819-2255/6n4ibnffr?a=view +X */ +X X#include <sys/conf.h> X#include <sys/ddi.h> X#include <sys/modctl.h> @@ -412,9 +536,9 @@ X X#endif X X if (strcmp(ddi_get_name(dip), DEV_IDENT)) -X error = DDI_NOT_IDENTIFIED; +X error = 1 /* DDI_NOT_IDENTIFIED obsolete since SunOS 5.10 */ ; X else -X error = DDI_IDENTIFIED; +X error = 2 /* DDI_IDENTIFIED obsolete since SunOS 5.10 */ ; X X#ifdef APERTURE_DEBUG X @@ -465,7 +589,7 @@ X else X { X error = ddi_create_minor_node(dip, ddi_get_name(dip), S_IFCHR, X (minor_t)ddi_get_instance(dip), -X NULL, NODESPECIFIC_DEV); +X NULL, 0 /* NODESPECIFIC_DEV obsolete since SunOS 5.10 */ ); X X if (error == DDI_SUCCESS) X { @@ -653,15 +777,9 @@ X#endif X X return error; X} -SHAR_EOF - : || $echo 'restore of' 'aperture/aperture.c' 'failed' -fi -# ============= aperture/aperture.conf ============== -if test -f 'aperture/aperture.conf' && test "$first_param" != -c; then - $echo 'x -' SKIPPING 'aperture/aperture.conf' '(file already exists)' -else - $echo 'x -' extracting 'aperture/aperture.conf' '(text)' - sed 's/^X//' << 'SHAR_EOF' > 'aperture/aperture.conf' && +END-of-./aperture/aperture.c +echo x - ./aperture/aperture.conf +sed 's/^X//' >./aperture/aperture.conf << 'END-of-./aperture/aperture.conf' X# X# Copyright 1994 Doug Anson, danson@lgc.com & David Holland, davidh@use.com X# @@ -678,91 +796,11 @@ X# X# Purpose: This conf file is used by the aperture driver. X# Xname="aperture" parent="pseudo"; -SHAR_EOF - : || $echo 'restore of' 'aperture/aperture.conf' 'failed' -fi -# ============= aperture/devlink.tab ============== -if test -f 'aperture/devlink.tab' && test "$first_param" != -c; then - $echo 'x -' SKIPPING 'aperture/devlink.tab' '(file already exists)' -else - $echo 'x -' extracting 'aperture/devlink.tab' '(text)' - sed 's/^X//' << 'SHAR_EOF' > 'aperture/devlink.tab' && +END-of-./aperture/aperture.conf +echo x - ./aperture/devlink.tab +sed 's/^X//' >./aperture/devlink.tab << 'END-of-./aperture/devlink.tab' X# The following entry is for the aperture driver Xtype=ddi_pseudo;name=aperture fbs/\M0 -SHAR_EOF - : || $echo 'restore of' 'aperture/devlink.tab' 'failed' -fi -# ============= aperture/Makefile.sun4u ============== -if test -f 'aperture/Makefile.sun4u' && test "$first_param" != -c; then - $echo 'x -' SKIPPING 'aperture/Makefile.sun4u' '(file already exists)' -else - $echo 'x -' extracting 'aperture/Makefile.sun4u' '(text)' - sed 's/^X//' << 'SHAR_EOF' > 'aperture/Makefile.sun4u' && -X# -X# File: makefile for aperture Framebuffer Driver -X# Author: Doug Anson (danson@lgc.com) -X# Date: 2/15/94 -X# Modified: David Holland (davidh@use.com) -X# Date: 2/23/94 -X# - Changed name, and debugging structure -X# Modified: Marc Aurele La France (tsi@xfree86.org) -X# Date: 2001.06.08 -X# - SPARC support, cleanup and turf aptest. -X# -X -X# -X# GNU gcc compiler, version 3.2 or later -X# -XCC=gcc -XCFLGS=-fno-builtin -Wall -O3 -m64 -X -X# -X# Proworks compiler -X#CC=/opt/SUNWspro/bin/cc -X#CFLGS=-Xa -xarch=v9 -xnolib -xO3 -X -X# -X# Debug error reporting -X#DEBUG_FLG= -X#DEBUG_FLG=-DAPERTURE_DEBUG -X -X# -X# Files and object declarations -XKERNEL_FLGS=-D_KERNEL -DSUNDDI -XCFLAGS= $(CFLGS) $(KERNEL_FLGS) $(DEBUG_FLG) -XCFILES= aperture.c -XOBJS= aperture.o -XDRIVER= aperture -X -X# -X# Make rules -Xall: $(DRIVER) -X -X$(DRIVER): $(OBJS) -X rm -f $(DRIVER) -X ld -r -o $(DRIVER) $(OBJS) -X -Xinstall: $(DRIVER) -X cp aperture.conf /kernel/drv -X cp $(DRIVER) /kernel/drv/sparcv9 -X -Xadd_drv: -X add_drv /kernel/drv/sparcv9/aperture -X -Xclean: -X rm -f *% *.BAK $(OBJS) $(DRIVER) core -X -X.SUFFIXES: .i -X -X.c.i: -X $(CC) -E $(CFLAGS) $*.c > $@ -SHAR_EOF - : || $echo 'restore of' 'aperture/Makefile.sun4u' 'failed' -fi -$echo $shar_n 'x -' 'lock directory' "\`_sh09806': " $shar_c -if rm -fr _sh09806; then - $echo 'removed' -else - $echo 'failed to remove' -fi -exit 0 +END-of-./aperture/devlink.tab +exit + |