./tmp/_lbl/prd=gpisup/typ=ku386/rel=1.0.0a/vol=01 444 0 0 0 5624372160 13765 ./tmp/perms/gpisup 644 0 0 6473 5624372161 7342 #prd=gpisup #typ=ku386 #rel=1.0.0a #set="SCO Multiprocessing Drivers EFS Release 3.4" #ser="" # # # User id's: # uid root 0 uid bin 2 uid sysinfo 11 # # Group id's: # gid root 0 gid other 1 gid bin 2 gid sys 3 gid mem 20 # # #!ALL 626 Entire SCO Multiprocessing Drivers EFS Release 3.4 Set # # PERM F644 root/root 1 ./tmp/perms/gpisup 01 PERM F700 root/root 1 ./tmp/perms/prep.gpisup 01 # # #!NCRMP 80 SCO MP Driver for NCR 3360 and 3430 platforms # NCRMP F500 root/root 1 ./tmp/init.ncrmp 01 NCRMP F644 root/sys 1 ./usr/lib/custom/gpisup/ID/ncrmp/Driver.o 01 NCRMP F644 root/sys 1 ./usr/lib/custom/gpisup/ID/ncrmp/Space.c 01 NCRMP F644 root/sys 1 ./usr/lib/custom/gpisup/ID/ncrmp/System 01 NCRMP F644 root/sys 1 ./usr/lib/custom/gpisup/ID/ncrmp/Master 01 NCRMP f500 root/other 1 ./usr/lib/custom/gpisup.rmv 01 # #!SYSPROXL 88 SCO MP Driver for Compaq ProLiant 2000 and 4000 platforms # SYSPROXL F500 root/root 1 ./tmp/init.sysproxl 01 SYSPROXL F644 root/sys 1 ./usr/lib/custom/gpisup/ID/sysproxl/Driver.o 01 SYSPROXL F644 root/sys 1 ./usr/lib/custom/gpisup/ID/sysproxl/Space.c 01 SYSPROXL F644 root/sys 1 ./usr/lib/custom/gpisup/ID/sysproxl/System 01 SYSPROXL F644 root/sys 1 ./usr/lib/custom/gpisup/ID/sysproxl/Master 01 SYSPROXL f500 root/other 1 ./usr/lib/custom/gpisup.rmv 01 # #!WYSE 118 SCO MP Driver for Wyse 7000 Model 740 and 760 platforms # WYSE F500 root/root 1 ./tmp/init.wyse 01 WYSE F644 root/sys 1 ./usr/lib/custom/gpisup/ID/wyse/Driver.o 01 WYSE F644 root/sys 1 ./usr/lib/custom/gpisup/ID/wyse/Space.c 01 WYSE F644 root/sys 1 ./usr/lib/custom/gpisup/ID/wyse/System 01 WYSE F644 root/sys 1 ./usr/lib/custom/gpisup/ID/wyse/Master 01 WYSE f500 root/other 1 ./usr/lib/custom/gpisup.rmv 01 # #!APIC 130 SCO APIC MP Driver Release 1.1 # APIC F500 root/root 1 ./tmp/init.apic 01 APIC F644 root/sys 1 ./usr/lib/custom/gpisup/ID/apic/Driver.o 01 APIC F644 root/sys 1 ./usr/lib/custom/gpisup/ID/apic/Space.c 01 APIC D644 root/sys 1 ./usr/lib/custom/gpisup/ID/apic/Stubs.c 00 APIC F644 root/sys 1 ./usr/lib/custom/gpisup/ID/apic/System 01 APIC F644 root/sys 1 ./usr/lib/custom/gpisup/ID/apic/Master 01 APIC f500 root/other 1 ./usr/lib/custom/gpisup.rmv 01 # #!OLIMPX 76 SCO MP Driver for Olivetti 5030 and 5040 platforms # OLIMPX F500 root/root 1 ./tmp/init.olimpx 01 OLIMPX F644 root/sys 1 ./usr/lib/custom/gpisup/ID/olimpx/Driver.o 01 OLIMPX F644 root/sys 1 ./usr/lib/custom/gpisup/ID/olimpx/Space.c 01 OLIMPX F644 root/sys 1 ./usr/lib/custom/gpisup/ID/olimpx/System 01 OLIMPX F644 root/sys 1 ./usr/lib/custom/gpisup/ID/olimpx/Master 01 OLIMPX f500 root/other 1 ./usr/lib/custom/gpisup.rmv 01 # #!OLIMPXP5 96 SCO MP Driver for Olivetti 5050 platform # OLIMPXP5 F500 root/root 1 ./tmp/init.olimpxp5 01 OLIMPXP5 F644 root/sys 1 ./usr/lib/custom/gpisup/ID/olimpxp5/Driver.o 01 OLIMPXP5 F644 root/sys 1 ./usr/lib/custom/gpisup/ID/olimpxp5/Space.c 01 OLIMPXP5 F644 root/sys 1 ./usr/lib/custom/gpisup/ID/olimpxp5/System 01 OLIMPXP5 F644 root/sys 1 ./usr/lib/custom/gpisup/ID/olimpxp5/Master 01 OLIMPXP5 f500 root/other 1 ./usr/lib/custom/gpisup.rmv 01 ./tmp/perms/prep.gpisup 700 0 0 33076 5624372130 10313 : # @(#) prep.sh 24.2 94/08/04 # # Copyright (C) 1994 The Santa Cruz Operation, Inc. # All Rights Reserved. # The information in this file is provided for the exclusive use of # the licensees of The Santa Cruz Operation, Inc. Such users have the # right to use, modify, and incorporate this code into other products # for purposes authorized by the license agreement provided they include # this notice and the associated copyright notice with any such product. # The information in this file is provided "AS IS" without warranty. # # # Local definitions. # UFILES="" FFILES="usr/lib/custom/gpisup/ID/olimpxp5/Driver.o usr/lib/custom/gpisup/ID/olimpxp5/Space.c usr/lib/custom/gpisup/ID/olimpxp5/System usr/lib/custom/gpisup/ID/olimpxp5/Master usr/lib/custom/gpisup/ID/olimpx/Driver.o usr/lib/custom/gpisup/ID/olimpx/Space.c usr/lib/custom/gpisup/ID/olimpx/System usr/lib/custom/gpisup/ID/olimpx/Master usr/lib/custom/gpisup/ID/apic/Driver.o usr/lib/custom/gpisup/ID/apic/Space.c usr/lib/custom/gpisup/ID/apic/Stubs.c usr/lib/custom/gpisup/ID/apic/System usr/lib/custom/gpisup/ID/apic/Master usr/lib/custom/gpisup/ID/ncrmp/Driver.o usr/lib/custom/gpisup/ID/ncrmp/Space.c usr/lib/custom/gpisup/ID/ncrmp/System usr/lib/custom/gpisup/ID/ncrmp/Master usr/lib/custom/gpisup/ID/sysproxl/Driver.o usr/lib/custom/gpisup/ID/sysproxl/Space.c usr/lib/custom/gpisup/ID/sysproxl/System usr/lib/custom/gpisup/ID/sysproxl/Master usr/lib/custom/gpisup/ID/wyse/Driver.o usr/lib/custom/gpisup/ID/wyse/Space.c usr/lib/custom/gpisup/ID/wyse/System usr/lib/custom/gpisup/ID/wyse/Master " NFILES="" LFILES="" AFILES="" INSTALLDIR=/ BACKUPDIR=/usr/lib/custom/pre-gpisup INSTTMPDIR= PRODPRD=gpisup PRDVALUE=gpisup PRODSET="SCO Multiprocessing Drivers EFS Release 3.4" BASEPACKDESC="SCO Multiprocessing Drivers EFS Release 3.4" PACKAGES="NCRMP SYSPROXL WYSE APIC OLIMPX OLIMPXP5" MPLIST="\n NCR 3360 and 3430 \n Compaq ProLiant 2000 and 4000\n WYSE 7000 Model 740 and 760 \n SCO APIC MP Driver Release 1.1\n Olivetti LSX 5030 and LSX 5040 \n Olivetti LSX 5050 " export UFILES FFILES NFILES LFILES AFILES BASEPACKDESC export BACKUPDIR INSTALLDIR INSTTMPDIR PRODPRD PRODSET export PRDVALUE PACKAGES # # Common functions. # : # @(#) common.sh 24.1 94/07/06 # # Copyright (C) 1994 The Santa Cruz Operation, Inc. # All Rights Reserved. # The information in this file is provided for the exclusive use of # the licensees of The Santa Cruz Operation, Inc. Such users have the # right to use, modify, and incorporate this code into other products # for purposes authorized by the license agreement provided they include # this notice and the associated copyright notice with any such product. # The information in this file is provided "AS IS" without warranty. # # # Common custom script functions. # #BEGIN_CM_SCRIPTLIB # # Standard CM script function library # configlib V1.0 # Contains: baselib, specificlib # # # Ask if the kernel should be relinked # askklink() { echo " " echo "The kernel link kit has been modified." echo "You must relink the kernel to receive the new functionality." getyn "\nDo you want to relink the kernel at this time ?" || return 1 return 0 } # # Prompt for yes or no answer - returns non-zero for no. # getyn() { while echo "$* (y/n) \c" do read yn rest case $yn in [yY]) return $OK ;; [nN]) return $FAIL ;; *) error "Please answer y or n" ;; esac done return 0 } # # Re-link new kernel. # klink() { # The _RELINK variable is set in the environment if relinking the # kernel is to be delayed as is the case with SAMI. [ "$_RELINK" ] && return 0 CURPWD=`pwd` cd /etc/conf/cf.d ./link_unix || { cd $CURPWD return 1 } cd $CURPWD return 0 } # # Test to see if link kit is installed. # linkchk() { # Set PERM variable used in linkchk(). if [ -f /etc/perms/extmd ]; then PERM=/etc/perms/extmd elif [ -f /etc/perms/inst ]; then PERM=/etc/perms/inst else error "Cannot locate LINK packages permlist. Needed to verify linkkit installation" return 1 fi # Test to see if link kit is installed. until fixperm -i -d LINK $PERM do case $? in 4) echo "\nThe Link Kit is not installed." ;; 5) echo "\nThe Link Kit is only partially installed." ;; *) error "fixperm failed testing for Link Kit. Exiting." return 1 ;; esac # Not fully installed. Do so here. echo "\nThe link kit must be installed to run this program." getyn "\nDo you wish to install it now?" || { # Answered no. echo "\nThe linkkit is not installed." return 1 } # Answered yes, so install the link kit. echo "\nInvoking /etc/custom\n" /etc/custom -o -i LINK || { # Custom exited unsuccessfully. error "Custom failed to install Link Kit successfully." return 1 } done return 0 } # # Standard CM script function library # baselib v1.2 # PATH=/bin:/usr/bin:/etc:. LANG=english_us.ascii # Used when scripts are internationalized. export PATH LANG TMPFILE=/tmp/tmp$$ # Define a temporary file for use if necessary. TMPFILE1=/tmp/tmp1$$ # Define a temporary file for use if necessary. TMPFILE2=/tmp/tmp2$$ # Define a temporary file for use if necessary. # Define return values. : ${OK=0} ${FAIL=1} ${STOP=10} # # Print an error message. # error() { echo "\nError: $*" >&2 return 0 } # # is_inst. # Function determines if a particular package of a product is # installed. # Usage: is_inst # eg. is_inst rts LINK # # The first argument is the name of the permlist for the product # being checked. # The second argument is the name of the package being checked. # The function sets shell variable inst_status to one of these # values: "all", "part", "none", or "unknown", to denote the # state of installation of the package. # The function returns 0 if inst_status was sucessfully determined, # 1 in the case of an error. is_inst () { inst_status=unknown _pl=$1 ; shift || return 1 # Permlist name _pk=$1 ; shift || return 1 # Package name [ "${_pl}" ] || return 1 [ "${_pk}" ] || return 1 [ -f /etc/perms/${_pl} ] || { inst_status=none # Permlist absent return 0 } # Check if package is installed. /etc/fixperm -i -d${_pk} /etc/perms/${_pl} > /dev/null 2>&1 case $? in 0) inst_status=all ;; 4|6) inst_status=none ;; 5) inst_status=part ;; *) inst_status=unknown return 1 ;; esac return 0 } # # Define default traps for critical and non critical code. # setdef_trap() { trap 'echo "\nInterrupted! Exiting"; cleanup 1' 1 2 3 15 return 0 } # # SHOULD BE USED WITH EVERY INSTALLATION SCRIPT # # Set the variable $prdperm to /etc/perms/$PRDVALUE or ./tmp/perms/$PRDVALUE # If the permlist is found, the values for set, prd, ver, typ, rel, # and upd are set from the permlist. # Also determine the OS type, xenix or unix, and set systype accordingly. # # sets following information in exported variables # OSREL: x.x.xy OSTYPE: unix|xenix OSBUS: isa|mc|ambi # OSPRD: OSMCH: # echo "OS Release: $OSREL OS Type: $OSTYPE OS Bus: $OSBUS" # echo "OS PRD Value: $OSPRD OS Machine Type: $OSMCH" # SETVARS1="Permlist not found" SETVARS2="Failed to set values from" SETVARS3="Incorrect prd value in" # Variables set by setvars. prdperm= fixperm=fixperm brand=brand set= prd= typ= rel= ser= upd= systype=unknown setvars() { # Locate fixperm, brand, and the permlist. for _i in /etc ./tmp do [ -f "$_i/fixperm" ] && fixperm=$_i/fixperm [ -f "$_i/brand" ] && brand=$_i/brand [ -f "$_i/perms/$PRDVALUE" ] && prdperm=$_i/perms/$PRDVALUE done [ "$prdperm" ] || { echo "Warning: $PRDVALUE $SETVARS1" >&2 return 1 } # Get the operating system type: case `uname -r` in 2.*) systype=xenix ;; 3.*) systype=unix ;; *) systype=unknown ;; esac # # OS variables setting # OSREL: x.x.xy OSTYPE: unix|xenix OSBUS: isa|mc|ambi # OSPRD: OSMCH: os mch type # OSTYPE=$systype case "$OSTYPE" in unix) eval `sed -n '/^#prd=/s/#//p /^#typ=/s/#//p /^#rel=/s/#//p' /etc/perms/rtsmd` > /dev/null 2>&1 OSREL=$rel OSPRD=$prd OSMCH=$typ # Systems 3.2.3 and later are ambi-architectural, # ie. will work on either mc or isa. case "$OSREL" in 3.2.[012]*) if [ -r /dev/mcapos ] then if grep mcapos /etc/perms/rtsmd > /dev/null 2>&1 then OSBUS=mc else OSBUS=unknown fi else OSBUS=isa fi ;; 3.2.[3-9]*) OSBUS=ambi ;; *) OSBUS=unknown ;; esac ;; xenix) eval `sed -n '/^#prd=/s/#//p /^#typ=/s/#//p /^#rel=/s/#//p' /etc/perms/inst` > /dev/null 2>&1 OSREL=$rel OSPRD=$prd OSMCH=$typ var=`expr $OSMCH : '.*\(..\)$'` if [ "$var" = "MC" -o "$var" = "PS" ] then OSBUS=mc else OSBUS=isa fi ;; *) OSREL=unknown OSTYPE=unknown OSBUS=unknown OSPRD=unknown OSMCH=unknown ;; esac export OSREL OSTYPE OSBUS OSPRD OSMCH # Clear these vars before they are used below. prd= rel= typ= # Extract product info from the permlist. eval `sed -n '/^#set=/s/#//p /^#prd=/s/#//p /^#typ=/s/#//p /^#rel=/s/#//p /^#ser=/s/#//p /^#upd=/s/#//p' $prdperm` || echo "\n$SETVARS2 $prdperm" >&2 # Check the prd value read from the permlist for correctness. case "$prd" in "$PRDVALUE") return 0 ;; *) echo "\n$SETVARS3 $prdperm" >&2 return 1 ;; esac return 0 } # # unset the default trap # unsetdef_trap() { trap '' 1 2 3 15 return 0 } # # Local functions # # Add a device driver to the kernel. The first argument is # a directory which contains the driver components. See # idinstall(ADM) for a description. The second argument is # the name of the driver that is being installed. # # usage adddevicedriver directory driverName # adddevicedriver() { DIRECTORY=$1 DRIVER=$2 OPTS=$3 [ -d $DIRECTORY ] || { echo "Directory $DIRECTORY does not exist" return $FAIL } [ -z $DRIVER ] && return $FAIL CURPWD=`pwd` cd $DIRECTORY if [ ! -d /etc/conf/pack.d/$DRIVER ] then /etc/conf/bin/idinstall -a $OPTS $DRIVER STATUS=$? else /etc/conf/bin/idinstall -u $OPTS $DRIVER STATUS=$? fi cd $CURPWD [ $STATUS -ne 0 ] && return $FAIL return $OK } # Remove a device driver from the kernel. The only # argument is the name of the driver. # # usage removedevicedriver driverName # removedevicedriver() { DRIVER=$1 OPTS=$2 [ -z $DRIVER ] && return $FAIL /etc/conf/bin/idcheck -p $DRIVER if [ $? -eq 0 ] then # Driver is already deinstalled. Return success return $OK fi # If the driver has a list of files which need to get removed # remove this files before restoring backed up files [ -f $SAVEDIR/$DRIVER/removelist ] && { for x in `cat $SAVEDIR/$DRIVER/removelist` do echo "\n\tRemoving $x ..." rm -f $x done rm -f $SAVEDIR/$DRIVER/removelist } # If driver files where backed up in $SAVEDIR/$DRIVER, copy these # files back if [ -d $SAVEDIR/$DRIVER ] then echo "\n\tRestoring driver files from $SAVEDIR/$DRIVER ...\c" ( cd $SAVEDIR/$DRIVER find . -type f -print | cpio -pdamu / > /dev/null >&1 ) rm -rf $SAVEDIR/$DRIVER else /etc/conf/bin/idinstall -d $OPTS $DRIVER fi if [ $? -ne 0 ] then return $FAIL fi return $OK } # Local Functions checkostype() { if [ "$OSTYPE" != "mpx" -a "$OSTYPE" != "unix" ] then echo "This EFS can only be installed on top of SCO MPX or SCO UNIX" return 1 fi return 0 } checkrelease() { release=`uname -X | grep '^Release' | sed 's/Release = //'` case $release in 3.2v4.2) ;; mpx3.0) ;; odt3.0) ;; *) echo "This EFS can only be installed on SCO MPX 3.0 or SCO UNIX 3.2v4.2" return 1 ;; esac return 0 } check_installed_mpx_ver() { mpxperm=/etc/perms/mpx if [ -f $mpxperm ] then release=`sed -n 's/^#rel=\(.*\)$/\1/p' $mpxperm` mpxver=`echo $release | sed 's/\(.*\).$/\1/'` MPXVER=`echo $mpxver | sed 's/\(.*\).$/\1/'` mpxver=`echo $MPXVER | sed 's/\(.*\).$/\1/'` fi } # # Print rights legend. # RIGHTS1=" ------------------------------------------------------------------------ | Copyright (C) 1988-1994 The Santa Cruz Operation, Inc., | | All Rights Reserved | | This Module contains Proprietary Information of | | The Santa Cruz Operation, Inc. and should be treated as Confidential | | | | RESTRICTED RIGHTS LEGEND | | Use, duplication, or disclosure by the United States Government | | is subject to restrictions as set forth in subparagraph (c)(1)(ii) | | of the Rights in Technical Data and Computer Software at | | DFARS 252.227-7013. | | Contractor/Manufacturer is: The Santa Cruz Operation, Inc. | | 400 Encinal Street | | Santa Cruz, CA 95060 | ------------------------------------------------------------------------ " rights () { echo "$RIGHTS1" return 0 } # #MAIN # # Just check to ensure that we are installing on a reasonable OS setvars checkostype || { sleep 20 exit 1 } checkrelease || { sleep 20 exit 1 } check_installed_mpx_ver if [ "$mpxver" != "3.0" ] then echo "SCO MPX 3.0 should be installed before " echo "the $PRODSET.\n" echo "Kernel relink may fail.\n" getyn "Continue with the installation? " || exit 1 fi rights echo "Press to continue" read RUBBISH echo "Please note that this product contains device drivers intended for the following multiprocessor platforms:" echo $MPLIST echo "\nYou should not install this product on other machines." getyn "Continue with the installation? " || exit 1 exit 0 ./tmp/init.ncrmp 500 0 0 33526 5624372132 6772 : # @(#) init.ncrmp 24.2 94/07/07 # # Copyright (C) 1994 The Santa Cruz Operation, Inc. # All Rights Reserved. # The information in this file is provided for the exclusive use of # the licensees of The Santa Cruz Operation, Inc. Such users have the # right to use, modify, and incorporate this code into other products # for purposes authorized by the license agreement provided they include # this notice and the associated copyright notice with any such product. # The information in this file is provided "AS IS" without warranty. # # # Local definitions. # UFILES="" FFILES="usr/lib/custom/gpisup/ID/olimpxp5/Driver.o usr/lib/custom/gpisup/ID/olimpxp5/Space.c usr/lib/custom/gpisup/ID/olimpxp5/System usr/lib/custom/gpisup/ID/olimpxp5/Master usr/lib/custom/gpisup/ID/olimpx/Driver.o usr/lib/custom/gpisup/ID/olimpx/Space.c usr/lib/custom/gpisup/ID/olimpx/System usr/lib/custom/gpisup/ID/olimpx/Master usr/lib/custom/gpisup/ID/apic/Driver.o usr/lib/custom/gpisup/ID/apic/Space.c usr/lib/custom/gpisup/ID/apic/Stubs.c usr/lib/custom/gpisup/ID/apic/System usr/lib/custom/gpisup/ID/apic/Master usr/lib/custom/gpisup/ID/ncrmp/Driver.o usr/lib/custom/gpisup/ID/ncrmp/Space.c usr/lib/custom/gpisup/ID/ncrmp/System usr/lib/custom/gpisup/ID/ncrmp/Master usr/lib/custom/gpisup/ID/sysproxl/Driver.o usr/lib/custom/gpisup/ID/sysproxl/Space.c usr/lib/custom/gpisup/ID/sysproxl/System usr/lib/custom/gpisup/ID/sysproxl/Master usr/lib/custom/gpisup/ID/wyse/Driver.o usr/lib/custom/gpisup/ID/wyse/Space.c usr/lib/custom/gpisup/ID/wyse/System usr/lib/custom/gpisup/ID/wyse/Master " NFILES="" LFILES="" AFILES="" INSTALLDIR=/ BACKUPDIR=/usr/lib/custom/pre-gpisup INSTTMPDIR= PRODPRD=gpisup PRDVALUE=gpisup PRODSET="SCO Multiprocessing Drivers EFS Release 3.4" BASEPACKDESC="SCO Multiprocessing Drivers EFS Release 3.4" PACKAGES="NCRMP SYSPROXL WYSE APIC OLIMPX OLIMPXP5" MPLIST="\n NCR 3360 and 3430 \n Compaq ProLiant 2000 and 4000\n WYSE 7000 Model 740 and 760 \n SCO APIC MP Driver Release 1.1\n Olivetti LSX 5030 and LSX 5040 \n Olivetti LSX 5050 " export UFILES FFILES NFILES LFILES AFILES BASEPACKDESC export BACKUPDIR INSTALLDIR INSTTMPDIR PRODPRD PRODSET export PRDVALUE PACKAGES # # Common functions. # : # @(#) common.sh 24.1 94/07/06 # # Copyright (C) 1994 The Santa Cruz Operation, Inc. # All Rights Reserved. # The information in this file is provided for the exclusive use of # the licensees of The Santa Cruz Operation, Inc. Such users have the # right to use, modify, and incorporate this code into other products # for purposes authorized by the license agreement provided they include # this notice and the associated copyright notice with any such product. # The information in this file is provided "AS IS" without warranty. # # # Common custom script functions. # #BEGIN_CM_SCRIPTLIB # # Standard CM script function library # configlib V1.0 # Contains: baselib, specificlib # # # Ask if the kernel should be relinked # askklink() { echo " " echo "The kernel link kit has been modified." echo "You must relink the kernel to receive the new functionality." getyn "\nDo you want to relink the kernel at this time ?" || return 1 return 0 } # # Prompt for yes or no answer - returns non-zero for no. # getyn() { while echo "$* (y/n) \c" do read yn rest case $yn in [yY]) return $OK ;; [nN]) return $FAIL ;; *) error "Please answer y or n" ;; esac done return 0 } # # Re-link new kernel. # klink() { # The _RELINK variable is set in the environment if relinking the # kernel is to be delayed as is the case with SAMI. [ "$_RELINK" ] && return 0 CURPWD=`pwd` cd /etc/conf/cf.d ./link_unix || { cd $CURPWD return 1 } cd $CURPWD return 0 } # # Test to see if link kit is installed. # linkchk() { # Set PERM variable used in linkchk(). if [ -f /etc/perms/extmd ]; then PERM=/etc/perms/extmd elif [ -f /etc/perms/inst ]; then PERM=/etc/perms/inst else error "Cannot locate LINK packages permlist. Needed to verify linkkit installation" return 1 fi # Test to see if link kit is installed. until fixperm -i -d LINK $PERM do case $? in 4) echo "\nThe Link Kit is not installed." ;; 5) echo "\nThe Link Kit is only partially installed." ;; *) error "fixperm failed testing for Link Kit. Exiting." return 1 ;; esac # Not fully installed. Do so here. echo "\nThe link kit must be installed to run this program." getyn "\nDo you wish to install it now?" || { # Answered no. echo "\nThe linkkit is not installed." return 1 } # Answered yes, so install the link kit. echo "\nInvoking /etc/custom\n" /etc/custom -o -i LINK || { # Custom exited unsuccessfully. error "Custom failed to install Link Kit successfully." return 1 } done return 0 } # # Standard CM script function library # baselib v1.2 # PATH=/bin:/usr/bin:/etc:. LANG=english_us.ascii # Used when scripts are internationalized. export PATH LANG TMPFILE=/tmp/tmp$$ # Define a temporary file for use if necessary. TMPFILE1=/tmp/tmp1$$ # Define a temporary file for use if necessary. TMPFILE2=/tmp/tmp2$$ # Define a temporary file for use if necessary. # Define return values. : ${OK=0} ${FAIL=1} ${STOP=10} # # Print an error message. # error() { echo "\nError: $*" >&2 return 0 } # # is_inst. # Function determines if a particular package of a product is # installed. # Usage: is_inst # eg. is_inst rts LINK # # The first argument is the name of the permlist for the product # being checked. # The second argument is the name of the package being checked. # The function sets shell variable inst_status to one of these # values: "all", "part", "none", or "unknown", to denote the # state of installation of the package. # The function returns 0 if inst_status was sucessfully determined, # 1 in the case of an error. is_inst () { inst_status=unknown _pl=$1 ; shift || return 1 # Permlist name _pk=$1 ; shift || return 1 # Package name [ "${_pl}" ] || return 1 [ "${_pk}" ] || return 1 [ -f /etc/perms/${_pl} ] || { inst_status=none # Permlist absent return 0 } # Check if package is installed. /etc/fixperm -i -d${_pk} /etc/perms/${_pl} > /dev/null 2>&1 case $? in 0) inst_status=all ;; 4|6) inst_status=none ;; 5) inst_status=part ;; *) inst_status=unknown return 1 ;; esac return 0 } # # Define default traps for critical and non critical code. # setdef_trap() { trap 'echo "\nInterrupted! Exiting"; cleanup 1' 1 2 3 15 return 0 } # # SHOULD BE USED WITH EVERY INSTALLATION SCRIPT # # Set the variable $prdperm to /etc/perms/$PRDVALUE or ./tmp/perms/$PRDVALUE # If the permlist is found, the values for set, prd, ver, typ, rel, # and upd are set from the permlist. # Also determine the OS type, xenix or unix, and set systype accordingly. # # sets following information in exported variables # OSREL: x.x.xy OSTYPE: unix|xenix OSBUS: isa|mc|ambi # OSPRD: OSMCH: # echo "OS Release: $OSREL OS Type: $OSTYPE OS Bus: $OSBUS" # echo "OS PRD Value: $OSPRD OS Machine Type: $OSMCH" # SETVARS1="Permlist not found" SETVARS2="Failed to set values from" SETVARS3="Incorrect prd value in" # Variables set by setvars. prdperm= fixperm=fixperm brand=brand set= prd= typ= rel= ser= upd= systype=unknown setvars() { # Locate fixperm, brand, and the permlist. for _i in /etc ./tmp do [ -f "$_i/fixperm" ] && fixperm=$_i/fixperm [ -f "$_i/brand" ] && brand=$_i/brand [ -f "$_i/perms/$PRDVALUE" ] && prdperm=$_i/perms/$PRDVALUE done [ "$prdperm" ] || { echo "Warning: $PRDVALUE $SETVARS1" >&2 return 1 } # Get the operating system type: case `uname -r` in 2.*) systype=xenix ;; 3.*) systype=unix ;; *) systype=unknown ;; esac # # OS variables setting # OSREL: x.x.xy OSTYPE: unix|xenix OSBUS: isa|mc|ambi # OSPRD: OSMCH: os mch type # OSTYPE=$systype case "$OSTYPE" in unix) eval `sed -n '/^#prd=/s/#//p /^#typ=/s/#//p /^#rel=/s/#//p' /etc/perms/rtsmd` > /dev/null 2>&1 OSREL=$rel OSPRD=$prd OSMCH=$typ # Systems 3.2.3 and later are ambi-architectural, # ie. will work on either mc or isa. case "$OSREL" in 3.2.[012]*) if [ -r /dev/mcapos ] then if grep mcapos /etc/perms/rtsmd > /dev/null 2>&1 then OSBUS=mc else OSBUS=unknown fi else OSBUS=isa fi ;; 3.2.[3-9]*) OSBUS=ambi ;; *) OSBUS=unknown ;; esac ;; xenix) eval `sed -n '/^#prd=/s/#//p /^#typ=/s/#//p /^#rel=/s/#//p' /etc/perms/inst` > /dev/null 2>&1 OSREL=$rel OSPRD=$prd OSMCH=$typ var=`expr $OSMCH : '.*\(..\)$'` if [ "$var" = "MC" -o "$var" = "PS" ] then OSBUS=mc else OSBUS=isa fi ;; *) OSREL=unknown OSTYPE=unknown OSBUS=unknown OSPRD=unknown OSMCH=unknown ;; esac export OSREL OSTYPE OSBUS OSPRD OSMCH # Clear these vars before they are used below. prd= rel= typ= # Extract product info from the permlist. eval `sed -n '/^#set=/s/#//p /^#prd=/s/#//p /^#typ=/s/#//p /^#rel=/s/#//p /^#ser=/s/#//p /^#upd=/s/#//p' $prdperm` || echo "\n$SETVARS2 $prdperm" >&2 # Check the prd value read from the permlist for correctness. case "$prd" in "$PRDVALUE") return 0 ;; *) echo "\n$SETVARS3 $prdperm" >&2 return 1 ;; esac return 0 } # # unset the default trap # unsetdef_trap() { trap '' 1 2 3 15 return 0 } # # Local functions # # Add a device driver to the kernel. The first argument is # a directory which contains the driver components. See # idinstall(ADM) for a description. The second argument is # the name of the driver that is being installed. # # usage adddevicedriver directory driverName # adddevicedriver() { DIRECTORY=$1 DRIVER=$2 OPTS=$3 [ -d $DIRECTORY ] || { echo "Directory $DIRECTORY does not exist" return $FAIL } [ -z $DRIVER ] && return $FAIL CURPWD=`pwd` cd $DIRECTORY if [ ! -d /etc/conf/pack.d/$DRIVER ] then /etc/conf/bin/idinstall -a $OPTS $DRIVER STATUS=$? else /etc/conf/bin/idinstall -u $OPTS $DRIVER STATUS=$? fi cd $CURPWD [ $STATUS -ne 0 ] && return $FAIL return $OK } # Remove a device driver from the kernel. The only # argument is the name of the driver. # # usage removedevicedriver driverName # removedevicedriver() { DRIVER=$1 OPTS=$2 [ -z $DRIVER ] && return $FAIL /etc/conf/bin/idcheck -p $DRIVER if [ $? -eq 0 ] then # Driver is already deinstalled. Return success return $OK fi # If the driver has a list of files which need to get removed # remove this files before restoring backed up files [ -f $SAVEDIR/$DRIVER/removelist ] && { for x in `cat $SAVEDIR/$DRIVER/removelist` do echo "\n\tRemoving $x ..." rm -f $x done rm -f $SAVEDIR/$DRIVER/removelist } # If driver files where backed up in $SAVEDIR/$DRIVER, copy these # files back if [ -d $SAVEDIR/$DRIVER ] then echo "\n\tRestoring driver files from $SAVEDIR/$DRIVER ...\c" ( cd $SAVEDIR/$DRIVER find . -type f -print | cpio -pdamu / > /dev/null >&1 ) rm -rf $SAVEDIR/$DRIVER else /etc/conf/bin/idinstall -d $OPTS $DRIVER fi if [ $? -ne 0 ] then return $FAIL fi return $OK } # # Init script specifics # PRODSET="SCO MP Driver for NCR 3360 and 3430 platforms" driver=ncrmp # List of files which need to be backed up, if user wishes to BACKLIST="/etc/conf/pack.d/ncrmp/Driver.o /etc/conf/pack.d/ncrmp/space.c" REMOVELIST="/etc/conf/pack.d/ncrmp/Driver.o /etc/conf/pack.d/ncrmp/space.c /etc/conf/sdevice.d/ncrmp" # # All the rest is done in the common MPX driver script stub!! # : # @(#) mpx_dvr.sh 24.1 94/07/06 # # Copyright (C) 1994 The Santa Cruz Operation, Inc. # All Rights Reserved. # The information in this file is provided for the exclusive use of # the licensees of The Santa Cruz Operation, Inc. Such users have the # right to use, modify, and incorporate this code into other products # for purposes authorized by the license agreement provided they include # this notice and the associated copyright notice with any such product. # The information in this file is provided "AS IS" without warranty. PRDVALUE=gpisup ; export PRDVALUE # replacement components moved/saved to custom directories IDDIR=/usr/lib/custom/$PRDVALUE/ID SAVEDIR=/usr/lib/custom/$PRDVALUE/save ETCDIR=/etc CNFDIR=/etc/conf/cf.d LNKDIR=/etc/conf/pack.d SDVDIR=/etc/conf/sdevice.d ABRTMSG="\nInstallation aborted " FAILMSG="\nSome files may be missing or incorrect ... " # assumes to be running at the # root directory. cd / setvars # Ensure we have a link kit. linkchk || { echo $ABRTMSG exit $FAIL } getyn "\nDo you want to install $PRODSET ?" || { echo "$PRODSET will not be installed" exit 0 } # Check if there is a list of files which need backing up and if the driver # is currently installed [ "$BACKLIST" ] && { # idcheck return 0, if driver not installed if /etc/conf/bin/idcheck -p $driver then : do nothing, driver not installed else getyn "\nDo you want to save the old driver files ?" && { echo "\nSaving driver files under $SAVEDIR/$driver ..." for x in $BACKLIST do y=`dirname $x` mkdir -p $SAVEDIR/$driver/$y > /dev/null 2>&1 cp $x $SAVEDIR/$driver/$y done } fi } # If the driver is already installed, create the remove.list to # undo things when the package is un-installed # idcheck return 0, if driver not installed if /etc/conf/bin/idcheck -p $driver then : do nothing, driver not installed else [ "$REMOVELIST" ] && { mkdir -p $SAVEDIR/$driver > /dev/null 2>&1 echo $REMOVELIST > $SAVEDIR/$driver/removelist } fi echo "Installing $PRODSET ... \c" adddevicedriver $IDDIR/$driver $driver || { echo $ABRTMSG exit $FAIL } echo "Done." askklink || { echo "\n$PRODSET will" echo "not be available until a relink is done." # Exit successfully. Don't want an "init script failed" message. exit $OK } klink || { echo "Relink of kernel fails. $PRODSET features are NOT available." exit $FAIL } echo " The system must be re-booted, by typing 'init 6' at the shell prompt, for the installation to be complete." exit $OK ./tmp/init.sysproxl 500 0 0 34013 5624372133 7547 : # @(#) in.sysproxl 24.3 94/08/09 # # Copyright (C) 1994 The Santa Cruz Operation, Inc. # All Rights Reserved. # The information in this file is provided for the exclusive use of # the licensees of The Santa Cruz Operation, Inc. Such users have the # right to use, modify, and incorporate this code into other products # for purposes authorized by the license agreement provided they include # this notice and the associated copyright notice with any such product. # The information in this file is provided "AS IS" without warranty. # # # Local definitions. # UFILES="" FFILES="usr/lib/custom/gpisup/ID/olimpxp5/Driver.o usr/lib/custom/gpisup/ID/olimpxp5/Space.c usr/lib/custom/gpisup/ID/olimpxp5/System usr/lib/custom/gpisup/ID/olimpxp5/Master usr/lib/custom/gpisup/ID/olimpx/Driver.o usr/lib/custom/gpisup/ID/olimpx/Space.c usr/lib/custom/gpisup/ID/olimpx/System usr/lib/custom/gpisup/ID/olimpx/Master usr/lib/custom/gpisup/ID/apic/Driver.o usr/lib/custom/gpisup/ID/apic/Space.c usr/lib/custom/gpisup/ID/apic/Stubs.c usr/lib/custom/gpisup/ID/apic/System usr/lib/custom/gpisup/ID/apic/Master usr/lib/custom/gpisup/ID/ncrmp/Driver.o usr/lib/custom/gpisup/ID/ncrmp/Space.c usr/lib/custom/gpisup/ID/ncrmp/System usr/lib/custom/gpisup/ID/ncrmp/Master usr/lib/custom/gpisup/ID/sysproxl/Driver.o usr/lib/custom/gpisup/ID/sysproxl/Space.c usr/lib/custom/gpisup/ID/sysproxl/System usr/lib/custom/gpisup/ID/sysproxl/Master usr/lib/custom/gpisup/ID/wyse/Driver.o usr/lib/custom/gpisup/ID/wyse/Space.c usr/lib/custom/gpisup/ID/wyse/System usr/lib/custom/gpisup/ID/wyse/Master " NFILES="" LFILES="" AFILES="" INSTALLDIR=/ BACKUPDIR=/usr/lib/custom/pre-gpisup INSTTMPDIR= PRODPRD=gpisup PRDVALUE=gpisup PRODSET="SCO Multiprocessing Drivers EFS Release 3.4" BASEPACKDESC="SCO Multiprocessing Drivers EFS Release 3.4" PACKAGES="NCRMP SYSPROXL WYSE APIC OLIMPX OLIMPXP5" MPLIST="\n NCR 3360 and 3430 \n Compaq ProLiant 2000 and 4000\n WYSE 7000 Model 740 and 760 \n SCO APIC MP Driver Release 1.1\n Olivetti LSX 5030 and LSX 5040 \n Olivetti LSX 5050 " export UFILES FFILES NFILES LFILES AFILES BASEPACKDESC export BACKUPDIR INSTALLDIR INSTTMPDIR PRODPRD PRODSET export PRDVALUE PACKAGES # # Common functions. # : # @(#) common.sh 24.1 94/07/06 # # Copyright (C) 1994 The Santa Cruz Operation, Inc. # All Rights Reserved. # The information in this file is provided for the exclusive use of # the licensees of The Santa Cruz Operation, Inc. Such users have the # right to use, modify, and incorporate this code into other products # for purposes authorized by the license agreement provided they include # this notice and the associated copyright notice with any such product. # The information in this file is provided "AS IS" without warranty. # # # Common custom script functions. # #BEGIN_CM_SCRIPTLIB # # Standard CM script function library # configlib V1.0 # Contains: baselib, specificlib # # # Ask if the kernel should be relinked # askklink() { echo " " echo "The kernel link kit has been modified." echo "You must relink the kernel to receive the new functionality." getyn "\nDo you want to relink the kernel at this time ?" || return 1 return 0 } # # Prompt for yes or no answer - returns non-zero for no. # getyn() { while echo "$* (y/n) \c" do read yn rest case $yn in [yY]) return $OK ;; [nN]) return $FAIL ;; *) error "Please answer y or n" ;; esac done return 0 } # # Re-link new kernel. # klink() { # The _RELINK variable is set in the environment if relinking the # kernel is to be delayed as is the case with SAMI. [ "$_RELINK" ] && return 0 CURPWD=`pwd` cd /etc/conf/cf.d ./link_unix || { cd $CURPWD return 1 } cd $CURPWD return 0 } # # Test to see if link kit is installed. # linkchk() { # Set PERM variable used in linkchk(). if [ -f /etc/perms/extmd ]; then PERM=/etc/perms/extmd elif [ -f /etc/perms/inst ]; then PERM=/etc/perms/inst else error "Cannot locate LINK packages permlist. Needed to verify linkkit installation" return 1 fi # Test to see if link kit is installed. until fixperm -i -d LINK $PERM do case $? in 4) echo "\nThe Link Kit is not installed." ;; 5) echo "\nThe Link Kit is only partially installed." ;; *) error "fixperm failed testing for Link Kit. Exiting." return 1 ;; esac # Not fully installed. Do so here. echo "\nThe link kit must be installed to run this program." getyn "\nDo you wish to install it now?" || { # Answered no. echo "\nThe linkkit is not installed." return 1 } # Answered yes, so install the link kit. echo "\nInvoking /etc/custom\n" /etc/custom -o -i LINK || { # Custom exited unsuccessfully. error "Custom failed to install Link Kit successfully." return 1 } done return 0 } # # Standard CM script function library # baselib v1.2 # PATH=/bin:/usr/bin:/etc:. LANG=english_us.ascii # Used when scripts are internationalized. export PATH LANG TMPFILE=/tmp/tmp$$ # Define a temporary file for use if necessary. TMPFILE1=/tmp/tmp1$$ # Define a temporary file for use if necessary. TMPFILE2=/tmp/tmp2$$ # Define a temporary file for use if necessary. # Define return values. : ${OK=0} ${FAIL=1} ${STOP=10} # # Print an error message. # error() { echo "\nError: $*" >&2 return 0 } # # is_inst. # Function determines if a particular package of a product is # installed. # Usage: is_inst # eg. is_inst rts LINK # # The first argument is the name of the permlist for the product # being checked. # The second argument is the name of the package being checked. # The function sets shell variable inst_status to one of these # values: "all", "part", "none", or "unknown", to denote the # state of installation of the package. # The function returns 0 if inst_status was sucessfully determined, # 1 in the case of an error. is_inst () { inst_status=unknown _pl=$1 ; shift || return 1 # Permlist name _pk=$1 ; shift || return 1 # Package name [ "${_pl}" ] || return 1 [ "${_pk}" ] || return 1 [ -f /etc/perms/${_pl} ] || { inst_status=none # Permlist absent return 0 } # Check if package is installed. /etc/fixperm -i -d${_pk} /etc/perms/${_pl} > /dev/null 2>&1 case $? in 0) inst_status=all ;; 4|6) inst_status=none ;; 5) inst_status=part ;; *) inst_status=unknown return 1 ;; esac return 0 } # # Define default traps for critical and non critical code. # setdef_trap() { trap 'echo "\nInterrupted! Exiting"; cleanup 1' 1 2 3 15 return 0 } # # SHOULD BE USED WITH EVERY INSTALLATION SCRIPT # # Set the variable $prdperm to /etc/perms/$PRDVALUE or ./tmp/perms/$PRDVALUE # If the permlist is found, the values for set, prd, ver, typ, rel, # and upd are set from the permlist. # Also determine the OS type, xenix or unix, and set systype accordingly. # # sets following information in exported variables # OSREL: x.x.xy OSTYPE: unix|xenix OSBUS: isa|mc|ambi # OSPRD: OSMCH: # echo "OS Release: $OSREL OS Type: $OSTYPE OS Bus: $OSBUS" # echo "OS PRD Value: $OSPRD OS Machine Type: $OSMCH" # SETVARS1="Permlist not found" SETVARS2="Failed to set values from" SETVARS3="Incorrect prd value in" # Variables set by setvars. prdperm= fixperm=fixperm brand=brand set= prd= typ= rel= ser= upd= systype=unknown setvars() { # Locate fixperm, brand, and the permlist. for _i in /etc ./tmp do [ -f "$_i/fixperm" ] && fixperm=$_i/fixperm [ -f "$_i/brand" ] && brand=$_i/brand [ -f "$_i/perms/$PRDVALUE" ] && prdperm=$_i/perms/$PRDVALUE done [ "$prdperm" ] || { echo "Warning: $PRDVALUE $SETVARS1" >&2 return 1 } # Get the operating system type: case `uname -r` in 2.*) systype=xenix ;; 3.*) systype=unix ;; *) systype=unknown ;; esac # # OS variables setting # OSREL: x.x.xy OSTYPE: unix|xenix OSBUS: isa|mc|ambi # OSPRD: OSMCH: os mch type # OSTYPE=$systype case "$OSTYPE" in unix) eval `sed -n '/^#prd=/s/#//p /^#typ=/s/#//p /^#rel=/s/#//p' /etc/perms/rtsmd` > /dev/null 2>&1 OSREL=$rel OSPRD=$prd OSMCH=$typ # Systems 3.2.3 and later are ambi-architectural, # ie. will work on either mc or isa. case "$OSREL" in 3.2.[012]*) if [ -r /dev/mcapos ] then if grep mcapos /etc/perms/rtsmd > /dev/null 2>&1 then OSBUS=mc else OSBUS=unknown fi else OSBUS=isa fi ;; 3.2.[3-9]*) OSBUS=ambi ;; *) OSBUS=unknown ;; esac ;; xenix) eval `sed -n '/^#prd=/s/#//p /^#typ=/s/#//p /^#rel=/s/#//p' /etc/perms/inst` > /dev/null 2>&1 OSREL=$rel OSPRD=$prd OSMCH=$typ var=`expr $OSMCH : '.*\(..\)$'` if [ "$var" = "MC" -o "$var" = "PS" ] then OSBUS=mc else OSBUS=isa fi ;; *) OSREL=unknown OSTYPE=unknown OSBUS=unknown OSPRD=unknown OSMCH=unknown ;; esac export OSREL OSTYPE OSBUS OSPRD OSMCH # Clear these vars before they are used below. prd= rel= typ= # Extract product info from the permlist. eval `sed -n '/^#set=/s/#//p /^#prd=/s/#//p /^#typ=/s/#//p /^#rel=/s/#//p /^#ser=/s/#//p /^#upd=/s/#//p' $prdperm` || echo "\n$SETVARS2 $prdperm" >&2 # Check the prd value read from the permlist for correctness. case "$prd" in "$PRDVALUE") return 0 ;; *) echo "\n$SETVARS3 $prdperm" >&2 return 1 ;; esac return 0 } # # unset the default trap # unsetdef_trap() { trap '' 1 2 3 15 return 0 } # # Local functions # # Add a device driver to the kernel. The first argument is # a directory which contains the driver components. See # idinstall(ADM) for a description. The second argument is # the name of the driver that is being installed. # # usage adddevicedriver directory driverName # adddevicedriver() { DIRECTORY=$1 DRIVER=$2 OPTS=$3 [ -d $DIRECTORY ] || { echo "Directory $DIRECTORY does not exist" return $FAIL } [ -z $DRIVER ] && return $FAIL CURPWD=`pwd` cd $DIRECTORY if [ ! -d /etc/conf/pack.d/$DRIVER ] then /etc/conf/bin/idinstall -a $OPTS $DRIVER STATUS=$? else /etc/conf/bin/idinstall -u $OPTS $DRIVER STATUS=$? fi cd $CURPWD [ $STATUS -ne 0 ] && return $FAIL return $OK } # Remove a device driver from the kernel. The only # argument is the name of the driver. # # usage removedevicedriver driverName # removedevicedriver() { DRIVER=$1 OPTS=$2 [ -z $DRIVER ] && return $FAIL /etc/conf/bin/idcheck -p $DRIVER if [ $? -eq 0 ] then # Driver is already deinstalled. Return success return $OK fi # If the driver has a list of files which need to get removed # remove this files before restoring backed up files [ -f $SAVEDIR/$DRIVER/removelist ] && { for x in `cat $SAVEDIR/$DRIVER/removelist` do echo "\n\tRemoving $x ..." rm -f $x done rm -f $SAVEDIR/$DRIVER/removelist } # If driver files where backed up in $SAVEDIR/$DRIVER, copy these # files back if [ -d $SAVEDIR/$DRIVER ] then echo "\n\tRestoring driver files from $SAVEDIR/$DRIVER ...\c" ( cd $SAVEDIR/$DRIVER find . -type f -print | cpio -pdamu / > /dev/null >&1 ) rm -rf $SAVEDIR/$DRIVER else /etc/conf/bin/idinstall -d $OPTS $DRIVER fi if [ $? -ne 0 ] then return $FAIL fi return $OK } # # Init script specifics # PRODSET="SCO MP Driver for Compaq ProLiant 2000 and 4000 platforms" driver=sysproxl # List of files which need to be backed up, if user wishes to BACKLIST="/etc/conf/pack.d/sysproxl/Driver.o /etc/conf/pack.d/sysproxl/space.c /etc/conf/pack.d/sysproxl/stubs.c" # Don't remove the sdevice entry because this is an update of the sysproxl # driver distributed with 3.2v4.2 REMOVELIST="/etc/conf/pack.d/sysproxl/Driver.o /etc/conf/pack.d/sysproxl/space.c /etc/conf/pack.d/sysproxl/stubs.c" # # All the rest is done in the common MPX driver script stub!! # : # @(#) mpx_dvr.sh 24.1 94/07/06 # # Copyright (C) 1994 The Santa Cruz Operation, Inc. # All Rights Reserved. # The information in this file is provided for the exclusive use of # the licensees of The Santa Cruz Operation, Inc. Such users have the # right to use, modify, and incorporate this code into other products # for purposes authorized by the license agreement provided they include # this notice and the associated copyright notice with any such product. # The information in this file is provided "AS IS" without warranty. PRDVALUE=gpisup ; export PRDVALUE # replacement components moved/saved to custom directories IDDIR=/usr/lib/custom/$PRDVALUE/ID SAVEDIR=/usr/lib/custom/$PRDVALUE/save ETCDIR=/etc CNFDIR=/etc/conf/cf.d LNKDIR=/etc/conf/pack.d SDVDIR=/etc/conf/sdevice.d ABRTMSG="\nInstallation aborted " FAILMSG="\nSome files may be missing or incorrect ... " # assumes to be running at the # root directory. cd / setvars # Ensure we have a link kit. linkchk || { echo $ABRTMSG exit $FAIL } getyn "\nDo you want to install $PRODSET ?" || { echo "$PRODSET will not be installed" exit 0 } # Check if there is a list of files which need backing up and if the driver # is currently installed [ "$BACKLIST" ] && { # idcheck return 0, if driver not installed if /etc/conf/bin/idcheck -p $driver then : do nothing, driver not installed else getyn "\nDo you want to save the old driver files ?" && { echo "\nSaving driver files under $SAVEDIR/$driver ..." for x in $BACKLIST do y=`dirname $x` mkdir -p $SAVEDIR/$driver/$y > /dev/null 2>&1 cp $x $SAVEDIR/$driver/$y done } fi } # If the driver is already installed, create the remove.list to # undo things when the package is un-installed # idcheck return 0, if driver not installed if /etc/conf/bin/idcheck -p $driver then : do nothing, driver not installed else [ "$REMOVELIST" ] && { mkdir -p $SAVEDIR/$driver > /dev/null 2>&1 echo $REMOVELIST > $SAVEDIR/$driver/removelist } fi echo "Installing $PRODSET ... \c" adddevicedriver $IDDIR/$driver $driver || { echo $ABRTMSG exit $FAIL } echo "Done." askklink || { echo "\n$PRODSET will" echo "not be available until a relink is done." # Exit successfully. Don't want an "init script failed" message. exit $OK } klink || { echo "Relink of kernel fails. $PRODSET features are NOT available." exit $FAIL } echo " The system must be re-booted, by typing 'init 6' at the shell prompt, for the installation to be complete." exit $OK ./tmp/init.wyse 500 0 0 34051 5624372134 6636 : # @(#) init.wyse 24.2 94/07/07 # # Copyright (C) 1994 The Santa Cruz Operation, Inc. # All Rights Reserved. # The information in this file is provided for the exclusive use of # the licensees of The Santa Cruz Operation, Inc. Such users have the # right to use, modify, and incorporate this code into other products # for purposes authorized by the license agreement provided they include # this notice and the associated copyright notice with any such product. # The information in this file is provided "AS IS" without warranty. # # # Local definitions. # UFILES="" FFILES="usr/lib/custom/gpisup/ID/olimpxp5/Driver.o usr/lib/custom/gpisup/ID/olimpxp5/Space.c usr/lib/custom/gpisup/ID/olimpxp5/System usr/lib/custom/gpisup/ID/olimpxp5/Master usr/lib/custom/gpisup/ID/olimpx/Driver.o usr/lib/custom/gpisup/ID/olimpx/Space.c usr/lib/custom/gpisup/ID/olimpx/System usr/lib/custom/gpisup/ID/olimpx/Master usr/lib/custom/gpisup/ID/apic/Driver.o usr/lib/custom/gpisup/ID/apic/Space.c usr/lib/custom/gpisup/ID/apic/Stubs.c usr/lib/custom/gpisup/ID/apic/System usr/lib/custom/gpisup/ID/apic/Master usr/lib/custom/gpisup/ID/ncrmp/Driver.o usr/lib/custom/gpisup/ID/ncrmp/Space.c usr/lib/custom/gpisup/ID/ncrmp/System usr/lib/custom/gpisup/ID/ncrmp/Master usr/lib/custom/gpisup/ID/sysproxl/Driver.o usr/lib/custom/gpisup/ID/sysproxl/Space.c usr/lib/custom/gpisup/ID/sysproxl/System usr/lib/custom/gpisup/ID/sysproxl/Master usr/lib/custom/gpisup/ID/wyse/Driver.o usr/lib/custom/gpisup/ID/wyse/Space.c usr/lib/custom/gpisup/ID/wyse/System usr/lib/custom/gpisup/ID/wyse/Master " NFILES="" LFILES="" AFILES="" INSTALLDIR=/ BACKUPDIR=/usr/lib/custom/pre-gpisup INSTTMPDIR= PRODPRD=gpisup PRDVALUE=gpisup PRODSET="SCO Multiprocessing Drivers EFS Release 3.4" BASEPACKDESC="SCO Multiprocessing Drivers EFS Release 3.4" PACKAGES="NCRMP SYSPROXL WYSE APIC OLIMPX OLIMPXP5" MPLIST="\n NCR 3360 and 3430 \n Compaq ProLiant 2000 and 4000\n WYSE 7000 Model 740 and 760 \n SCO APIC MP Driver Release 1.1\n Olivetti LSX 5030 and LSX 5040 \n Olivetti LSX 5050 " export UFILES FFILES NFILES LFILES AFILES BASEPACKDESC export BACKUPDIR INSTALLDIR INSTTMPDIR PRODPRD PRODSET export PRDVALUE PACKAGES # # Common functions. # : # @(#) common.sh 24.1 94/07/06 # # Copyright (C) 1994 The Santa Cruz Operation, Inc. # All Rights Reserved. # The information in this file is provided for the exclusive use of # the licensees of The Santa Cruz Operation, Inc. Such users have the # right to use, modify, and incorporate this code into other products # for purposes authorized by the license agreement provided they include # this notice and the associated copyright notice with any such product. # The information in this file is provided "AS IS" without warranty. # # # Common custom script functions. # #BEGIN_CM_SCRIPTLIB # # Standard CM script function library # configlib V1.0 # Contains: baselib, specificlib # # # Ask if the kernel should be relinked # askklink() { echo " " echo "The kernel link kit has been modified." echo "You must relink the kernel to receive the new functionality." getyn "\nDo you want to relink the kernel at this time ?" || return 1 return 0 } # # Prompt for yes or no answer - returns non-zero for no. # getyn() { while echo "$* (y/n) \c" do read yn rest case $yn in [yY]) return $OK ;; [nN]) return $FAIL ;; *) error "Please answer y or n" ;; esac done return 0 } # # Re-link new kernel. # klink() { # The _RELINK variable is set in the environment if relinking the # kernel is to be delayed as is the case with SAMI. [ "$_RELINK" ] && return 0 CURPWD=`pwd` cd /etc/conf/cf.d ./link_unix || { cd $CURPWD return 1 } cd $CURPWD return 0 } # # Test to see if link kit is installed. # linkchk() { # Set PERM variable used in linkchk(). if [ -f /etc/perms/extmd ]; then PERM=/etc/perms/extmd elif [ -f /etc/perms/inst ]; then PERM=/etc/perms/inst else error "Cannot locate LINK packages permlist. Needed to verify linkkit installation" return 1 fi # Test to see if link kit is installed. until fixperm -i -d LINK $PERM do case $? in 4) echo "\nThe Link Kit is not installed." ;; 5) echo "\nThe Link Kit is only partially installed." ;; *) error "fixperm failed testing for Link Kit. Exiting." return 1 ;; esac # Not fully installed. Do so here. echo "\nThe link kit must be installed to run this program." getyn "\nDo you wish to install it now?" || { # Answered no. echo "\nThe linkkit is not installed." return 1 } # Answered yes, so install the link kit. echo "\nInvoking /etc/custom\n" /etc/custom -o -i LINK || { # Custom exited unsuccessfully. error "Custom failed to install Link Kit successfully." return 1 } done return 0 } # # Standard CM script function library # baselib v1.2 # PATH=/bin:/usr/bin:/etc:. LANG=english_us.ascii # Used when scripts are internationalized. export PATH LANG TMPFILE=/tmp/tmp$$ # Define a temporary file for use if necessary. TMPFILE1=/tmp/tmp1$$ # Define a temporary file for use if necessary. TMPFILE2=/tmp/tmp2$$ # Define a temporary file for use if necessary. # Define return values. : ${OK=0} ${FAIL=1} ${STOP=10} # # Print an error message. # error() { echo "\nError: $*" >&2 return 0 } # # is_inst. # Function determines if a particular package of a product is # installed. # Usage: is_inst # eg. is_inst rts LINK # # The first argument is the name of the permlist for the product # being checked. # The second argument is the name of the package being checked. # The function sets shell variable inst_status to one of these # values: "all", "part", "none", or "unknown", to denote the # state of installation of the package. # The function returns 0 if inst_status was sucessfully determined, # 1 in the case of an error. is_inst () { inst_status=unknown _pl=$1 ; shift || return 1 # Permlist name _pk=$1 ; shift || return 1 # Package name [ "${_pl}" ] || return 1 [ "${_pk}" ] || return 1 [ -f /etc/perms/${_pl} ] || { inst_status=none # Permlist absent return 0 } # Check if package is installed. /etc/fixperm -i -d${_pk} /etc/perms/${_pl} > /dev/null 2>&1 case $? in 0) inst_status=all ;; 4|6) inst_status=none ;; 5) inst_status=part ;; *) inst_status=unknown return 1 ;; esac return 0 } # # Define default traps for critical and non critical code. # setdef_trap() { trap 'echo "\nInterrupted! Exiting"; cleanup 1' 1 2 3 15 return 0 } # # SHOULD BE USED WITH EVERY INSTALLATION SCRIPT # # Set the variable $prdperm to /etc/perms/$PRDVALUE or ./tmp/perms/$PRDVALUE # If the permlist is found, the values for set, prd, ver, typ, rel, # and upd are set from the permlist. # Also determine the OS type, xenix or unix, and set systype accordingly. # # sets following information in exported variables # OSREL: x.x.xy OSTYPE: unix|xenix OSBUS: isa|mc|ambi # OSPRD: OSMCH: # echo "OS Release: $OSREL OS Type: $OSTYPE OS Bus: $OSBUS" # echo "OS PRD Value: $OSPRD OS Machine Type: $OSMCH" # SETVARS1="Permlist not found" SETVARS2="Failed to set values from" SETVARS3="Incorrect prd value in" # Variables set by setvars. prdperm= fixperm=fixperm brand=brand set= prd= typ= rel= ser= upd= systype=unknown setvars() { # Locate fixperm, brand, and the permlist. for _i in /etc ./tmp do [ -f "$_i/fixperm" ] && fixperm=$_i/fixperm [ -f "$_i/brand" ] && brand=$_i/brand [ -f "$_i/perms/$PRDVALUE" ] && prdperm=$_i/perms/$PRDVALUE done [ "$prdperm" ] || { echo "Warning: $PRDVALUE $SETVARS1" >&2 return 1 } # Get the operating system type: case `uname -r` in 2.*) systype=xenix ;; 3.*) systype=unix ;; *) systype=unknown ;; esac # # OS variables setting # OSREL: x.x.xy OSTYPE: unix|xenix OSBUS: isa|mc|ambi # OSPRD: OSMCH: os mch type # OSTYPE=$systype case "$OSTYPE" in unix) eval `sed -n '/^#prd=/s/#//p /^#typ=/s/#//p /^#rel=/s/#//p' /etc/perms/rtsmd` > /dev/null 2>&1 OSREL=$rel OSPRD=$prd OSMCH=$typ # Systems 3.2.3 and later are ambi-architectural, # ie. will work on either mc or isa. case "$OSREL" in 3.2.[012]*) if [ -r /dev/mcapos ] then if grep mcapos /etc/perms/rtsmd > /dev/null 2>&1 then OSBUS=mc else OSBUS=unknown fi else OSBUS=isa fi ;; 3.2.[3-9]*) OSBUS=ambi ;; *) OSBUS=unknown ;; esac ;; xenix) eval `sed -n '/^#prd=/s/#//p /^#typ=/s/#//p /^#rel=/s/#//p' /etc/perms/inst` > /dev/null 2>&1 OSREL=$rel OSPRD=$prd OSMCH=$typ var=`expr $OSMCH : '.*\(..\)$'` if [ "$var" = "MC" -o "$var" = "PS" ] then OSBUS=mc else OSBUS=isa fi ;; *) OSREL=unknown OSTYPE=unknown OSBUS=unknown OSPRD=unknown OSMCH=unknown ;; esac export OSREL OSTYPE OSBUS OSPRD OSMCH # Clear these vars before they are used below. prd= rel= typ= # Extract product info from the permlist. eval `sed -n '/^#set=/s/#//p /^#prd=/s/#//p /^#typ=/s/#//p /^#rel=/s/#//p /^#ser=/s/#//p /^#upd=/s/#//p' $prdperm` || echo "\n$SETVARS2 $prdperm" >&2 # Check the prd value read from the permlist for correctness. case "$prd" in "$PRDVALUE") return 0 ;; *) echo "\n$SETVARS3 $prdperm" >&2 return 1 ;; esac return 0 } # # unset the default trap # unsetdef_trap() { trap '' 1 2 3 15 return 0 } # # Local functions # # Add a device driver to the kernel. The first argument is # a directory which contains the driver components. See # idinstall(ADM) for a description. The second argument is # the name of the driver that is being installed. # # usage adddevicedriver directory driverName # adddevicedriver() { DIRECTORY=$1 DRIVER=$2 OPTS=$3 [ -d $DIRECTORY ] || { echo "Directory $DIRECTORY does not exist" return $FAIL } [ -z $DRIVER ] && return $FAIL CURPWD=`pwd` cd $DIRECTORY if [ ! -d /etc/conf/pack.d/$DRIVER ] then /etc/conf/bin/idinstall -a $OPTS $DRIVER STATUS=$? else /etc/conf/bin/idinstall -u $OPTS $DRIVER STATUS=$? fi cd $CURPWD [ $STATUS -ne 0 ] && return $FAIL return $OK } # Remove a device driver from the kernel. The only # argument is the name of the driver. # # usage removedevicedriver driverName # removedevicedriver() { DRIVER=$1 OPTS=$2 [ -z $DRIVER ] && return $FAIL /etc/conf/bin/idcheck -p $DRIVER if [ $? -eq 0 ] then # Driver is already deinstalled. Return success return $OK fi # If the driver has a list of files which need to get removed # remove this files before restoring backed up files [ -f $SAVEDIR/$DRIVER/removelist ] && { for x in `cat $SAVEDIR/$DRIVER/removelist` do echo "\n\tRemoving $x ..." rm -f $x done rm -f $SAVEDIR/$DRIVER/removelist } # If driver files where backed up in $SAVEDIR/$DRIVER, copy these # files back if [ -d $SAVEDIR/$DRIVER ] then echo "\n\tRestoring driver files from $SAVEDIR/$DRIVER ...\c" ( cd $SAVEDIR/$DRIVER find . -type f -print | cpio -pdamu / > /dev/null >&1 ) rm -rf $SAVEDIR/$DRIVER else /etc/conf/bin/idinstall -d $OPTS $DRIVER fi if [ $? -ne 0 ] then return $FAIL fi return $OK } # # Init script specifics # PRODSET="SCO MP Driver for Wyse 7000 Model 740 and 760 platforms" driver=wyse # List of files which need to be backed up, if user wishes to BACKLIST="/etc/conf/pack.d/wyse/Driver.o /etc/conf/pack.d/wyse/space.c" # List of files which need to get removed when driver gets removed # This is needed because, Wyse EFS may already be installed and when AHS # is removed, space.c has to be removed so that kernel can relink. REMOVELIST="/etc/conf/pack.d/wyse/space.c /etc/conf/pack.d/wyse/Driver.o /etc/conf/sdevice.d/wyse" # # All the rest is done in the common MPX driver script stub!! # : # @(#) mpx_dvr.sh 24.1 94/07/06 # # Copyright (C) 1994 The Santa Cruz Operation, Inc. # All Rights Reserved. # The information in this file is provided for the exclusive use of # the licensees of The Santa Cruz Operation, Inc. Such users have the # right to use, modify, and incorporate this code into other products # for purposes authorized by the license agreement provided they include # this notice and the associated copyright notice with any such product. # The information in this file is provided "AS IS" without warranty. PRDVALUE=gpisup ; export PRDVALUE # replacement components moved/saved to custom directories IDDIR=/usr/lib/custom/$PRDVALUE/ID SAVEDIR=/usr/lib/custom/$PRDVALUE/save ETCDIR=/etc CNFDIR=/etc/conf/cf.d LNKDIR=/etc/conf/pack.d SDVDIR=/etc/conf/sdevice.d ABRTMSG="\nInstallation aborted " FAILMSG="\nSome files may be missing or incorrect ... " # assumes to be running at the # root directory. cd / setvars # Ensure we have a link kit. linkchk || { echo $ABRTMSG exit $FAIL } getyn "\nDo you want to install $PRODSET ?" || { echo "$PRODSET will not be installed" exit 0 } # Check if there is a list of files which need backing up and if the driver # is currently installed [ "$BACKLIST" ] && { # idcheck return 0, if driver not installed if /etc/conf/bin/idcheck -p $driver then : do nothing, driver not installed else getyn "\nDo you want to save the old driver files ?" && { echo "\nSaving driver files under $SAVEDIR/$driver ..." for x in $BACKLIST do y=`dirname $x` mkdir -p $SAVEDIR/$driver/$y > /dev/null 2>&1 cp $x $SAVEDIR/$driver/$y done } fi } # If the driver is already installed, create the remove.list to # undo things when the package is un-installed # idcheck return 0, if driver not installed if /etc/conf/bin/idcheck -p $driver then : do nothing, driver not installed else [ "$REMOVELIST" ] && { mkdir -p $SAVEDIR/$driver > /dev/null 2>&1 echo $REMOVELIST > $SAVEDIR/$driver/removelist } fi echo "Installing $PRODSET ... \c" adddevicedriver $IDDIR/$driver $driver || { echo $ABRTMSG exit $FAIL } echo "Done." askklink || { echo "\n$PRODSET will" echo "not be available until a relink is done." # Exit successfully. Don't want an "init script failed" message. exit $OK } klink || { echo "Relink of kernel fails. $PRODSET features are NOT available." exit $FAIL } echo " The system must be re-booted, by typing 'init 6' at the shell prompt, for the installation to be complete." exit $OK ./tmp/init.apic 500 0 0 34114 5624372135 6564 : # @(#) init.apic 24.2 94/08/04 # # Copyright (C) 1994 The Santa Cruz Operation, Inc. # All Rights Reserved. # The information in this file is provided for the exclusive use of # the licensees of The Santa Cruz Operation, Inc. Such users have the # right to use, modify, and incorporate this code into other products # for purposes authorized by the license agreement provided they include # this notice and the associated copyright notice with any such product. # The information in this file is provided "AS IS" without warranty. # # # Local definitions. # UFILES="" FFILES="usr/lib/custom/gpisup/ID/olimpxp5/Driver.o usr/lib/custom/gpisup/ID/olimpxp5/Space.c usr/lib/custom/gpisup/ID/olimpxp5/System usr/lib/custom/gpisup/ID/olimpxp5/Master usr/lib/custom/gpisup/ID/olimpx/Driver.o usr/lib/custom/gpisup/ID/olimpx/Space.c usr/lib/custom/gpisup/ID/olimpx/System usr/lib/custom/gpisup/ID/olimpx/Master usr/lib/custom/gpisup/ID/apic/Driver.o usr/lib/custom/gpisup/ID/apic/Space.c usr/lib/custom/gpisup/ID/apic/Stubs.c usr/lib/custom/gpisup/ID/apic/System usr/lib/custom/gpisup/ID/apic/Master usr/lib/custom/gpisup/ID/ncrmp/Driver.o usr/lib/custom/gpisup/ID/ncrmp/Space.c usr/lib/custom/gpisup/ID/ncrmp/System usr/lib/custom/gpisup/ID/ncrmp/Master usr/lib/custom/gpisup/ID/sysproxl/Driver.o usr/lib/custom/gpisup/ID/sysproxl/Space.c usr/lib/custom/gpisup/ID/sysproxl/System usr/lib/custom/gpisup/ID/sysproxl/Master usr/lib/custom/gpisup/ID/wyse/Driver.o usr/lib/custom/gpisup/ID/wyse/Space.c usr/lib/custom/gpisup/ID/wyse/System usr/lib/custom/gpisup/ID/wyse/Master " NFILES="" LFILES="" AFILES="" INSTALLDIR=/ BACKUPDIR=/usr/lib/custom/pre-gpisup INSTTMPDIR= PRODPRD=gpisup PRDVALUE=gpisup PRODSET="SCO Multiprocessing Drivers EFS Release 3.4" BASEPACKDESC="SCO Multiprocessing Drivers EFS Release 3.4" PACKAGES="NCRMP SYSPROXL WYSE APIC OLIMPX OLIMPXP5" MPLIST="\n NCR 3360 and 3430 \n Compaq ProLiant 2000 and 4000\n WYSE 7000 Model 740 and 760 \n SCO APIC MP Driver Release 1.1\n Olivetti LSX 5030 and LSX 5040 \n Olivetti LSX 5050 " export UFILES FFILES NFILES LFILES AFILES BASEPACKDESC export BACKUPDIR INSTALLDIR INSTTMPDIR PRODPRD PRODSET export PRDVALUE PACKAGES # # Common functions. # : # @(#) common.sh 24.1 94/07/06 # # Copyright (C) 1994 The Santa Cruz Operation, Inc. # All Rights Reserved. # The information in this file is provided for the exclusive use of # the licensees of The Santa Cruz Operation, Inc. Such users have the # right to use, modify, and incorporate this code into other products # for purposes authorized by the license agreement provided they include # this notice and the associated copyright notice with any such product. # The information in this file is provided "AS IS" without warranty. # # # Common custom script functions. # #BEGIN_CM_SCRIPTLIB # # Standard CM script function library # configlib V1.0 # Contains: baselib, specificlib # # # Ask if the kernel should be relinked # askklink() { echo " " echo "The kernel link kit has been modified." echo "You must relink the kernel to receive the new functionality." getyn "\nDo you want to relink the kernel at this time ?" || return 1 return 0 } # # Prompt for yes or no answer - returns non-zero for no. # getyn() { while echo "$* (y/n) \c" do read yn rest case $yn in [yY]) return $OK ;; [nN]) return $FAIL ;; *) error "Please answer y or n" ;; esac done return 0 } # # Re-link new kernel. # klink() { # The _RELINK variable is set in the environment if relinking the # kernel is to be delayed as is the case with SAMI. [ "$_RELINK" ] && return 0 CURPWD=`pwd` cd /etc/conf/cf.d ./link_unix || { cd $CURPWD return 1 } cd $CURPWD return 0 } # # Test to see if link kit is installed. # linkchk() { # Set PERM variable used in linkchk(). if [ -f /etc/perms/extmd ]; then PERM=/etc/perms/extmd elif [ -f /etc/perms/inst ]; then PERM=/etc/perms/inst else error "Cannot locate LINK packages permlist. Needed to verify linkkit installation" return 1 fi # Test to see if link kit is installed. until fixperm -i -d LINK $PERM do case $? in 4) echo "\nThe Link Kit is not installed." ;; 5) echo "\nThe Link Kit is only partially installed." ;; *) error "fixperm failed testing for Link Kit. Exiting." return 1 ;; esac # Not fully installed. Do so here. echo "\nThe link kit must be installed to run this program." getyn "\nDo you wish to install it now?" || { # Answered no. echo "\nThe linkkit is not installed." return 1 } # Answered yes, so install the link kit. echo "\nInvoking /etc/custom\n" /etc/custom -o -i LINK || { # Custom exited unsuccessfully. error "Custom failed to install Link Kit successfully." return 1 } done return 0 } # # Standard CM script function library # baselib v1.2 # PATH=/bin:/usr/bin:/etc:. LANG=english_us.ascii # Used when scripts are internationalized. export PATH LANG TMPFILE=/tmp/tmp$$ # Define a temporary file for use if necessary. TMPFILE1=/tmp/tmp1$$ # Define a temporary file for use if necessary. TMPFILE2=/tmp/tmp2$$ # Define a temporary file for use if necessary. # Define return values. : ${OK=0} ${FAIL=1} ${STOP=10} # # Print an error message. # error() { echo "\nError: $*" >&2 return 0 } # # is_inst. # Function determines if a particular package of a product is # installed. # Usage: is_inst # eg. is_inst rts LINK # # The first argument is the name of the permlist for the product # being checked. # The second argument is the name of the package being checked. # The function sets shell variable inst_status to one of these # values: "all", "part", "none", or "unknown", to denote the # state of installation of the package. # The function returns 0 if inst_status was sucessfully determined, # 1 in the case of an error. is_inst () { inst_status=unknown _pl=$1 ; shift || return 1 # Permlist name _pk=$1 ; shift || return 1 # Package name [ "${_pl}" ] || return 1 [ "${_pk}" ] || return 1 [ -f /etc/perms/${_pl} ] || { inst_status=none # Permlist absent return 0 } # Check if package is installed. /etc/fixperm -i -d${_pk} /etc/perms/${_pl} > /dev/null 2>&1 case $? in 0) inst_status=all ;; 4|6) inst_status=none ;; 5) inst_status=part ;; *) inst_status=unknown return 1 ;; esac return 0 } # # Define default traps for critical and non critical code. # setdef_trap() { trap 'echo "\nInterrupted! Exiting"; cleanup 1' 1 2 3 15 return 0 } # # SHOULD BE USED WITH EVERY INSTALLATION SCRIPT # # Set the variable $prdperm to /etc/perms/$PRDVALUE or ./tmp/perms/$PRDVALUE # If the permlist is found, the values for set, prd, ver, typ, rel, # and upd are set from the permlist. # Also determine the OS type, xenix or unix, and set systype accordingly. # # sets following information in exported variables # OSREL: x.x.xy OSTYPE: unix|xenix OSBUS: isa|mc|ambi # OSPRD: OSMCH: # echo "OS Release: $OSREL OS Type: $OSTYPE OS Bus: $OSBUS" # echo "OS PRD Value: $OSPRD OS Machine Type: $OSMCH" # SETVARS1="Permlist not found" SETVARS2="Failed to set values from" SETVARS3="Incorrect prd value in" # Variables set by setvars. prdperm= fixperm=fixperm brand=brand set= prd= typ= rel= ser= upd= systype=unknown setvars() { # Locate fixperm, brand, and the permlist. for _i in /etc ./tmp do [ -f "$_i/fixperm" ] && fixperm=$_i/fixperm [ -f "$_i/brand" ] && brand=$_i/brand [ -f "$_i/perms/$PRDVALUE" ] && prdperm=$_i/perms/$PRDVALUE done [ "$prdperm" ] || { echo "Warning: $PRDVALUE $SETVARS1" >&2 return 1 } # Get the operating system type: case `uname -r` in 2.*) systype=xenix ;; 3.*) systype=unix ;; *) systype=unknown ;; esac # # OS variables setting # OSREL: x.x.xy OSTYPE: unix|xenix OSBUS: isa|mc|ambi # OSPRD: OSMCH: os mch type # OSTYPE=$systype case "$OSTYPE" in unix) eval `sed -n '/^#prd=/s/#//p /^#typ=/s/#//p /^#rel=/s/#//p' /etc/perms/rtsmd` > /dev/null 2>&1 OSREL=$rel OSPRD=$prd OSMCH=$typ # Systems 3.2.3 and later are ambi-architectural, # ie. will work on either mc or isa. case "$OSREL" in 3.2.[012]*) if [ -r /dev/mcapos ] then if grep mcapos /etc/perms/rtsmd > /dev/null 2>&1 then OSBUS=mc else OSBUS=unknown fi else OSBUS=isa fi ;; 3.2.[3-9]*) OSBUS=ambi ;; *) OSBUS=unknown ;; esac ;; xenix) eval `sed -n '/^#prd=/s/#//p /^#typ=/s/#//p /^#rel=/s/#//p' /etc/perms/inst` > /dev/null 2>&1 OSREL=$rel OSPRD=$prd OSMCH=$typ var=`expr $OSMCH : '.*\(..\)$'` if [ "$var" = "MC" -o "$var" = "PS" ] then OSBUS=mc else OSBUS=isa fi ;; *) OSREL=unknown OSTYPE=unknown OSBUS=unknown OSPRD=unknown OSMCH=unknown ;; esac export OSREL OSTYPE OSBUS OSPRD OSMCH # Clear these vars before they are used below. prd= rel= typ= # Extract product info from the permlist. eval `sed -n '/^#set=/s/#//p /^#prd=/s/#//p /^#typ=/s/#//p /^#rel=/s/#//p /^#ser=/s/#//p /^#upd=/s/#//p' $prdperm` || echo "\n$SETVARS2 $prdperm" >&2 # Check the prd value read from the permlist for correctness. case "$prd" in "$PRDVALUE") return 0 ;; *) echo "\n$SETVARS3 $prdperm" >&2 return 1 ;; esac return 0 } # # unset the default trap # unsetdef_trap() { trap '' 1 2 3 15 return 0 } # # Local functions # # Add a device driver to the kernel. The first argument is # a directory which contains the driver components. See # idinstall(ADM) for a description. The second argument is # the name of the driver that is being installed. # # usage adddevicedriver directory driverName # adddevicedriver() { DIRECTORY=$1 DRIVER=$2 OPTS=$3 [ -d $DIRECTORY ] || { echo "Directory $DIRECTORY does not exist" return $FAIL } [ -z $DRIVER ] && return $FAIL CURPWD=`pwd` cd $DIRECTORY if [ ! -d /etc/conf/pack.d/$DRIVER ] then /etc/conf/bin/idinstall -a $OPTS $DRIVER STATUS=$? else /etc/conf/bin/idinstall -u $OPTS $DRIVER STATUS=$? fi cd $CURPWD [ $STATUS -ne 0 ] && return $FAIL return $OK } # Remove a device driver from the kernel. The only # argument is the name of the driver. # # usage removedevicedriver driverName # removedevicedriver() { DRIVER=$1 OPTS=$2 [ -z $DRIVER ] && return $FAIL /etc/conf/bin/idcheck -p $DRIVER if [ $? -eq 0 ] then # Driver is already deinstalled. Return success return $OK fi # If the driver has a list of files which need to get removed # remove this files before restoring backed up files [ -f $SAVEDIR/$DRIVER/removelist ] && { for x in `cat $SAVEDIR/$DRIVER/removelist` do echo "\n\tRemoving $x ..." rm -f $x done rm -f $SAVEDIR/$DRIVER/removelist } # If driver files where backed up in $SAVEDIR/$DRIVER, copy these # files back if [ -d $SAVEDIR/$DRIVER ] then echo "\n\tRestoring driver files from $SAVEDIR/$DRIVER ...\c" ( cd $SAVEDIR/$DRIVER find . -type f -print | cpio -pdamu / > /dev/null >&1 ) rm -rf $SAVEDIR/$DRIVER else /etc/conf/bin/idinstall -d $OPTS $DRIVER fi if [ $? -ne 0 ] then return $FAIL fi return $OK } # # Init script specifics # PRODSET="SCO APIC MP Driver Release 1.1" driver=apic # List of files which need to be backed up, if user wishes to BACKLIST="/etc/conf/pack.d/apic/Driver.o /etc/conf/pack.d/apic/space.c /etc/conf/pack.d/apic/stubs.c" # List of files which need to get removed when driver gets removed # This is needed because, Wyse EFS may already be installed and when AHS # is removed, space.c has to be removed so that kernel can relink. REMOVELIST="/etc/conf/pack.d/apic/space.c /etc/conf/pack.d/apic/Driver.o /etc/conf/pack.d/apic/stubs.c /etc/conf/sdevice.d/apic" # # All the rest is done in the common MPX driver script stub!! # : # @(#) mpx_dvr.sh 24.1 94/07/06 # # Copyright (C) 1994 The Santa Cruz Operation, Inc. # All Rights Reserved. # The information in this file is provided for the exclusive use of # the licensees of The Santa Cruz Operation, Inc. Such users have the # right to use, modify, and incorporate this code into other products # for purposes authorized by the license agreement provided they include # this notice and the associated copyright notice with any such product. # The information in this file is provided "AS IS" without warranty. PRDVALUE=gpisup ; export PRDVALUE # replacement components moved/saved to custom directories IDDIR=/usr/lib/custom/$PRDVALUE/ID SAVEDIR=/usr/lib/custom/$PRDVALUE/save ETCDIR=/etc CNFDIR=/etc/conf/cf.d LNKDIR=/etc/conf/pack.d SDVDIR=/etc/conf/sdevice.d ABRTMSG="\nInstallation aborted " FAILMSG="\nSome files may be missing or incorrect ... " # assumes to be running at the # root directory. cd / setvars # Ensure we have a link kit. linkchk || { echo $ABRTMSG exit $FAIL } getyn "\nDo you want to install $PRODSET ?" || { echo "$PRODSET will not be installed" exit 0 } # Check if there is a list of files which need backing up and if the driver # is currently installed [ "$BACKLIST" ] && { # idcheck return 0, if driver not installed if /etc/conf/bin/idcheck -p $driver then : do nothing, driver not installed else getyn "\nDo you want to save the old driver files ?" && { echo "\nSaving driver files under $SAVEDIR/$driver ..." for x in $BACKLIST do y=`dirname $x` mkdir -p $SAVEDIR/$driver/$y > /dev/null 2>&1 cp $x $SAVEDIR/$driver/$y done } fi } # If the driver is already installed, create the remove.list to # undo things when the package is un-installed # idcheck return 0, if driver not installed if /etc/conf/bin/idcheck -p $driver then : do nothing, driver not installed else [ "$REMOVELIST" ] && { mkdir -p $SAVEDIR/$driver > /dev/null 2>&1 echo $REMOVELIST > $SAVEDIR/$driver/removelist } fi echo "Installing $PRODSET ... \c" adddevicedriver $IDDIR/$driver $driver || { echo $ABRTMSG exit $FAIL } echo "Done." askklink || { echo "\n$PRODSET will" echo "not be available until a relink is done." # Exit successfully. Don't want an "init script failed" message. exit $OK } klink || { echo "Relink of kernel fails. $PRODSET features are NOT available." exit $FAIL } echo " The system must be re-booted, by typing 'init 6' at the shell prompt, for the installation to be complete." exit $OK ./tmp/init.olimpx 500 0 0 34062 5624372136 7163 : # @(#) init.olimpx 24.1 94/07/07 # # Copyright (C) 1994 The Santa Cruz Operation, Inc. # All Rights Reserved. # The information in this file is provided for the exclusive use of # the licensees of The Santa Cruz Operation, Inc. Such users have the # right to use, modify, and incorporate this code into other products # for purposes authorized by the license agreement provided they include # this notice and the associated copyright notice with any such product. # The information in this file is provided "AS IS" without warranty. # # # Local definitions. # UFILES="" FFILES="usr/lib/custom/gpisup/ID/olimpxp5/Driver.o usr/lib/custom/gpisup/ID/olimpxp5/Space.c usr/lib/custom/gpisup/ID/olimpxp5/System usr/lib/custom/gpisup/ID/olimpxp5/Master usr/lib/custom/gpisup/ID/olimpx/Driver.o usr/lib/custom/gpisup/ID/olimpx/Space.c usr/lib/custom/gpisup/ID/olimpx/System usr/lib/custom/gpisup/ID/olimpx/Master usr/lib/custom/gpisup/ID/apic/Driver.o usr/lib/custom/gpisup/ID/apic/Space.c usr/lib/custom/gpisup/ID/apic/Stubs.c usr/lib/custom/gpisup/ID/apic/System usr/lib/custom/gpisup/ID/apic/Master usr/lib/custom/gpisup/ID/ncrmp/Driver.o usr/lib/custom/gpisup/ID/ncrmp/Space.c usr/lib/custom/gpisup/ID/ncrmp/System usr/lib/custom/gpisup/ID/ncrmp/Master usr/lib/custom/gpisup/ID/sysproxl/Driver.o usr/lib/custom/gpisup/ID/sysproxl/Space.c usr/lib/custom/gpisup/ID/sysproxl/System usr/lib/custom/gpisup/ID/sysproxl/Master usr/lib/custom/gpisup/ID/wyse/Driver.o usr/lib/custom/gpisup/ID/wyse/Space.c usr/lib/custom/gpisup/ID/wyse/System usr/lib/custom/gpisup/ID/wyse/Master " NFILES="" LFILES="" AFILES="" INSTALLDIR=/ BACKUPDIR=/usr/lib/custom/pre-gpisup INSTTMPDIR= PRODPRD=gpisup PRDVALUE=gpisup PRODSET="SCO Multiprocessing Drivers EFS Release 3.4" BASEPACKDESC="SCO Multiprocessing Drivers EFS Release 3.4" PACKAGES="NCRMP SYSPROXL WYSE APIC OLIMPX OLIMPXP5" MPLIST="\n NCR 3360 and 3430 \n Compaq ProLiant 2000 and 4000\n WYSE 7000 Model 740 and 760 \n SCO APIC MP Driver Release 1.1\n Olivetti LSX 5030 and LSX 5040 \n Olivetti LSX 5050 " export UFILES FFILES NFILES LFILES AFILES BASEPACKDESC export BACKUPDIR INSTALLDIR INSTTMPDIR PRODPRD PRODSET export PRDVALUE PACKAGES # # Common functions. # : # @(#) common.sh 24.1 94/07/06 # # Copyright (C) 1994 The Santa Cruz Operation, Inc. # All Rights Reserved. # The information in this file is provided for the exclusive use of # the licensees of The Santa Cruz Operation, Inc. Such users have the # right to use, modify, and incorporate this code into other products # for purposes authorized by the license agreement provided they include # this notice and the associated copyright notice with any such product. # The information in this file is provided "AS IS" without warranty. # # # Common custom script functions. # #BEGIN_CM_SCRIPTLIB # # Standard CM script function library # configlib V1.0 # Contains: baselib, specificlib # # # Ask if the kernel should be relinked # askklink() { echo " " echo "The kernel link kit has been modified." echo "You must relink the kernel to receive the new functionality." getyn "\nDo you want to relink the kernel at this time ?" || return 1 return 0 } # # Prompt for yes or no answer - returns non-zero for no. # getyn() { while echo "$* (y/n) \c" do read yn rest case $yn in [yY]) return $OK ;; [nN]) return $FAIL ;; *) error "Please answer y or n" ;; esac done return 0 } # # Re-link new kernel. # klink() { # The _RELINK variable is set in the environment if relinking the # kernel is to be delayed as is the case with SAMI. [ "$_RELINK" ] && return 0 CURPWD=`pwd` cd /etc/conf/cf.d ./link_unix || { cd $CURPWD return 1 } cd $CURPWD return 0 } # # Test to see if link kit is installed. # linkchk() { # Set PERM variable used in linkchk(). if [ -f /etc/perms/extmd ]; then PERM=/etc/perms/extmd elif [ -f /etc/perms/inst ]; then PERM=/etc/perms/inst else error "Cannot locate LINK packages permlist. Needed to verify linkkit installation" return 1 fi # Test to see if link kit is installed. until fixperm -i -d LINK $PERM do case $? in 4) echo "\nThe Link Kit is not installed." ;; 5) echo "\nThe Link Kit is only partially installed." ;; *) error "fixperm failed testing for Link Kit. Exiting." return 1 ;; esac # Not fully installed. Do so here. echo "\nThe link kit must be installed to run this program." getyn "\nDo you wish to install it now?" || { # Answered no. echo "\nThe linkkit is not installed." return 1 } # Answered yes, so install the link kit. echo "\nInvoking /etc/custom\n" /etc/custom -o -i LINK || { # Custom exited unsuccessfully. error "Custom failed to install Link Kit successfully." return 1 } done return 0 } # # Standard CM script function library # baselib v1.2 # PATH=/bin:/usr/bin:/etc:. LANG=english_us.ascii # Used when scripts are internationalized. export PATH LANG TMPFILE=/tmp/tmp$$ # Define a temporary file for use if necessary. TMPFILE1=/tmp/tmp1$$ # Define a temporary file for use if necessary. TMPFILE2=/tmp/tmp2$$ # Define a temporary file for use if necessary. # Define return values. : ${OK=0} ${FAIL=1} ${STOP=10} # # Print an error message. # error() { echo "\nError: $*" >&2 return 0 } # # is_inst. # Function determines if a particular package of a product is # installed. # Usage: is_inst # eg. is_inst rts LINK # # The first argument is the name of the permlist for the product # being checked. # The second argument is the name of the package being checked. # The function sets shell variable inst_status to one of these # values: "all", "part", "none", or "unknown", to denote the # state of installation of the package. # The function returns 0 if inst_status was sucessfully determined, # 1 in the case of an error. is_inst () { inst_status=unknown _pl=$1 ; shift || return 1 # Permlist name _pk=$1 ; shift || return 1 # Package name [ "${_pl}" ] || return 1 [ "${_pk}" ] || return 1 [ -f /etc/perms/${_pl} ] || { inst_status=none # Permlist absent return 0 } # Check if package is installed. /etc/fixperm -i -d${_pk} /etc/perms/${_pl} > /dev/null 2>&1 case $? in 0) inst_status=all ;; 4|6) inst_status=none ;; 5) inst_status=part ;; *) inst_status=unknown return 1 ;; esac return 0 } # # Define default traps for critical and non critical code. # setdef_trap() { trap 'echo "\nInterrupted! Exiting"; cleanup 1' 1 2 3 15 return 0 } # # SHOULD BE USED WITH EVERY INSTALLATION SCRIPT # # Set the variable $prdperm to /etc/perms/$PRDVALUE or ./tmp/perms/$PRDVALUE # If the permlist is found, the values for set, prd, ver, typ, rel, # and upd are set from the permlist. # Also determine the OS type, xenix or unix, and set systype accordingly. # # sets following information in exported variables # OSREL: x.x.xy OSTYPE: unix|xenix OSBUS: isa|mc|ambi # OSPRD: OSMCH: # echo "OS Release: $OSREL OS Type: $OSTYPE OS Bus: $OSBUS" # echo "OS PRD Value: $OSPRD OS Machine Type: $OSMCH" # SETVARS1="Permlist not found" SETVARS2="Failed to set values from" SETVARS3="Incorrect prd value in" # Variables set by setvars. prdperm= fixperm=fixperm brand=brand set= prd= typ= rel= ser= upd= systype=unknown setvars() { # Locate fixperm, brand, and the permlist. for _i in /etc ./tmp do [ -f "$_i/fixperm" ] && fixperm=$_i/fixperm [ -f "$_i/brand" ] && brand=$_i/brand [ -f "$_i/perms/$PRDVALUE" ] && prdperm=$_i/perms/$PRDVALUE done [ "$prdperm" ] || { echo "Warning: $PRDVALUE $SETVARS1" >&2 return 1 } # Get the operating system type: case `uname -r` in 2.*) systype=xenix ;; 3.*) systype=unix ;; *) systype=unknown ;; esac # # OS variables setting # OSREL: x.x.xy OSTYPE: unix|xenix OSBUS: isa|mc|ambi # OSPRD: OSMCH: os mch type # OSTYPE=$systype case "$OSTYPE" in unix) eval `sed -n '/^#prd=/s/#//p /^#typ=/s/#//p /^#rel=/s/#//p' /etc/perms/rtsmd` > /dev/null 2>&1 OSREL=$rel OSPRD=$prd OSMCH=$typ # Systems 3.2.3 and later are ambi-architectural, # ie. will work on either mc or isa. case "$OSREL" in 3.2.[012]*) if [ -r /dev/mcapos ] then if grep mcapos /etc/perms/rtsmd > /dev/null 2>&1 then OSBUS=mc else OSBUS=unknown fi else OSBUS=isa fi ;; 3.2.[3-9]*) OSBUS=ambi ;; *) OSBUS=unknown ;; esac ;; xenix) eval `sed -n '/^#prd=/s/#//p /^#typ=/s/#//p /^#rel=/s/#//p' /etc/perms/inst` > /dev/null 2>&1 OSREL=$rel OSPRD=$prd OSMCH=$typ var=`expr $OSMCH : '.*\(..\)$'` if [ "$var" = "MC" -o "$var" = "PS" ] then OSBUS=mc else OSBUS=isa fi ;; *) OSREL=unknown OSTYPE=unknown OSBUS=unknown OSPRD=unknown OSMCH=unknown ;; esac export OSREL OSTYPE OSBUS OSPRD OSMCH # Clear these vars before they are used below. prd= rel= typ= # Extract product info from the permlist. eval `sed -n '/^#set=/s/#//p /^#prd=/s/#//p /^#typ=/s/#//p /^#rel=/s/#//p /^#ser=/s/#//p /^#upd=/s/#//p' $prdperm` || echo "\n$SETVARS2 $prdperm" >&2 # Check the prd value read from the permlist for correctness. case "$prd" in "$PRDVALUE") return 0 ;; *) echo "\n$SETVARS3 $prdperm" >&2 return 1 ;; esac return 0 } # # unset the default trap # unsetdef_trap() { trap '' 1 2 3 15 return 0 } # # Local functions # # Add a device driver to the kernel. The first argument is # a directory which contains the driver components. See # idinstall(ADM) for a description. The second argument is # the name of the driver that is being installed. # # usage adddevicedriver directory driverName # adddevicedriver() { DIRECTORY=$1 DRIVER=$2 OPTS=$3 [ -d $DIRECTORY ] || { echo "Directory $DIRECTORY does not exist" return $FAIL } [ -z $DRIVER ] && return $FAIL CURPWD=`pwd` cd $DIRECTORY if [ ! -d /etc/conf/pack.d/$DRIVER ] then /etc/conf/bin/idinstall -a $OPTS $DRIVER STATUS=$? else /etc/conf/bin/idinstall -u $OPTS $DRIVER STATUS=$? fi cd $CURPWD [ $STATUS -ne 0 ] && return $FAIL return $OK } # Remove a device driver from the kernel. The only # argument is the name of the driver. # # usage removedevicedriver driverName # removedevicedriver() { DRIVER=$1 OPTS=$2 [ -z $DRIVER ] && return $FAIL /etc/conf/bin/idcheck -p $DRIVER if [ $? -eq 0 ] then # Driver is already deinstalled. Return success return $OK fi # If the driver has a list of files which need to get removed # remove this files before restoring backed up files [ -f $SAVEDIR/$DRIVER/removelist ] && { for x in `cat $SAVEDIR/$DRIVER/removelist` do echo "\n\tRemoving $x ..." rm -f $x done rm -f $SAVEDIR/$DRIVER/removelist } # If driver files where backed up in $SAVEDIR/$DRIVER, copy these # files back if [ -d $SAVEDIR/$DRIVER ] then echo "\n\tRestoring driver files from $SAVEDIR/$DRIVER ...\c" ( cd $SAVEDIR/$DRIVER find . -type f -print | cpio -pdamu / > /dev/null >&1 ) rm -rf $SAVEDIR/$DRIVER else /etc/conf/bin/idinstall -d $OPTS $DRIVER fi if [ $? -ne 0 ] then return $FAIL fi return $OK } # # Init script specifics # PRODSET="SCO MP Driver for Olivetti 5030 and 5040 platforms" driver=olimpx # List of files which need to be backed up, if user wishes to BACKLIST="/etc/conf/pack.d/olimpx/Driver.o /etc/conf/pack.d/olimpx/space.c" # List of files which need to get removed when driver gets removed # This is needed because, Wyse EFS may already be installed and when AHS # is removed, space.c has to be removed so that kernel can relink. REMOVELIST="/etc/conf/pack.d/olimpx/space.c /etc/conf/pack.d/olimpx/Driver.o /etc/conf/sdevice.d/olimpx" # # All the rest is done in the common MPX driver script stub!! # : # @(#) mpx_dvr.sh 24.1 94/07/06 # # Copyright (C) 1994 The Santa Cruz Operation, Inc. # All Rights Reserved. # The information in this file is provided for the exclusive use of # the licensees of The Santa Cruz Operation, Inc. Such users have the # right to use, modify, and incorporate this code into other products # for purposes authorized by the license agreement provided they include # this notice and the associated copyright notice with any such product. # The information in this file is provided "AS IS" without warranty. PRDVALUE=gpisup ; export PRDVALUE # replacement components moved/saved to custom directories IDDIR=/usr/lib/custom/$PRDVALUE/ID SAVEDIR=/usr/lib/custom/$PRDVALUE/save ETCDIR=/etc CNFDIR=/etc/conf/cf.d LNKDIR=/etc/conf/pack.d SDVDIR=/etc/conf/sdevice.d ABRTMSG="\nInstallation aborted " FAILMSG="\nSome files may be missing or incorrect ... " # assumes to be running at the # root directory. cd / setvars # Ensure we have a link kit. linkchk || { echo $ABRTMSG exit $FAIL } getyn "\nDo you want to install $PRODSET ?" || { echo "$PRODSET will not be installed" exit 0 } # Check if there is a list of files which need backing up and if the driver # is currently installed [ "$BACKLIST" ] && { # idcheck return 0, if driver not installed if /etc/conf/bin/idcheck -p $driver then : do nothing, driver not installed else getyn "\nDo you want to save the old driver files ?" && { echo "\nSaving driver files under $SAVEDIR/$driver ..." for x in $BACKLIST do y=`dirname $x` mkdir -p $SAVEDIR/$driver/$y > /dev/null 2>&1 cp $x $SAVEDIR/$driver/$y done } fi } # If the driver is already installed, create the remove.list to # undo things when the package is un-installed # idcheck return 0, if driver not installed if /etc/conf/bin/idcheck -p $driver then : do nothing, driver not installed else [ "$REMOVELIST" ] && { mkdir -p $SAVEDIR/$driver > /dev/null 2>&1 echo $REMOVELIST > $SAVEDIR/$driver/removelist } fi echo "Installing $PRODSET ... \c" adddevicedriver $IDDIR/$driver $driver || { echo $ABRTMSG exit $FAIL } echo "Done." askklink || { echo "\n$PRODSET will" echo "not be available until a relink is done." # Exit successfully. Don't want an "init script failed" message. exit $OK } klink || { echo "Relink of kernel fails. $PRODSET features are NOT available." exit $FAIL } echo " The system must be re-booted, by typing 'init 6' at the shell prompt, for the installation to be complete." exit $OK ./tmp/init.olimpxp5 500 0 0 34066 5624372137 7435 : # @(#) init.olimpxp5 24.1 94/07/07 # # Copyright (C) 1994 The Santa Cruz Operation, Inc. # All Rights Reserved. # The information in this file is provided for the exclusive use of # the licensees of The Santa Cruz Operation, Inc. Such users have the # right to use, modify, and incorporate this code into other products # for purposes authorized by the license agreement provided they include # this notice and the associated copyright notice with any such product. # The information in this file is provided "AS IS" without warranty. # # # Local definitions. # UFILES="" FFILES="usr/lib/custom/gpisup/ID/olimpxp5/Driver.o usr/lib/custom/gpisup/ID/olimpxp5/Space.c usr/lib/custom/gpisup/ID/olimpxp5/System usr/lib/custom/gpisup/ID/olimpxp5/Master usr/lib/custom/gpisup/ID/olimpx/Driver.o usr/lib/custom/gpisup/ID/olimpx/Space.c usr/lib/custom/gpisup/ID/olimpx/System usr/lib/custom/gpisup/ID/olimpx/Master usr/lib/custom/gpisup/ID/apic/Driver.o usr/lib/custom/gpisup/ID/apic/Space.c usr/lib/custom/gpisup/ID/apic/Stubs.c usr/lib/custom/gpisup/ID/apic/System usr/lib/custom/gpisup/ID/apic/Master usr/lib/custom/gpisup/ID/ncrmp/Driver.o usr/lib/custom/gpisup/ID/ncrmp/Space.c usr/lib/custom/gpisup/ID/ncrmp/System usr/lib/custom/gpisup/ID/ncrmp/Master usr/lib/custom/gpisup/ID/sysproxl/Driver.o usr/lib/custom/gpisup/ID/sysproxl/Space.c usr/lib/custom/gpisup/ID/sysproxl/System usr/lib/custom/gpisup/ID/sysproxl/Master usr/lib/custom/gpisup/ID/wyse/Driver.o usr/lib/custom/gpisup/ID/wyse/Space.c usr/lib/custom/gpisup/ID/wyse/System usr/lib/custom/gpisup/ID/wyse/Master " NFILES="" LFILES="" AFILES="" INSTALLDIR=/ BACKUPDIR=/usr/lib/custom/pre-gpisup INSTTMPDIR= PRODPRD=gpisup PRDVALUE=gpisup PRODSET="SCO Multiprocessing Drivers EFS Release 3.4" BASEPACKDESC="SCO Multiprocessing Drivers EFS Release 3.4" PACKAGES="NCRMP SYSPROXL WYSE APIC OLIMPX OLIMPXP5" MPLIST="\n NCR 3360 and 3430 \n Compaq ProLiant 2000 and 4000\n WYSE 7000 Model 740 and 760 \n SCO APIC MP Driver Release 1.1\n Olivetti LSX 5030 and LSX 5040 \n Olivetti LSX 5050 " export UFILES FFILES NFILES LFILES AFILES BASEPACKDESC export BACKUPDIR INSTALLDIR INSTTMPDIR PRODPRD PRODSET export PRDVALUE PACKAGES # # Common functions. # : # @(#) common.sh 24.1 94/07/06 # # Copyright (C) 1994 The Santa Cruz Operation, Inc. # All Rights Reserved. # The information in this file is provided for the exclusive use of # the licensees of The Santa Cruz Operation, Inc. Such users have the # right to use, modify, and incorporate this code into other products # for purposes authorized by the license agreement provided they include # this notice and the associated copyright notice with any such product. # The information in this file is provided "AS IS" without warranty. # # # Common custom script functions. # #BEGIN_CM_SCRIPTLIB # # Standard CM script function library # configlib V1.0 # Contains: baselib, specificlib # # # Ask if the kernel should be relinked # askklink() { echo " " echo "The kernel link kit has been modified." echo "You must relink the kernel to receive the new functionality." getyn "\nDo you want to relink the kernel at this time ?" || return 1 return 0 } # # Prompt for yes or no answer - returns non-zero for no. # getyn() { while echo "$* (y/n) \c" do read yn rest case $yn in [yY]) return $OK ;; [nN]) return $FAIL ;; *) error "Please answer y or n" ;; esac done return 0 } # # Re-link new kernel. # klink() { # The _RELINK variable is set in the environment if relinking the # kernel is to be delayed as is the case with SAMI. [ "$_RELINK" ] && return 0 CURPWD=`pwd` cd /etc/conf/cf.d ./link_unix || { cd $CURPWD return 1 } cd $CURPWD return 0 } # # Test to see if link kit is installed. # linkchk() { # Set PERM variable used in linkchk(). if [ -f /etc/perms/extmd ]; then PERM=/etc/perms/extmd elif [ -f /etc/perms/inst ]; then PERM=/etc/perms/inst else error "Cannot locate LINK packages permlist. Needed to verify linkkit installation" return 1 fi # Test to see if link kit is installed. until fixperm -i -d LINK $PERM do case $? in 4) echo "\nThe Link Kit is not installed." ;; 5) echo "\nThe Link Kit is only partially installed." ;; *) error "fixperm failed testing for Link Kit. Exiting." return 1 ;; esac # Not fully installed. Do so here. echo "\nThe link kit must be installed to run this program." getyn "\nDo you wish to install it now?" || { # Answered no. echo "\nThe linkkit is not installed." return 1 } # Answered yes, so install the link kit. echo "\nInvoking /etc/custom\n" /etc/custom -o -i LINK || { # Custom exited unsuccessfully. error "Custom failed to install Link Kit successfully." return 1 } done return 0 } # # Standard CM script function library # baselib v1.2 # PATH=/bin:/usr/bin:/etc:. LANG=english_us.ascii # Used when scripts are internationalized. export PATH LANG TMPFILE=/tmp/tmp$$ # Define a temporary file for use if necessary. TMPFILE1=/tmp/tmp1$$ # Define a temporary file for use if necessary. TMPFILE2=/tmp/tmp2$$ # Define a temporary file for use if necessary. # Define return values. : ${OK=0} ${FAIL=1} ${STOP=10} # # Print an error message. # error() { echo "\nError: $*" >&2 return 0 } # # is_inst. # Function determines if a particular package of a product is # installed. # Usage: is_inst # eg. is_inst rts LINK # # The first argument is the name of the permlist for the product # being checked. # The second argument is the name of the package being checked. # The function sets shell variable inst_status to one of these # values: "all", "part", "none", or "unknown", to denote the # state of installation of the package. # The function returns 0 if inst_status was sucessfully determined, # 1 in the case of an error. is_inst () { inst_status=unknown _pl=$1 ; shift || return 1 # Permlist name _pk=$1 ; shift || return 1 # Package name [ "${_pl}" ] || return 1 [ "${_pk}" ] || return 1 [ -f /etc/perms/${_pl} ] || { inst_status=none # Permlist absent return 0 } # Check if package is installed. /etc/fixperm -i -d${_pk} /etc/perms/${_pl} > /dev/null 2>&1 case $? in 0) inst_status=all ;; 4|6) inst_status=none ;; 5) inst_status=part ;; *) inst_status=unknown return 1 ;; esac return 0 } # # Define default traps for critical and non critical code. # setdef_trap() { trap 'echo "\nInterrupted! Exiting"; cleanup 1' 1 2 3 15 return 0 } # # SHOULD BE USED WITH EVERY INSTALLATION SCRIPT # # Set the variable $prdperm to /etc/perms/$PRDVALUE or ./tmp/perms/$PRDVALUE # If the permlist is found, the values for set, prd, ver, typ, rel, # and upd are set from the permlist. # Also determine the OS type, xenix or unix, and set systype accordingly. # # sets following information in exported variables # OSREL: x.x.xy OSTYPE: unix|xenix OSBUS: isa|mc|ambi # OSPRD: OSMCH: # echo "OS Release: $OSREL OS Type: $OSTYPE OS Bus: $OSBUS" # echo "OS PRD Value: $OSPRD OS Machine Type: $OSMCH" # SETVARS1="Permlist not found" SETVARS2="Failed to set values from" SETVARS3="Incorrect prd value in" # Variables set by setvars. prdperm= fixperm=fixperm brand=brand set= prd= typ= rel= ser= upd= systype=unknown setvars() { # Locate fixperm, brand, and the permlist. for _i in /etc ./tmp do [ -f "$_i/fixperm" ] && fixperm=$_i/fixperm [ -f "$_i/brand" ] && brand=$_i/brand [ -f "$_i/perms/$PRDVALUE" ] && prdperm=$_i/perms/$PRDVALUE done [ "$prdperm" ] || { echo "Warning: $PRDVALUE $SETVARS1" >&2 return 1 } # Get the operating system type: case `uname -r` in 2.*) systype=xenix ;; 3.*) systype=unix ;; *) systype=unknown ;; esac # # OS variables setting # OSREL: x.x.xy OSTYPE: unix|xenix OSBUS: isa|mc|ambi # OSPRD: OSMCH: os mch type # OSTYPE=$systype case "$OSTYPE" in unix) eval `sed -n '/^#prd=/s/#//p /^#typ=/s/#//p /^#rel=/s/#//p' /etc/perms/rtsmd` > /dev/null 2>&1 OSREL=$rel OSPRD=$prd OSMCH=$typ # Systems 3.2.3 and later are ambi-architectural, # ie. will work on either mc or isa. case "$OSREL" in 3.2.[012]*) if [ -r /dev/mcapos ] then if grep mcapos /etc/perms/rtsmd > /dev/null 2>&1 then OSBUS=mc else OSBUS=unknown fi else OSBUS=isa fi ;; 3.2.[3-9]*) OSBUS=ambi ;; *) OSBUS=unknown ;; esac ;; xenix) eval `sed -n '/^#prd=/s/#//p /^#typ=/s/#//p /^#rel=/s/#//p' /etc/perms/inst` > /dev/null 2>&1 OSREL=$rel OSPRD=$prd OSMCH=$typ var=`expr $OSMCH : '.*\(..\)$'` if [ "$var" = "MC" -o "$var" = "PS" ] then OSBUS=mc else OSBUS=isa fi ;; *) OSREL=unknown OSTYPE=unknown OSBUS=unknown OSPRD=unknown OSMCH=unknown ;; esac export OSREL OSTYPE OSBUS OSPRD OSMCH # Clear these vars before they are used below. prd= rel= typ= # Extract product info from the permlist. eval `sed -n '/^#set=/s/#//p /^#prd=/s/#//p /^#typ=/s/#//p /^#rel=/s/#//p /^#ser=/s/#//p /^#upd=/s/#//p' $prdperm` || echo "\n$SETVARS2 $prdperm" >&2 # Check the prd value read from the permlist for correctness. case "$prd" in "$PRDVALUE") return 0 ;; *) echo "\n$SETVARS3 $prdperm" >&2 return 1 ;; esac return 0 } # # unset the default trap # unsetdef_trap() { trap '' 1 2 3 15 return 0 } # # Local functions # # Add a device driver to the kernel. The first argument is # a directory which contains the driver components. See # idinstall(ADM) for a description. The second argument is # the name of the driver that is being installed. # # usage adddevicedriver directory driverName # adddevicedriver() { DIRECTORY=$1 DRIVER=$2 OPTS=$3 [ -d $DIRECTORY ] || { echo "Directory $DIRECTORY does not exist" return $FAIL } [ -z $DRIVER ] && return $FAIL CURPWD=`pwd` cd $DIRECTORY if [ ! -d /etc/conf/pack.d/$DRIVER ] then /etc/conf/bin/idinstall -a $OPTS $DRIVER STATUS=$? else /etc/conf/bin/idinstall -u $OPTS $DRIVER STATUS=$? fi cd $CURPWD [ $STATUS -ne 0 ] && return $FAIL return $OK } # Remove a device driver from the kernel. The only # argument is the name of the driver. # # usage removedevicedriver driverName # removedevicedriver() { DRIVER=$1 OPTS=$2 [ -z $DRIVER ] && return $FAIL /etc/conf/bin/idcheck -p $DRIVER if [ $? -eq 0 ] then # Driver is already deinstalled. Return success return $OK fi # If the driver has a list of files which need to get removed # remove this files before restoring backed up files [ -f $SAVEDIR/$DRIVER/removelist ] && { for x in `cat $SAVEDIR/$DRIVER/removelist` do echo "\n\tRemoving $x ..." rm -f $x done rm -f $SAVEDIR/$DRIVER/removelist } # If driver files where backed up in $SAVEDIR/$DRIVER, copy these # files back if [ -d $SAVEDIR/$DRIVER ] then echo "\n\tRestoring driver files from $SAVEDIR/$DRIVER ...\c" ( cd $SAVEDIR/$DRIVER find . -type f -print | cpio -pdamu / > /dev/null >&1 ) rm -rf $SAVEDIR/$DRIVER else /etc/conf/bin/idinstall -d $OPTS $DRIVER fi if [ $? -ne 0 ] then return $FAIL fi return $OK } # # Init script specifics # PRODSET="SCO MP Driver for Olivetti 5050 platform" driver=olimpxp5 # List of files which need to be backed up, if user wishes to BACKLIST="/etc/conf/pack.d/olimpxp5/Driver.o /etc/conf/pack.d/olimpxp5/space.c" # List of files which need to get removed when driver gets removed # This is needed because, Wyse EFS may already be installed and when AHS # is removed, space.c has to be removed so that kernel can relink. REMOVELIST="/etc/conf/pack.d/olimpxp5/space.c /etc/conf/pack.d/olimpxp5/Driver.o /etc/conf/sdevice.d/olimpxp5" # # All the rest is done in the common MPX driver script stub!! # : # @(#) mpx_dvr.sh 24.1 94/07/06 # # Copyright (C) 1994 The Santa Cruz Operation, Inc. # All Rights Reserved. # The information in this file is provided for the exclusive use of # the licensees of The Santa Cruz Operation, Inc. Such users have the # right to use, modify, and incorporate this code into other products # for purposes authorized by the license agreement provided they include # this notice and the associated copyright notice with any such product. # The information in this file is provided "AS IS" without warranty. PRDVALUE=gpisup ; export PRDVALUE # replacement components moved/saved to custom directories IDDIR=/usr/lib/custom/$PRDVALUE/ID SAVEDIR=/usr/lib/custom/$PRDVALUE/save ETCDIR=/etc CNFDIR=/etc/conf/cf.d LNKDIR=/etc/conf/pack.d SDVDIR=/etc/conf/sdevice.d ABRTMSG="\nInstallation aborted " FAILMSG="\nSome files may be missing or incorrect ... " # assumes to be running at the # root directory. cd / setvars # Ensure we have a link kit. linkchk || { echo $ABRTMSG exit $FAIL } getyn "\nDo you want to install $PRODSET ?" || { echo "$PRODSET will not be installed" exit 0 } # Check if there is a list of files which need backing up and if the driver # is currently installed [ "$BACKLIST" ] && { # idcheck return 0, if driver not installed if /etc/conf/bin/idcheck -p $driver then : do nothing, driver not installed else getyn "\nDo you want to save the old driver files ?" && { echo "\nSaving driver files under $SAVEDIR/$driver ..." for x in $BACKLIST do y=`dirname $x` mkdir -p $SAVEDIR/$driver/$y > /dev/null 2>&1 cp $x $SAVEDIR/$driver/$y done } fi } # If the driver is already installed, create the remove.list to # undo things when the package is un-installed # idcheck return 0, if driver not installed if /etc/conf/bin/idcheck -p $driver then : do nothing, driver not installed else [ "$REMOVELIST" ] && { mkdir -p $SAVEDIR/$driver > /dev/null 2>&1 echo $REMOVELIST > $SAVEDIR/$driver/removelist } fi echo "Installing $PRODSET ... \c" adddevicedriver $IDDIR/$driver $driver || { echo $ABRTMSG exit $FAIL } echo "Done." askklink || { echo "\n$PRODSET will" echo "not be available until a relink is done." # Exit successfully. Don't want an "init script failed" message. exit $OK } klink || { echo "Relink of kernel fails. $PRODSET features are NOT available." exit $FAIL } echo " The system must be re-booted, by typing 'init 6' at the shell prompt, for the installation to be complete." exit $OK ./usr/lib/custom/gpisup/ID/ncrmp/Driver.o 644 0 3 12340 5624372105 13417 LxËQ.¤ > ¤Ðt@.textÐФФ€ .datat@t@t@.bss„@„@€.comment „U‹ìƒì$SWVÇEìÇEð€=uÇEìÿuìjèÿþÿÿƒÄÿ5èñþÿÿƒÄPjèæþÿÿƒÄh" èáƒÄÁà£h! è̃ÄÁࣃ=u Çøƒ=u Çü¡ƒÀ)Pè…þÿÿƒÄ‰Eà‹MðÿEð‰h†èpƒÄ‰EühŠè`ƒÄ‰EÜ‹Eà÷Ð#Eü#EÜ‹ø‹ß3öë)÷Çt‹EðÿEðº‹ÎÓ≅èþÿÿFÑÿƒþ|Õ¸f‹ fAÓàH‰Eø÷ÐPÿuøÿ5èìýÿÿƒÄ SÿuàèDƒÄèØýÿÿèÓýÿÿ Àt+èÊýÿÿjP¡ƒÀAPèºýÿÿƒÄjjjè¬ýÿÿƒÄ è¤ýÿÿ^_[ÉÃU‹ìƒìSWV¶P¡ƒÀ Pè}ýÿÿƒÄöE0t¸ð븋؋E÷Ð#E #Ëø ÿtS3öëK÷Çt?¸‹ÎÓàP赃Ä P¡ƒÀ!Pè%ýÿÿƒÄ¶P¡ƒÀ Pè ýÿÿƒÄÑÿF ÿu²‹E ‹Ë÷Ñ#Á‰Eü ÀtU3öëKöEüt?¸‹ÎÓàPèSƒÄ P¡ƒÀ!PèÃüÿÿƒÄ¶P¡ƒÀ PèªüÿÿƒÄÑ}üFƒ}üu±j¡ƒÀ!PèüÿÿƒÄ^_[ÉÃU‹ìƒìV3öëÑ}Fƒ}uöFÿ^ÉÃU‹ìƒìVƒ} |‹5ƒÆ9ƒm ë ‹5ƒÆ8‹Eÿ4…è°ÿÿÿƒÄ P¡ƒÀ!Pè üÿÿƒÄƒ}tVèüÿÿƒÄºŠM Óâ ÐëVèúûÿÿƒÄºŠM Óâ÷Ò#ÐRVèâûÿÿƒÄj¡ƒÀ!PèÏûÿÿƒÄ^ÉÃU‹ìƒìƒ=…ƒ=„ôÇÇEüëjÿuüÿ5èÿÿÿƒÄ ÿEüƒ}üPÿuüÿ5èjûÿÿƒÄ ÀtÏÿuüÿ5èUûÿÿƒÄƒøu¹jÿuüÿ5èÕþÿÿƒÄ ¸ŠMüÓà ë§ÇEøëVÿEüƒ}üGÿuüÿuøèûÿÿƒÄ ÀtåÿuüÿuøèöúÿÿƒÄƒøuÒjÿuüjèzþÿÿƒÄ jÿuüÿuøèjþÿÿƒÄ ë±ÿEø¡9Eø ÇEüëè¯úÿÿÉÃU‹ì‹Eÿ4…ÿ5è”úÿÿÉÃU‹ìjè†úÿÿÉÃU‹ìƒìj¡ƒÀAPènúÿÿƒÄÇEüÀ¸À‹£¸À‹M Áá M‰}}‹E@ë3Àÿ4…¡ƒÀPè!úÿÿÉÃU‹ìƒì V}}‹E@ë3À‹ðÇEüÇEôÀ¸À‹ ‰€=uÇEüÿuüVèÌùÿÿƒÄÿ5è¾ùÿÿƒÄPVè´ùÿÿƒÄjP¡ƒÀAPè¡ùÿÿƒÄjjVè”ùÿÿƒÄ hjVè„ùÿÿƒÄ ^ÉÃU‹ìƒìV¾AöE0öE"‹Æ^ÉÃU‹ìƒìVh èWƒÄ‹ð}} ‹E@ë3Àÿ4…è®ÿÿÿƒÄPVè ùÿÿƒÄj`¡ƒÀ Pè ùÿÿƒÄhÿVèÿøÿÿƒÄ^ÉÃU‹ì·EÁè¶ÀPjuèãøÿÿƒÄ¶EPjtèÔøÿÿƒÄjvèÊøÿÿƒÄ¶ÀÉÃU‹ìƒìV3öhÿÿhþÿht@è£øÿÿƒÄ ÀtÇ Ç¾‹Æ^ÉÃWƒÿu+ÿ‹ßÁë‹Ç%=u%f‹]쨀uƒÿr ° f‹î¸ÿÿÿÿƒÄÃè7øÿÿ¶‹R££f‹Eæ!ŠÄ桃ÿºQ‹ÏÓâY…u° f‹î Ût f‹]îX_É ‰ f‹Mæ!ŠÄæ¡SRƒÿ/»Q‹ÏÓãY…t° f‹î‹ßÁë Ût f‹]îZ[ÃNCR Voyager-1@(#)SCO GPISUP 1.0.0a 94/08/17é2ý" ) #. 8C I R \ e n w Š4”¤Þ4ã&÷- 0#$6)239 BPXp,v Ã/Î ×á+ç ð%/0 9CI Rf o§ ¶ Ã4È/Ó Üë  $ -@(M-Z s(x1(’¢(§$º(¿1Ò ô$1*18-M]4c hv… Ž¤ Í4Ò Û 20"9>)H R [hpx­Í4ÒÜæ ïý(2 TYf.p*£8¶8Å9Ï:Õ:Ú;â<þ  88":(;0<N Y8k8.datat@ŒÄ%»6ìDTdpo~’¡¯picinit½ÏçdÐarch0outb>U`äm„clockzŠ@•8inb£ ¯½ÇÓTãí|ø 7KmpvendorU|cp˜|‡•£p°½„cmdport_intpriiplpicipliplmaskÎ àncrmp_chkspuriousncrmp_real_intncrmp_splintsretncrmp_di_testncrmp_splinteoincrmp_splintretncrmp_nodincrmp_firstcpincrmp_superset_basencrmp_vic_basencrmp_di_maskset_pdbustypecrllry_cpureleasencrmp_activity_otherbusncrmp_assign_activity_levelsncrmp_setupiattr_inusemultiple_processorsset_cpuvectorcrllry_boot_processorsistrsearchncrmp_bootedncrmpidtocatncrmp_readxcmosncrmp_presncrmp_picinitncrmp_resetset_pdcputypeseticlassiattr_distnncrmp_interruptbump_cpusncrmp_bootprocessor_indexarchtobusmpvendorclassncrmp_activity_nonbootncrmp_activity_bootnum_ACPUsncrmp_idtopidncrmp_iclassncrmp_claimcpu_familymultiple_picsncrmp_cputoidncrmp_enablecpus_locatedncrmp_prehandlerncrmp_posthandler./usr/lib/custom/gpisup/ID/ncrmp/Space.c 644 0 3 5471 5624372046 13176 #ident "@(#) space.c 25.1 94/03/16 " /* * Portions Copyright 1988-1994 The Santa Cruz Operation, Inc * All Rights Reserved * This Module contains Proprietary Information of * The Santa Cruz Operation and should be treated as Confidential. */ /* * Copyright (C) Corollary, Inc., 1986, 1987, 1988, 1989, 1990, 1991. * All Rights Reserved. * This Module contains Proprietary Information of * Corollary, Inc., and should be treated as Confidential. */ #include "config.h" #include "sys/types.h" #include "sys/param.h" #include "sys/ci/cimpsw.h" #define NCR_MAX_CPUS 4 int ncrdebug = 1 ; int ncrmp_cputoid[NCR_MAX_CPUS]; extern int ncrmp_pres(); extern void ncrmp_setup(); extern void ncrmp_boot(); extern void ncrmp_booted(); extern void ncrmp_enable(); extern void ncrmp_reset(); extern void ncrmp_interrupt(); extern int ncrmp_prehandler(); extern int ncrmp_posthandler(); extern int ppic_feoi(); extern void ncrmp_picinit(); extern void mpnull(); char ncrmp_swvers[] = MPSW_VERSION_2; struct mpsw ncrmpsw = { ncrmp_pres, /* presence identification */ ncrmp_swvers, /* structure version definition */ NULL, /* platform startup */ ncrmp_setup, /* platform setup */ ncrmp_boot, /* processor boot */ ncrmp_booted, /* processor now up */ NULL, /* post driver init */ ncrmp_enable, /* processor enable */ NULL, /* post-intr exceptions */ ncrmp_reset, /* reset a processor */ mpnull, /* turn on LED */ mpnull, /* turn off LED */ ncrmp_interrupt, /* interrupt processor */ mpnull, /* clear processor interrupt */ NULL, /* send NMI to a processor */ NULL, /* clear processor NMI */ NULL, /* spl function */ ncrmp_prehandler, /* prehandler */ (int(*)())mpnull, /* prefhandler */ ncrmp_posthandler, /* posthandler */ ppic_feoi, /* postfhandler */ ncrmp_picinit, /* picinit */ NULL, /* enableint */ NULL, /* disableint */ NULL, /* distclock */ NULL, /* predist */ NULL, /* postdist */ NULL, /* idistribute */ NULL, /* reserved entry 29 */ NULL, /* reserved entry 30 */ NULL, /* reserved entry 31 */ NULL, /* reserved entry 32 */ NULL, /* reserved entry 33 */ NULL, /* reserved entry 34 */ NULL /* reserved entry 35 */ }; struct mpsw *ncrmpswlist[] = { &ncrmpsw, 0, }; /* Activity levels - for distribution of interrupts */ unsigned char ncrmp_activity_boot = 5 ; unsigned char ncrmp_activity_nonboot = 2 ; unsigned char ncrmp_activity_otherbus = 0 ; /* Interrupt Distribution Class */ #define NCRMP_ICLASS_STATIC 2 #define NCRMP_ICLASS_EXDYNAMIC 3 ncrmp_iclass=NCRMP_ICLASS_EXDYNAMIC; ./usr/lib/custom/gpisup/ID/ncrmp/System 644 0 3 30 5624372047 13131 ncrmp Y 1 0 0 0 0 0 0 0 ./usr/lib/custom/gpisup/ID/ncrmp/Master 644 0 3 35 5624372047 13105 ncrmp - iov ncrmp 0 0 1 1 -1 ./usr/lib/custom/gpisup.rmv 500 0 1 30107 5624372140 11104 : # @(#) rmv.sh 24.1 94/07/06 # # Copyright (C) 1994 The Santa Cruz Operation, Inc. # All Rights Reserved. # The information in this file is provided for the exclusive use of # the licensees of The Santa Cruz Operation, Inc. Such users have the # right to use, modify, and incorporate this code into other products # for purposes authorized by the license agreement provided they include # this notice and the associated copyright notice with any such product. # The information in this file is provided "AS IS" without warranty. # # # Local definitions. # UFILES="" FFILES="usr/lib/custom/gpisup/ID/olimpxp5/Driver.o usr/lib/custom/gpisup/ID/olimpxp5/Space.c usr/lib/custom/gpisup/ID/olimpxp5/System usr/lib/custom/gpisup/ID/olimpxp5/Master usr/lib/custom/gpisup/ID/olimpx/Driver.o usr/lib/custom/gpisup/ID/olimpx/Space.c usr/lib/custom/gpisup/ID/olimpx/System usr/lib/custom/gpisup/ID/olimpx/Master usr/lib/custom/gpisup/ID/apic/Driver.o usr/lib/custom/gpisup/ID/apic/Space.c usr/lib/custom/gpisup/ID/apic/Stubs.c usr/lib/custom/gpisup/ID/apic/System usr/lib/custom/gpisup/ID/apic/Master usr/lib/custom/gpisup/ID/ncrmp/Driver.o usr/lib/custom/gpisup/ID/ncrmp/Space.c usr/lib/custom/gpisup/ID/ncrmp/System usr/lib/custom/gpisup/ID/ncrmp/Master usr/lib/custom/gpisup/ID/sysproxl/Driver.o usr/lib/custom/gpisup/ID/sysproxl/Space.c usr/lib/custom/gpisup/ID/sysproxl/System usr/lib/custom/gpisup/ID/sysproxl/Master usr/lib/custom/gpisup/ID/wyse/Driver.o usr/lib/custom/gpisup/ID/wyse/Space.c usr/lib/custom/gpisup/ID/wyse/System usr/lib/custom/gpisup/ID/wyse/Master " NFILES="" LFILES="" AFILES="" INSTALLDIR=/ BACKUPDIR=/usr/lib/custom/pre-gpisup INSTTMPDIR= PRODPRD=gpisup PRDVALUE=gpisup PRODSET="SCO Multiprocessing Drivers EFS Release 3.4" BASEPACKDESC="SCO Multiprocessing Drivers EFS Release 3.4" PACKAGES="NCRMP SYSPROXL WYSE APIC OLIMPX OLIMPXP5" MPLIST="\n NCR 3360 and 3430 \n Compaq ProLiant 2000 and 4000\n WYSE 7000 Model 740 and 760 \n SCO APIC MP Driver Release 1.1\n Olivetti LSX 5030 and LSX 5040 \n Olivetti LSX 5050 " export UFILES FFILES NFILES LFILES AFILES BASEPACKDESC export BACKUPDIR INSTALLDIR INSTTMPDIR PRODPRD PRODSET export PRDVALUE PACKAGES # # Common functions. # : # @(#) common.sh 24.1 94/07/06 # # Copyright (C) 1994 The Santa Cruz Operation, Inc. # All Rights Reserved. # The information in this file is provided for the exclusive use of # the licensees of The Santa Cruz Operation, Inc. Such users have the # right to use, modify, and incorporate this code into other products # for purposes authorized by the license agreement provided they include # this notice and the associated copyright notice with any such product. # The information in this file is provided "AS IS" without warranty. # # # Common custom script functions. # #BEGIN_CM_SCRIPTLIB # # Standard CM script function library # configlib V1.0 # Contains: baselib, specificlib # # # Ask if the kernel should be relinked # askklink() { echo " " echo "The kernel link kit has been modified." echo "You must relink the kernel to receive the new functionality." getyn "\nDo you want to relink the kernel at this time ?" || return 1 return 0 } # # Prompt for yes or no answer - returns non-zero for no. # getyn() { while echo "$* (y/n) \c" do read yn rest case $yn in [yY]) return $OK ;; [nN]) return $FAIL ;; *) error "Please answer y or n" ;; esac done return 0 } # # Re-link new kernel. # klink() { # The _RELINK variable is set in the environment if relinking the # kernel is to be delayed as is the case with SAMI. [ "$_RELINK" ] && return 0 CURPWD=`pwd` cd /etc/conf/cf.d ./link_unix || { cd $CURPWD return 1 } cd $CURPWD return 0 } # # Test to see if link kit is installed. # linkchk() { # Set PERM variable used in linkchk(). if [ -f /etc/perms/extmd ]; then PERM=/etc/perms/extmd elif [ -f /etc/perms/inst ]; then PERM=/etc/perms/inst else error "Cannot locate LINK packages permlist. Needed to verify linkkit installation" return 1 fi # Test to see if link kit is installed. until fixperm -i -d LINK $PERM do case $? in 4) echo "\nThe Link Kit is not installed." ;; 5) echo "\nThe Link Kit is only partially installed." ;; *) error "fixperm failed testing for Link Kit. Exiting." return 1 ;; esac # Not fully installed. Do so here. echo "\nThe link kit must be installed to run this program." getyn "\nDo you wish to install it now?" || { # Answered no. echo "\nThe linkkit is not installed." return 1 } # Answered yes, so install the link kit. echo "\nInvoking /etc/custom\n" /etc/custom -o -i LINK || { # Custom exited unsuccessfully. error "Custom failed to install Link Kit successfully." return 1 } done return 0 } # # Standard CM script function library # baselib v1.2 # PATH=/bin:/usr/bin:/etc:. LANG=english_us.ascii # Used when scripts are internationalized. export PATH LANG TMPFILE=/tmp/tmp$$ # Define a temporary file for use if necessary. TMPFILE1=/tmp/tmp1$$ # Define a temporary file for use if necessary. TMPFILE2=/tmp/tmp2$$ # Define a temporary file for use if necessary. # Define return values. : ${OK=0} ${FAIL=1} ${STOP=10} # # Print an error message. # error() { echo "\nError: $*" >&2 return 0 } # # is_inst. # Function determines if a particular package of a product is # installed. # Usage: is_inst # eg. is_inst rts LINK # # The first argument is the name of the permlist for the product # being checked. # The second argument is the name of the package being checked. # The function sets shell variable inst_status to one of these # values: "all", "part", "none", or "unknown", to denote the # state of installation of the package. # The function returns 0 if inst_status was sucessfully determined, # 1 in the case of an error. is_inst () { inst_status=unknown _pl=$1 ; shift || return 1 # Permlist name _pk=$1 ; shift || return 1 # Package name [ "${_pl}" ] || return 1 [ "${_pk}" ] || return 1 [ -f /etc/perms/${_pl} ] || { inst_status=none # Permlist absent return 0 } # Check if package is installed. /etc/fixperm -i -d${_pk} /etc/perms/${_pl} > /dev/null 2>&1 case $? in 0) inst_status=all ;; 4|6) inst_status=none ;; 5) inst_status=part ;; *) inst_status=unknown return 1 ;; esac return 0 } # # Define default traps for critical and non critical code. # setdef_trap() { trap 'echo "\nInterrupted! Exiting"; cleanup 1' 1 2 3 15 return 0 } # # SHOULD BE USED WITH EVERY INSTALLATION SCRIPT # # Set the variable $prdperm to /etc/perms/$PRDVALUE or ./tmp/perms/$PRDVALUE # If the permlist is found, the values for set, prd, ver, typ, rel, # and upd are set from the permlist. # Also determine the OS type, xenix or unix, and set systype accordingly. # # sets following information in exported variables # OSREL: x.x.xy OSTYPE: unix|xenix OSBUS: isa|mc|ambi # OSPRD: OSMCH: # echo "OS Release: $OSREL OS Type: $OSTYPE OS Bus: $OSBUS" # echo "OS PRD Value: $OSPRD OS Machine Type: $OSMCH" # SETVARS1="Permlist not found" SETVARS2="Failed to set values from" SETVARS3="Incorrect prd value in" # Variables set by setvars. prdperm= fixperm=fixperm brand=brand set= prd= typ= rel= ser= upd= systype=unknown setvars() { # Locate fixperm, brand, and the permlist. for _i in /etc ./tmp do [ -f "$_i/fixperm" ] && fixperm=$_i/fixperm [ -f "$_i/brand" ] && brand=$_i/brand [ -f "$_i/perms/$PRDVALUE" ] && prdperm=$_i/perms/$PRDVALUE done [ "$prdperm" ] || { echo "Warning: $PRDVALUE $SETVARS1" >&2 return 1 } # Get the operating system type: case `uname -r` in 2.*) systype=xenix ;; 3.*) systype=unix ;; *) systype=unknown ;; esac # # OS variables setting # OSREL: x.x.xy OSTYPE: unix|xenix OSBUS: isa|mc|ambi # OSPRD: OSMCH: os mch type # OSTYPE=$systype case "$OSTYPE" in unix) eval `sed -n '/^#prd=/s/#//p /^#typ=/s/#//p /^#rel=/s/#//p' /etc/perms/rtsmd` > /dev/null 2>&1 OSREL=$rel OSPRD=$prd OSMCH=$typ # Systems 3.2.3 and later are ambi-architectural, # ie. will work on either mc or isa. case "$OSREL" in 3.2.[012]*) if [ -r /dev/mcapos ] then if grep mcapos /etc/perms/rtsmd > /dev/null 2>&1 then OSBUS=mc else OSBUS=unknown fi else OSBUS=isa fi ;; 3.2.[3-9]*) OSBUS=ambi ;; *) OSBUS=unknown ;; esac ;; xenix) eval `sed -n '/^#prd=/s/#//p /^#typ=/s/#//p /^#rel=/s/#//p' /etc/perms/inst` > /dev/null 2>&1 OSREL=$rel OSPRD=$prd OSMCH=$typ var=`expr $OSMCH : '.*\(..\)$'` if [ "$var" = "MC" -o "$var" = "PS" ] then OSBUS=mc else OSBUS=isa fi ;; *) OSREL=unknown OSTYPE=unknown OSBUS=unknown OSPRD=unknown OSMCH=unknown ;; esac export OSREL OSTYPE OSBUS OSPRD OSMCH # Clear these vars before they are used below. prd= rel= typ= # Extract product info from the permlist. eval `sed -n '/^#set=/s/#//p /^#prd=/s/#//p /^#typ=/s/#//p /^#rel=/s/#//p /^#ser=/s/#//p /^#upd=/s/#//p' $prdperm` || echo "\n$SETVARS2 $prdperm" >&2 # Check the prd value read from the permlist for correctness. case "$prd" in "$PRDVALUE") return 0 ;; *) echo "\n$SETVARS3 $prdperm" >&2 return 1 ;; esac return 0 } # # unset the default trap # unsetdef_trap() { trap '' 1 2 3 15 return 0 } # # Local functions # # Add a device driver to the kernel. The first argument is # a directory which contains the driver components. See # idinstall(ADM) for a description. The second argument is # the name of the driver that is being installed. # # usage adddevicedriver directory driverName # adddevicedriver() { DIRECTORY=$1 DRIVER=$2 OPTS=$3 [ -d $DIRECTORY ] || { echo "Directory $DIRECTORY does not exist" return $FAIL } [ -z $DRIVER ] && return $FAIL CURPWD=`pwd` cd $DIRECTORY if [ ! -d /etc/conf/pack.d/$DRIVER ] then /etc/conf/bin/idinstall -a $OPTS $DRIVER STATUS=$? else /etc/conf/bin/idinstall -u $OPTS $DRIVER STATUS=$? fi cd $CURPWD [ $STATUS -ne 0 ] && return $FAIL return $OK } # Remove a device driver from the kernel. The only # argument is the name of the driver. # # usage removedevicedriver driverName # removedevicedriver() { DRIVER=$1 OPTS=$2 [ -z $DRIVER ] && return $FAIL /etc/conf/bin/idcheck -p $DRIVER if [ $? -eq 0 ] then # Driver is already deinstalled. Return success return $OK fi # If the driver has a list of files which need to get removed # remove this files before restoring backed up files [ -f $SAVEDIR/$DRIVER/removelist ] && { for x in `cat $SAVEDIR/$DRIVER/removelist` do echo "\n\tRemoving $x ..." rm -f $x done rm -f $SAVEDIR/$DRIVER/removelist } # If driver files where backed up in $SAVEDIR/$DRIVER, copy these # files back if [ -d $SAVEDIR/$DRIVER ] then echo "\n\tRestoring driver files from $SAVEDIR/$DRIVER ...\c" ( cd $SAVEDIR/$DRIVER find . -type f -print | cpio -pdamu / > /dev/null >&1 ) rm -rf $SAVEDIR/$DRIVER else /etc/conf/bin/idinstall -d $OPTS $DRIVER fi if [ $? -ne 0 ] then return $FAIL fi return $OK } # # Rmv script functions. # # #MAIN # PRODSET="SCO MP Drivers" # replacements saved/restored from custom directories IDDIR=/usr/lib/custom/$PRDVALUE/ID SAVEDIR=/usr/lib/custom/$PRDVALUE/save ETCDIR=/etc CNFDIR=/etc/conf/cf.d LNKDIR=/etc/conf/pack.d SDVDIR=/etc/conf/sdevice.d ABRTMSG="\nRemoval aborted!" FAILMSG="\nDriver may not be completely removed!" # assumes to be running at the # root directory. cd / allpkgs="$PACKAGES" pkgs=`echo $* | tr "[a-z]" "[A-Z]"` for x in $pkgs do [ "$x" = "ALL" ] && { pkgs=$allpkgs break } done setvars # Ensure we have a link kit. linkchk || { echo $ABRTMSG exit $FAIL } for x in $pkgs do driver=`echo $x | tr "[A-Z]" "[a-z]"` echo "Removing $PRODSET $driver ...\c" removedevicedriver $driver || { echo $FAILMSG return $FAIL } echo "Done." done askklink || { echo "\n$PRODSET not removed from kernel." # Exit successfully anyway exit $OK } klink || { echo "Relink of kernel fails. $PRODSET not removed." exit $FAIL } echo " The system must be re-booted, by typing 'init 6' at the shell prompt, for the installation to be complete." exit $OK ./usr/lib/custom/gpisup/ID/sysproxl/Driver.o 644 0 3 22326 5624372113 14207 LoËQ.\F @¸ Ð@.textÐÐ@Ðèr .data@@¸@.bssÈ@È@ €.comment ÈU‹ì¾EPht èÿÿÿƒÄ¾E Phu è ÿÿÿƒÄ‹E Áø¾ÀPhv èõþÿÿƒÄhw èèþÿÿÉÃU‹ìƒìWVhg èÒþÿÿƒÄ Phg èÂþÿÿƒÄ¿ƒ=@„éh@¾Pj!hè”þÿÿƒÄ‹ð öt¸ë¸PjèwþÿÿƒÄjjèkþÿÿƒÄ9=Œ<h@¾‡Pj!hèCþÿÿƒÄ À„h @¾‡PjAhèþÿÿƒÄ‹ð öt ¸ë¸PWèþÿÿƒÄjWèõýÿÿƒÄ‹Ç j !Pht èàýÿÿƒÄèØýÿÿjj WèÎýÿÿƒÄ é¦è€=Ò@u ¸ë¸PjèŸýÿÿƒÄjjè“ýÿÿƒÄ¿ëC¸PWè|ýÿÿƒÄjWèqýÿÿƒÄ‹Ç j !Pht è\ýÿÿƒÄèTýÿÿjj WèJýÿÿƒÄ G9=È@~9=|ïkÇ€¸Ò@u¢¸ë j¸f‹ fAÓàHPjèýÿÿƒÄ èýüÿÿèøüÿÿ Àtèïüÿÿ^_ÉÃU‹ìƒìj èÛüÿÿÉÃU‹ì‹E‹ …ÿ… Ét jÿuè¶üÿÿƒÄ}}‹E@ë3À j !Pht è’üÿÿÉÃU‹ìƒìVÇEøgÀ¸gÀ‹M Áá M‰hèhüÿÿƒÄ‹ð}}‹E@ë3À j &Pht èBüÿÿƒÄVhè4üÿÿƒÄ^ÉÃU‹ìƒì0è!üÿÿ À„‚ÇEÐÇEÔÇEØÇEÜÇEàÇEäÇEèÇEìÇEðÇEü븊MüÓà‰EôEÐPèºûÿÿƒÄÿEü¡9Eü~Úè¥ûÿÿjj jèšûÿÿƒÄ ÉÃÃÃU‹ì‹E È Pht èvûÿÿÉÃU‹ìjhÈ èeûÿÿÉÃU‹ìƒìhj èPûÿÿƒÄ¨ tèDûÿÿÉÃU‹ìƒì V3öh€ è-ûÿÿƒÄ‰Eühhàh(@èûÿÿƒÄ Àtyèûÿÿ Àup}üu&ÇǾ‰5@‹Æ^ÉÃÇEôë.‹Eô‹Mü9 …uÇǾÿEô¡9Eô|Ë‹Æ^ÉÃÃU‹ìè€úÿÿƒ=t@hÐjè;ûÿÿƒÄ¾ÀPhÐèZúÿÿƒÄhÑjèûÿÿƒÄ¾ÀPhÑè:úÿÿƒÄÉÃU‹ì}}‹E@ë3À ÀtèÉÃU‹ìƒìèúÿÿÿ5ÿ5èôùÿÿƒÄ ˆEÿ¶EÿPÿ5èÙùÿÿƒÄ¡ÁèˆEÿ¶EÿPÿ5è»ùÿÿƒÄè³ùÿÿÉÃU‹ìƒì ÇEøÇEüEüPhÐ@h0@èƒÄ ÀtÿMø‹Eü¹™÷ù£È@ÇEüEüPhÌ@h8@èMƒÄ ÀtÿMøÇEôë+ Ì@ŠMôÒà¨tÿ È@ÿuôh@@jèùÿÿƒÄ ÿEô¡9Eô|Í‹EøÉÃU‹ìƒìDÇEüÇE¼¤ØÇEÅ‹E‹‰EÎÇE׋E‰Eé‹E ‰EàÇEòE¼PèbƒÄ‹E‹MΉŠEò$<u*€}½†uh\@ë(€}½ˆu2ÿuh€@jè‹øÿÿƒÄ ë€}½th˜@jèrøÿÿƒÄÇEüÿÿÿÿ‹EüÉÃU‹ìƒì`‹E‹X ‹H‹P‹x$‹p-‹@6ž‹E‹‰%Â@¼Æ@œúÇEøYøÀÿUø‰Eü‹%Â@‹E‰X ‰H‰P‰x$‰p-œX‹Ø‹E‰X6‹]ü‰a‹E¶@ÉÃ80486CPU80486COMPAQCQHCPUCQHCPFProcessor slot %d failedxlrom: get EV call not supportedxlrom: EV %s not foundxlrom: error with get EV ROM call@(#)SCO GPISUP 1.0.0a 94/08/17Þð,*,:HT[Cc%h….‘š(¥¬C´%¹ÉÐCØ%Ýü.$4.=C].i€.‹ ¨4²¼Ä(Ïê@÷3ÿE !1181F:j?”>ºÃ?ÈÛ *B M@W$b†—¬,¸"Ï-äéõ6B;!A)IBS;d!|‚9‘¢±Âç ÷ý#2=#+2<=AI ins¢§ÁÐØß'ê(:Yjq'ƒŠ'ß É Ä .data@.data@¦.bssÈ@ øPÐ(ð.data¼@ 4AM Ycqppicinit‰iunlockb›¦³ÇoutboutdÕÔåðeisa_nvm'2>IWÌcmn_errcmclockpinbind‹™(¤t±clknumbÀÊÔlßê ÷x .Œ>ilockbKU_ÀmpvendorittŽxl_get_evxl_check_evsread_indexedxl_clkstartintr_restoresp_xlenablexl_rom_callpit0_modecrllry_memoryset_pdbustypesp_xlbootcrllry_cpureleasesp_xlsetupintr_disablemultiple_processorsset_cpuvectorsp_xlpostxxinitistrsearchcrllry_boot_processorsidistributedsp_xl_proliant_idscheck_fp13pitctl_portusing_fp13sp_xl_eisabufsp_xlbootedmax_ACPUssp_xl_proliant_idsp_xlledoffset_pdcputypesp_xlresetsp_xlstartupsp_xlresetonceseticlassbump_cpussp_xlledoneisa_checksp_xlintrexcsp_xlpicinitprocessor_indexcrllry_haltmpvendorclasssp_xlcpuclrintrpitctr0_portlock_intrnum_ACPUssp_xlpressp_xl_slotsp_xlcpuintrcpus_located./usr/lib/custom/gpisup/ID/sysproxl/Space.c 644 0 3 3735 5624372051 13757 #ident "@(#) space.c 25.6.1.1 94/03/21 " /* * Copyright (C) Corollary, Inc., 1986, 1987, 1988, 1989, 1990. * All Rights Reserved. * This Module contains Proprietary Information of * Corollary, Inc., and should be treated as Confidential. */ #include "config.h" #include "sys/types.h" #include "sys/param.h" #include "sys/ci/cimpsw.h" int sp_xlresetonce[MAXACPUS]; char sp_xl_slot[] = {11,15}; long sp_xl_proliant_id[] = {0x0915110E,0x1915110E,0x2915110E,0x3915110E,0x6915110E,0x7915110E}; int sp_xl_proliant_ids = sizeof(sp_xl_proliant_id)/4; char sp_xl_eisabuf[24 * 1024]; extern int sp_xlpres(); extern void sp_xlstartup(); extern void sp_xlsetup(); extern void sp_xlboot(); extern void sp_xlbooted(); extern void sp_xlpostxxinit(); extern void sp_xlenable(); extern void sp_xlintrexc(); extern void sp_xlreset(); extern void sp_xlledon(); extern void sp_xlledoff(); extern void sp_xlcpuintr(); extern void sp_xlcpuclrintr(); extern void sp_xlpicinit(); extern void mpnull(); static char sp_xlmpswvers[] = MPSW_VERSION_2; struct mpsw sp_xlsw = { sp_xlpres, sp_xlmpswvers, mpnull, sp_xlsetup, sp_xlboot, sp_xlbooted, sp_xlpostxxinit, sp_xlenable, sp_xlintrexc, sp_xlreset, mpnull, mpnull, sp_xlcpuintr, sp_xlcpuclrintr, /* clear processor interrupt */ NULL, /* send NMI to a processor */ NULL, /* clear processor NMI */ NULL, /* spl function */ NULL, /* prehandler */ NULL, /* prefhandler */ NULL, /* posthandler */ NULL, /* postfhandler */ sp_xlpicinit, /* picinit */ NULL, /* enableint */ NULL, /* disableint */ (int(*)())mpnull, /* distclock */ NULL, /* predist */ NULL, /* postdist */ NULL, /* idistribute */ NULL, /* reserved entry */ NULL, /* reserved entry */ NULL, /* reserved entry */ NULL, /* reserved entry */ NULL, /* reserved entry */ NULL, /* reserved entry */ NULL, /* reserved entry */ }; struct mpsw *sysproxlswlist[] = { &sp_xlsw, 0, }; ./usr/lib/custom/gpisup/ID/sysproxl/System 644 0 3 33 5624372051 13713 sysproxl Y 1 0 0 0 0 0 0 0 ./usr/lib/custom/gpisup/ID/sysproxl/Master 644 0 3 37 5624372052 13667 sysproxl - iov sp_x 0 0 1 1 -1 ./usr/lib/custom/gpisup/ID/wyse/Driver.o 644 0 3 52050 5624372122 13270 L‚ËQ.x8ú ¸ Ј @.textÐим$Ï .dataˆ @ˆ @ ˆÒ6*@.bssœ@œ@€.comment œ$U‹ìƒìÇEðh€ èÿÿÿƒÄ#;t3ÀÉÃjè-ƒÄ‰Eüjè ƒÄ‰Eôƒ}üsa¸ŠMüÓà;EôuRè<‰EøjjÖh<@è¿þÿÿƒÄ Àu*ÇÇ ƒ=| ÇÿEðÿuøèƒÄ‹EðÉÃU‹ìƒìè±èlþÿÿ€=u Ǩ@ÿ5¨@jèLþÿÿƒÄjjè@þÿÿƒÄ褉Eøjdhÿh€è´ƒÄ Áø¶À‰Eüÿuø蜃Äjè6ƒÄ‹È¸Óà÷Ð!EüjèƒÄPè}ƒÄ£ Çœ@ÇEðÇEôëb¸ŠMðÓà…EütM¸ŠMôÓà œ@¡9Eô#ÿ5¨@ÿuôè‰ýÿÿƒÄjÿuôè|ýÿÿƒÄètýÿÿ‹EôÿEô‹Mð‰ … ÿEðƒ}ð|›èVýÿÿèQýÿÿ Àtfjþÿ5œ@jè>ýÿÿƒÄ jjjè0ýÿÿƒÄ ÇEôë.jjÿuôèýÿÿƒÄ ¸ŠMôÓ࣬ @hˆ @èüüÿÿƒÄÿEô¡9Eô~ÈèçüÿÿÉÃU‹ìƒì}} ‹E@ë3À‰Eðhè½üÿÿƒÄ‰Eüf‹Eüf£ÆŠEþ¢ÈŠEÿ¢Ëh¼è“üÿÿƒÄ£ÞÇEôgÀhÜèzüÿÿƒÄ¹gÀ‰f‹Ef£ì‹E Áøf£î¸‹MðŠ Óà È@hðè9üÿÿƒÄ£Ì@蘉Eø¸‹MðŠ ÓàPhÈ@蕃ÄÿuøèŽÉÃU‹ìè8ÉÃU‹ìƒìjèçûÿÿÉÃU‹ìƒìÇEø'}}‹E@ë3À‰EüǤ@h¤@h”Pè©ûÿÿƒÄ ëƒ=¤@ujè”ûÿÿƒÄÿMøuèƒ=¤@u‹Eü‹… PPèQƒÄÉÃU‹ìƒìlVjè:ƒÄE”PèRûÿÿƒÄj`èxƒÄjb‹ðèlƒÄÁà ƉEüÇEøëÿEøƒ}ø};jÿÿuøÿ5èƒÄ ‹uøÁæ‹Eü…†@tÓ‹†´@ PèÍƒÄ Àu¾ëØj jDèkƒÄ‹EÇèÎjèó ƒÄ @P蘃Ä^ÉÃU‹ì‹E‹… hPè{ÉÃU‹ìÿujèÉÃU‹ìÿ5ÿuèÉÃU‹ìƒìj è— ƒÄ‰Eôj èŠ ƒÄ‰Eðj$è} ƒÄ‰EìÇEøÇEüöEìtÿEü€Møÿuèø ƒÄƒ}üuÿuÿuìÿuðè ƒÄ ƒ}øt%jj è[ ƒÄÿuøj$è~ ƒÄjj èB ƒÄ¸ÉÃU‹ìƒìèÍùÿÿ€=u¸ë¸‹ ‰¨@èå è,ƒ=~¡ë¡‰Eôë%ÿEøƒ}ø}‹EôÁà‹MøÇ„ˆþÿëáÿMô¡9Eô| ÇEøëÍèGùÿÿèZƒ=t jjhèD ƒÄƒ=u¸ë¸‚PjDè# ƒÄjè1 ƒÄhRjlè ƒÄƒ=uèÙj@jPèð ƒÄjHjTèä ƒÄjPjXèØ ƒÄjGjxèÌ ƒÄjèÞ ƒÄ‰Eð Phô è›øÿÿƒÄ‹Eð Phö èˆøÿÿƒÄ‹Eð Phø èuøÿÿƒÄhþÿjHèj ƒÄhÿè… ƒÄj jDè­ ƒÄhèè ƒÄhéè ƒÄÇ@ôÇD˜ÇH˜ÇLPÇPPèÑÇEøëÇEìÿÿÿÿÿuìÿuøÿ5èÌƒÄ ÿEø}ø}5ÿuøÿ5è»÷ÿÿƒÄ‰Eì Àȃ=u¸‹Eø$÷ƒøu®ÇEì묡÷ÐPhè‚÷ÿÿƒÄjèTƒÄ‰Eüƒ=t èDë¡÷ÐPhèN÷ÿÿƒÄè"ƒ=t è8÷ÿÿjëÿuüèƒÄè$÷ÿÿÉÃU‹ìh¢jhè% ÉÃU‹ìƒìhèèÜ ƒÄhéèÏ ƒÄjj èãöÿÿƒÄj@j!è×öÿÿƒÄjj!èËöÿÿƒÄjj!è¿öÿÿƒÄj j è³öÿÿƒÄjh è¤öÿÿƒÄjHh¡è•öÿÿƒÄjh¡è†öÿÿƒÄjh¡èwöÿÿƒÄj h èhöÿÿƒÄjèR ƒÄ$<€uYj@jPè ƒÄjHjTè ƒÄjPjXè ƒÄhþÿjHèù ƒÄjjJèí ƒÄjjlèá ƒÄjjDèÕ ƒÄëè'jèä ƒÄ$<€u jjDèî ÉÃjjDè3 ÉÃU‹ìƒìWVjjÿjPè½õÿÿƒÄ @u3À^_ÉÃ3öë$Vè¦õÿÿƒÄ‹ø ÿth @‡€PèŒõÿÿƒÄF95}Ô¸^_ÉÃU‹ìƒìSWV¾hÐè\õÿÿƒÄ¶ÀhщEðèIõÿÿƒÄ¶ÀÁà Eð‹Ø¿ëÑÿ ÿt…ßt·ÇPuPèõÿÿƒÄNyß^_[ÉÃU‹ìƒìƒ} }kÇEüë]‹E9Eü}(‹E ‹…@÷ÐP‹EÁà‹MüˆPèÈôÿÿë)‹E ‹…@%þÿP‹EÁà‹MüˆPèôÿÿƒÄÿMüy¡ƒ}|3ÿu‹E …´ @Pè|ôÿÿƒÄ À}ƒ} }¸ŠM ÓàPè× ƒÄÉÃU‹ìÿuÿ5èGôÿÿƒÄ Àtÿuÿ5è2ôÿÿƒÄë¸ÿÿÿÿPÿuÿ5è ÿÿÿÉÃU‹ìjÿÿuÿ5èõþÿÿÉÃU‹ì‹Ex$€u*ƒx}$¸‹MŠIÓàP‹E‹@EPèÆóÿÿƒÄ¸ÉÃU‹ìƒìSWVÇEø3öë3÷ÃtGPhˆ@jèóÿÿƒÄ GÑûƒÿ~ÝhŒ@jèyóÿÿƒÄF‹ÆÁà‰Eè‹E Eè‰E䋉Eü Àt+€8tà‹EEè‹ ÛtÔ‹Eäÿ0hx@jè9óÿÿƒÄ 3ÿë¨^_[ÉÃU‹ìƒìV‹E‰EüÇEøƒ}u ^ÉÃE ‹E ‹0 öt'…utîÿpÿuüh@jèäòÿÿƒÄÇEü–@ÿEøë̓}øth˜@jèÂòÿÿƒÄ^ÉÃU‹ìƒì‹E H#E ‰Eôƒ} „ÿuhœ@jè“òÿÿƒÄ ÇEøÇEðë/ÿuüh¬@jèqòÿÿƒÄ ëƒ}ôth´@jèZòÿÿƒÄÿEøÑeð¡9Eø3‹E …EðtÓ‹Eø‹M‹‰Eü=s¬PÁèPh @jèòÿÿƒÄë¿h¶@jèòÿÿƒÄÉÃU‹ìƒìxV‹5Áæ‹E‰† ‹E ‰† ÿuhèÑñÿÿƒÄÿu hèÁñÿÿƒÄ€=uYjèƒÄ·À‰Eø‹ ‰ jèýƒÄ·À‰Eô‹ ‰ ÿuøhènñÿÿƒÄÿuôhéj,èÁƒÄ·À‹ ‰ j.觃ķÀ‹ ‰ j*èƒÄ·À‰Eì‹ ‰ ÿuìhèþðÿÿƒÄhô èñðÿÿƒÄ‰Eü‹ ‰ ÿuühèÑðÿÿƒÄÿ5·Eü%Áè…Pè¯ðÿÿƒÄÿ5·Eü% Áè …PèðÿÿƒÄÿ5‹Eü%Áø…PèlðÿÿƒÄÿ5‹Eü% Áø…PèKðÿÿƒÄÿ5hè8ðÿÿƒÄEˆPè,ðÿÿƒÄ¡@÷-‰Eð‹EðÿMð ÀuöhèðÿÿƒÄ Àuïh¸@jèóïÿÿƒÄhÀ@ÿ5h èýÿÿƒÄ hÌ@ÿ5h èýÿÿƒÄ ƒ=thØ@ÿ5h èæüÿÿƒÄ ƒ=thä@ÿ5h èÅüÿÿƒÄ ƒ=tHhð@ÿ5h è¤üÿÿƒÄ hü@ÿ5h èŒüÿÿƒÄ h@ÿ5h ètüÿÿƒÄ ƒ=th@ÿ5h èSüÿÿƒÄ h"@jèïÿÿƒÄh$@hÐ@ÿ5èÀûÿÿƒÄ h0@h@ÿ5è¨ûÿÿƒÄ h<@h€@ÿ5èûÿÿƒÄ hH@h˜@ÿ5èxûÿÿƒÄ hT@h @ÿ5è`ûÿÿƒÄ hx@hèºúÿÿƒÄhŒ@hè¨úÿÿƒÄjjÿƒÄƒ=t ÿuÿƒÄh`@jè3îÿÿƒÄ^ÉÃU‹ìƒì¡+¨@‰Eø¡£¨@ƒ}øtƒ}ød~}ø,} ÇEüëÇEü‹Eÿp8h|@ÿuüèÖíÿÿƒÄ þjjÿÉÃU‹ìƒìhxhè«íÿÿƒÄ‰Eü=xt£ÉÃU‹ìöuè?ÿ5èÉÃU‹ìƒìÿuèfíÿÿ-@üPèVíÿÿƒÄ‰EüèKíÿÿ‹EüÉÃU‹ìƒì SWV¸û/f%ð£‹ØÀ¾ ¿ÿÿë ‹ÇÁà ‰³ONyòÿ5èÿìÿÿƒÄf%ð £^_[ÉÃU‹ìœúºð¶Efï²ô·E fïÉÃU‹ìœúºð¶Efï²ôfíÉú T$‹D$œúî€ÊfíÃU‹ìSœúºð·Efï²ôfí‹Ø ] ºð·Efï²ô‹Ãfï[ÉÃU‹ìRSœúºð·Efï²ôfí·] ÷Ó#غð·Efï²ô‹Ãfï[ZÉËD$¹` … QèƒÄÃœúºò¹ fí%f‹D$uî‹ÁÃâëëøU‹ìRœúºð·Efïºô·E fï·EfïZÉÃU‹ìRºö·EîZÉÃRºöìZÃU‹ìRœúºð ·Efïºò ·E fïZÉÃU‹ìRœúºð ·Efïºò fíZÉÃU‹ìRœúºð ·Efïºò fí E fïZÉÃU‹ìRSœúºð ·Efïºò fí·] ÷Ó#Ãfï[ZÉÃU‹ìœúº·EfﺷE fïÉÃU‹ìœúº·EfïºfíÉÃU‹ìSœúº·Efïºfí·] غ·EfﺋÃfï[ÉÃU‹ìSœúº·Efïºfí·] ÷Ó#غ·EfﺋÃfï[Éø0þÿÿ ¸Œþÿÿ ¸”þÿÿ ¼D$u¸ÿÿÿÿÃR3À¶T$«ÐZÃÿÿŸÿÿšÏÿÿ’ϼú‹5g~VFÿ( À$þ"Àë gÿ/ôÃœfºüúì îÃœfºüúì$ûîÃ3ÀŠÅáf E‰ t PèƒÄ¡=uf£3ÀºöëHfƒ=f£f£uf¸ÿÿºöîf¡‹ Áጺð°Hî²ô‹fïf‹AfïËL$¡;ÁfÇÿÿë¡…¡uu;ÁtpPœúS~‰ ƒùu 3ÀºöëD=u¸ÿÿÿÿºöîf; t)‹ºð°HÁã²ô‹fïf‹Cf‰ [fïf‰ X‰ Ãù ‰ ûëñú‰ ëèÏ‹½´ @3À;Žÿf }Pt èo÷Ð!$ƒûu 3Àºöë=fƒ=u ¸ÿÿÿÿºöî‹ Áጙfºð°Hî²ô‹fïf‹Af‰fï· ‰f‰‹Ùƒÿ|,t$ƒÿ|t ƒÿ|$ë3ä ¨€tD‹Ç$ `æ °bë ä ¨€t4‹Ç `æ fºòfíf©f¸éu î‹Ç†à ÃÄÃhéè_ûÿÿƒÄëç°bæ ƒ<$tèãƒûÿt Sè<þÿÿƒÄ»ÿÿÿÿë²jƒÿtºƒûÿ„iÿÿÿ»ÿÿÿÿƒÿ}–héèûÿÿƒÿ|ƒÿu¸o‰$ë ‹½´@ ‰$èëúÿÿ Àt÷ƒÄélÿÿÿP À `"À XËÅÃœúÿt$èƒÄø3Ɇw@ Àu/f‹ t@f‹D$ Áf£t@:Ètæ!:ìtŠÄæ¡%t@ÿÿ‹ÁÃ8w@u¸ëöœúÿt$èƒÄø3Ɇw@ Àu3f‹ t@f‹D$f÷Ðf#Áf£t@:Ètæ!:ìtŠÄæ¡%t@ÿÿ‹ÁÃ8w@u´ëöœúëœú¸†w@ Àt 8w@uéëö· t@f‹Áæ!ŠÄæ¡ð%t@ÿÿ‹ÁÃœú¸†w@ Àu· t@¸ÿÿÿÿæ!ŠÄæ¡‹ÁÃ8w@uÓëöœú¸†w@ Àt 8w@tøëç° æ æ ä Šàä P° æ æ %t@ÿÿXÃþÿÿÿð@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ  €€ @@ @ûÿü@@ @@"@$@,@4@”XŽ‡ÈD@\@t@Œ@ ˜@°@À@Ø@ ì@@ðð@4@ 8@@<@€@@D@ H@@L@€P@@T@@l@€@˜@°@È@à@ ø@@(@@@\@local_clockP5 APCHKC5 APERRC5 MAPERRQueueMbusWbus33DEISAWBI0 data parity err.,WBI1 data parity err.,WBI addr. parity err.,CCU error,Snoop Tag parity error,WWB Bus NMI,WWB Bus parity check,WWB Bus timeout,Internal queue/bus err,External P5/C5 error,Parity err on byte lane0,1,2,3,4,5,6,7,CPU data parity err,Valid err. latched,WWB0 addr. parity err,WWB1 addr. parity err,WWB2 addr. parity err,WWB3 addr. parity err,MA bus, addr. parity,WDP data parity detect,WWB bus timeout detect,cache coherency err,Data queue overflow err,C5C MA addr. parity detect,%s Err, CPU: %d, %s %s %s 0x%b%b, 0x%x,, NMI: BCU_STAT0= BCU_STAT1= CCU_ERR0= CCU_ERR1= WBC_ERR0= WBC_ERR1= WBC_STATUS= WDP_CSR= BCU_STAT0:BCU_STAT1:CCU_ERR1:WBC_STATUS:WDP_CSR:Fatal Nonmaskable InterruptNMI from push button EIP= 0x%x@(#)SCO GPISUP 1.0.0a 94/08/17ãµìˆòÆÿÅ Å,8=~JÒTÄ^©g©v ‹ÝÖ؟©°±¼yÄØáì öÅÅŽr%[`©ks±€yˆ¿˜r¦ã«–·¾¹Ì˜ä˜öû¡ ©Ÿ:“?œOàWà_àd‰iœqÙ}w‚œ–¢¢¢±r¹¾²ÃœËÐârêïÍú Ý|?HM£S‘^hÕvƒr‹ÇžÑªv´ÅÀÅèÂí ÿÇ!Þ2¶9ÅDÇYraÇq}Œ…•Å¢Å¯ÅØ ï·Þ·/Ã5ØKÂRWÝ\bÂjÂq©‘s Âµ™º¥ÀÂÌÚÕÂíÚ÷ÐÚ  Ú,Ú8ÚDÚNÅa¦t¦‡¦–‡£Ð¯·¼ÇÉÇÒÁÖuÜÁà­æÁê ðÁôÛúÁþ³ªÂ$ <ÂA†QÂmžuƒz¨„ј¡ž©t®¨¶¾¼»ÄºÐÑØëÚ Ç Ç ›% ›1 ›= ›I ›X ›g ›v ›… ›” ›ž ß° ´¼ ´È ´× ´ã ´ï ´û ´  ß š) ·? ¼V §d p •z ©  ¯³ ¯Ý [ã ¤ . s4 ¨B Y s_ z € — Ë° µ Å ÂÊ †ß Âä ö Âû 0 [6 ¤e l «| ƒ «¼ à «  «" 3 : «b i «„ ‹ «› ¢ «° ©Ú á «í ô « Âef&^+6_;DØN‚]Âdgk‚zÂh‰`Ž™a§‚³ÂºmÁ‚ÍÂÔnÛ‚êÂñkùjþ µÂi&b+4žGcMVžidoxžŠc™ž«d±ºž¿\ÄÐvØÂßÉñ]öÔ «\e!)/\4f9B`JP\UgZcakq\vh{„jŒ’\—mœ¤ª\¯n´¼Â\ÇkÌÕbÝã\èiíõü« ^!'_,49?aDLQWj\diobt|c† Ž“d˜ ¥…®lºlÂÉ«ÛÊáéÊî&«/x9…GLQ—\clqqyq„ –‹¦—±°ÆoÏpøpý„ qÐrÖÞ^[dôltôö‘ö˜öžö°ö¶ÂÀsáôêöõtûžôô9öAÂSsdönövô‚ôŒô›Ö£ô©±[¹ÓöçÂñs ööôö}‘œ¸Ìçñý#5}@}M}a}n}‘}œ}­}Á}Î}å}ï}ú} }!},}A}U}_}|}œ @®° @x@|@€@„@Œ@@”@˜@ @ÌÔ@Ü@ä@ì@ô@@ @@$@,@4@<@D@L@T@\@d@l@t@„@Œ@œ@¤@¬@´@¼@Ä@Ì@Ô@Ü@ä@.dataˆ @h*.datað@«.bssœ@showValsD ¼0  Œ-ô showCpusD 7ôHÔRŒ ^jàxŒl˜ŒshowBitsØ .texttF¨ì·ÿÆúÓûã¤î¸ùÌÔ-$s1ŽAÖN´_ l{{z†•$£h²?À‰Ë¬ÖÂäÐö å%(V5PABN<[3j\vm‚†Z›Š§w·•Æ£Ö¼åäòùð,!l1Q?WM_[ˆkÌ{±‰·—¿¥÷·ÞÉíÛëû ?,5;7J;YNfgs]€ŽŸ±¾Ë×ãîûbcuStat0 bcuStat1 ccuErr0 ccuErr1 wdpCsr wbcStat wbcErr0 wbcErr1 wy_ptü$wy_pdte. 9EPô]hÜw‚ œª¼t@kstrncmptrap_stiÇPÔ¨ ccu_readls_maskvtopãíú wyse_gdt¼_cr3%/bit2nr˜;´@nmi_hookcpuintrHx@Tdˆ @fillgateqqxchgl…pic_cliscu_setoutb“qorlž¬Ã˜Ôáìñ”qorwÿoutw qandlØcmn_err,Œ@8˜clockinbflushtlbHVðePwÔinlbcu_set`’ @ž¨·allocidtÃì ÓÜäîhwyseswú bcu_read0%4àB(Olbolt[xj”tˆ‚„Л,wyse_splÜmpvendor©tassuspend¹´ @Å ÖáÞïùP  @bcu_clrscu_readô$ Ä1 ? ¨@J W Hf @s Lccu_setˆccu_clr¬scu_clrHsw_panic€nr2bit¨} ¸ 5› ä« 8¶ D ÄÑ zÛ iplå ˆpicipló ,  L wy_fw_mapsetupwy_stub_icu0wy_fw_mapoutwy_splfixwy_major_picinitwy_ExtNmiwy_el_setupwy_FatalNmiwy_start_local_clockwyse_nmihookwy_fw_mapinwyse_nmihandlericu_test_nbusyicu_wait_nbusyicu_do_wrcmdicu_wrcmd_leavebit2nr_retwyse_debugwyse_gdt_cswyse_gdt_dswyse_nxt_cachelinewy_posth_splwy_posth_not_hiwy_posth_xitwy_posth_setmaskwy_spl_forcewy_gpi_cli_stiwy_spl_retwy_spl_setmaskwy_spl_not_hiwy_spl_set_xitwy_spl_seticuwy_gpi_cliwy_spl_errwy_set_irqsplwy_set_irq_not_hiwy_set_irqspl_xitwy_set_irq_maskwy_chk_irq_typewy_hndl_pic1wy_chk_irq7wy_hndl_pic2wy_chk_irq15wy_chk_icuintrwy_hndl_icuwy_hndl_retwy_spurious2wy_eoi_pic1wy_spuriouswy_hndl_icubusywy_spur_fixsplwy_spur_clr_icuwy_resend_intrwy_resend_iowy_resend_skipwy_resend_retrywy_set_picretrywy_set_pic_spinwy_set_pic_lowy_set_pic_hiwy_set_picxitwy_clr_picretrywy_clr_pic_spinwy_clr_pic_lowy_clr_pic_hiwy_clr_picxitwy_force_pic_updtwy_force_picretrywy_force_pic_spinwy_force_pic_lowy_force_pic_hiwy_force_picxitwy_lockpic_retrywy_lockpic_spinwy_lockpic__lowy_lockpic__hiwy_lockpic_xitwy_read_irr1wy_read_irr3wy_read_irr2wy_level_intswy_tookfatal_nmiwy_fatal_nmi_lockbcuStat0_allbcuStat1_allccuErr0_allccuErr1_allwdpCsr_allwdp_xerrtypewdp_ierrtypewbcStat_allwy_old_nmi_hookwy_pt_ptrwy_cpuslotwy_spl_maskwyse_smaskwyse_gpi_splunlock_allwyse_gdt_descractiveintrset_pdbustypewyse_enablecrllry_memorycrllry_cpureleasewy_picmaskwyse_sendnmiwyse_enableintcdebuggeriattr_intpriicu_write_dwordwyse_sb_eisamskwyse_resetprocessoriattr_inusewy_vect2_icuwdp_xerrmsgwyse_16bit_codewy_clockinfomultiple_processorsset_cpuvectorsvirtophysprocessor_bitcrllry_boot_processorswyse_prefhandleridistributedwyse_16bit_bootwy_reset_selfwy_lockpicidt_of_cpumax_ACPUswy_unlockpicwdp_ierrmsgwyse_prehandlerset_pdcputypewyse_prot_codewyse_postfhandlerscu_writewy_disable_cachewy_idtpatchseticlassivect_compressenable_intswyse_disableintwy_force_picbitsbump_cpuswyse_clrnmiprocessor_indexidentify_cpumpvendorclasswyse_sb_eisaidicu_write_cmdwyse_picinitdelay_microwy_clr_picbitswyse_ireticu_send_mstrwyse_setupwyse_presenceicu_write_cplwyse_postxxinitwy_vect2splwyse_idistributecpu_familywyse_gdt_addrbcu_writewyse_posthandlerwyse_bootwy_set_nmi_hookwyse_gdt_64kicu_sync_mstrwy_cputypecpus_locatedbcu_read_othericu_read_cplccu_writewyse_prot_startwyse_prot_endwyse_16bit_execwyse_ledonwyse_ledoffwyse_interruptwyse_stubwy_getEbpwy_gpi_clrpicwy_gpi_setpicwy_set_picbitswy_read_irr./usr/lib/custom/gpisup/ID/wyse/Space.c 644 0 3 6143 5624372053 13041 #ident "@(#) space.c 25.1.1.1 94/07/05 " /* * Portions Copyright 1988-1994 The Santa Cruz Operation, Inc * All Rights Reserved * This Module contains Proprietary Information of * The Santa Cruz Operation and should be treated as Confidential. */ /* * Copyright (C) Corollary, Inc., 1986, 1987, 1988, 1989, 1990, 1991. * All Rights Reserved. * This Module contains Proprietary Information of * Corollary, Inc., and should be treated as Confidential. */ #include "config.h" #include "sys/types.h" #include "sys/param.h" #include "sys/ci/cimpsw.h" extern int wyse_presence(); extern void wyse_startup(); /* platform startup */ extern void wyse_setup(); /* platform setup */ extern void wyse_boot(); /* processor boot */ extern void wyse_postxxinit(); /* post driver init */ extern void wyse_enable(); /* processor enable */ extern void wyse_reset(); /* reset a processor */ extern void wyse_ledon(); /* turn on LED */ extern void wyse_ledoff(); /* turn off LED */ extern void wyse_interrupt(); /* interrupt processor */ extern int wyse_sendnmi(); /* send NMI to processor */ extern int wyse_clrnmi(); /* clear processor NMI */ extern void wyse_picinit(); /* pic initialization */ extern void wyse_enableint(); /* enable an interrupt */ extern void wyse_disableint(); /* disable an interrupt */ extern int wyse_idistribute(); /* distribute vector */ extern void mpnull(); extern void wyse_stub(); /* cache hit null routine */ char wyse_swvers[] = MPSW_VERSION_2; struct mpsw wysesw = { wyse_presence, /* presence identification */ wyse_swvers, /* structure definition */ wyse_stub, /* platform startup */ wyse_setup, /* platform setup */ wyse_boot, /* processor boot */ NULL, /* processor booted */ wyse_postxxinit, /* post driver init */ wyse_enable, /* processor enable */ wyse_stub, /* post-intr enable */ wyse_reset, /* reset a processor */ wyse_ledon, /* turn on LED */ wyse_ledoff, /* turn off LED */ wyse_interrupt, /* interrupt processor */ wyse_stub, /* clear processor interrupt */ wyse_sendnmi, /* send NMI to processor */ wyse_clrnmi, /* clear processor NMI */ NULL, /* spl routine */ NULL, /* pre-handler */ NULL, /* pre-fast handler */ NULL, /* post-handler */ NULL, /* post-fast handler */ wyse_picinit, /* pic initialization */ wyse_enableint, /* enable an interrupt */ wyse_disableint, /* disable an interrupt */ (int(*)())mpnull, /* dummy distribute clock interrupts */ NULL, /* reserved */ NULL, /* reserved */ wyse_idistribute, /* distribute vector */ NULL, /* reserved entry */ NULL, /* reserved entry */ NULL, /* reserved entry */ NULL, /* reserved entry */ NULL, /* reserved entry */ NULL, /* reserved entry */ NULL, /* reserved entry */ }; struct mpsw *wyseswlist[] = { &wysesw, 0 }; /* set to zero for fully nested interrupts on 2nd-nth CPUs. */ unsigned long wyse_smask = 0xfffffffe; /* system board eisa id comparison info (see space.c) */ long wyse_sb_eisamsk = 0xf7ffff; /* compare 1st 24 bits */ long wyse_sb_eisaid = 0x70335f; /* Wyse SB1, SB2, Saratoga */ ./usr/lib/custom/gpisup/ID/wyse/System 644 0 3 27 5624372054 13005 wyse Y 1 0 0 0 0 0 0 0 ./usr/lib/custom/gpisup/ID/wyse/Master 644 0 3 34 5624372054 12752 wyse - iov wyse_ 0 0 1 1 -1 ./usr/lib/custom/gpisup/ID/apic/Driver.o 644 0 3 71005 5624372077 13227 L™ËQ. Xä  0 | Ðð@.textÐÐ 0Ð?† .datað@ð@ ð0XX@.bssü@ü@| €.comment ü>U‹ì€ ¡÷Ð!¸f‹ fAÓàH!ÿ5ÿ5ƒ=t ¸ë¸PèÙþÿÿÉÃU‹ìƒìVÿuè… ƒÄ£€£¡°£ÇEüë ‹uüÁæ‹E ÿ40èG ƒÄ‰†@ÿEü‹E9Eü|Û^ÉÃU‹ìƒìWVhðj èƒÄjÿj8èôƒÄ¡ÁàPj4èáƒÄ¡‹…ÁàPjèǃÄhhÔ赃ÄhhØ裃ÄhhÈ葃ġ€ÌPj<è~ƒÄƒ=…ÙèQ¿@ÇEôëIuèVÿw¶GPèƒÄ ÀuTVjÿ¶GPèkƒÄ Àu@¶GPh`@jèwýÿÿƒÄ ÿEôƒÇ¡D@9Eô}8€þtê€ÿtä€tÞ€ u˜ëÖ€>uÏöFtÉEèPWèûƒÄ뺾pÇEôë#€>t€>uöFt Vjè̃ÄÿEôƒÆ ¡T@9Eô|Õ¿@ÇEôë5uèVÿw¶GPè«ƒÄ Àu@Vjÿ¶GPè—ƒÄ Àu,ÿEôƒÇ¡D@9Eô}L€þtê€ÿtä€tÞ€ u¬ëÖ€>uÏöFuÉ¡¶N9 …t€~ÿu±VWè>ƒÄ륾pÇEôë;€>t€>u)öFu#¡¶N9 …t€~ÿu VjèøƒÄÿEôƒÆ ¡T@9Eô|½ƒ=t|ƒ=t?¡ @ PhÈè|ƒÄÿ5ü@høèiƒÄÿ5@hàë hhÈèIƒÄè h…hÀè2ƒÄèþ ^_Éá @ PhÈè ƒÄÿ5ü@høèöƒÄÿ5@hàèãƒÄ^_ÉÃU‹ìƒìV‹E ö@uhŒ@jèûÿÿƒÄ^ÉËE ¶ À„Úƒøt ƒø„´ë¡Áà‰EøÇEü‹E ö@t€Mý€ $ð<u ‹E ö@u€Mý ‹E €xÿ„j¶@PjèZƒÄ Áø¶À‰Eð‹E ¶p9uð‚Âÿuø‹ÆÑàƒÀP‹E ¶@Pj考Äÿuü‹E ¶@ÑàƒÀP‹E ¶@Pjè^ƒÄ^ÉáÁà‰EøÇEüéKÿÿÿ‹E¶=þtC=ÿt‹E¶‹…Áà‰Eø‹E¶@ë¡Áà‰Eø‹E¶@€Ì ‰Eüéýþÿÿ¡Áà‰Eø‹E¶@€ÌëÞ‹E ¶@P‹E ¶@P‹E¶@PhÄ@jè ùÿÿƒÄ^ÉÃÇEôë_jÿuôjè8ƒÄ Áø¶À‰Eð‹E ¶p9uðr5ÿuø‹ÆÑàƒÀPÿuôjègƒÄÿuü‹E ¶@ÑàƒÀPÿuôjèJƒÄÿEô¡P@9Eô|š^ÉÃU‹ìƒì‹E ö@t!ƒ=…h@jèøøÿÿéð‹E ¶@ Àt=ƒøtHƒ=…Ó‹E ¶@P‹E ¶@P‹E¶@Ph8@jè¯øÿÿƒÄÉÃÇEøÔ‹E ¶ëQÇEøØëîƒ=t ötzÇEüë7ƒ=t öt^ÇEüë‹E¶@‰Eüë Àtðƒøt³ƒøtÊ‹E ö@t€Mý€¡Š…$ð<u ‹E ö@u€Mý ÿuüÿuøè§ ƒÄÉÃU‹ì¡‹…ÉÃU‹ìƒì0ÇEüëjhÿÿuüèÉ÷ÿÿƒÄ ÿEü¡9Eü~áÇEÐÇEäÇEÔþ¸‰Eà‰Eè3À‰E܉EØÇEìÇEð‰Eü븊MüÓà‰EôEÐPèf÷ÿÿƒÄÿEü¡9Eü~ÚÇEÐÇEäÇEÔ¸‰Eà‰Eè3À‰E܉EØÇEìÇEðÇEü¡9Eü~ÉøŠMüÓà‰EôEÐPèööÿÿƒÄÿEü¡9Eü~ÚÉÃU‹ìhÿè×öÿÿÉÃU‹ìèD¡‹M‹ Áቈ¡‹M‹ ‰ˆÉÃU‹ìè ¡‹ É ‰ˆÉÃU‹ìƒìWVÇEäéšÿEô¡9Eô†ÿuäÿuôèHöÿÿƒÄ Àt݃=D@P|ht@jè,öÿÿƒÄ¡D@ÿD@‹øÁçÇ@‹Eä‰G ÿuäÿuôèöÿÿƒÄˆGŠEäˆGÇGÿÿÿÿÿuäÿuôèäõÿÿƒÄƒøu ŠEôˆénÿÿÿÆÿÿEä}äÿ ÇEôéTÿÿÿ¾ÿÿÿÿÇEøé½ÇEè€?ÿu¸ÿÿÿÿ붉EôjPVè}õÿÿƒÄ ‹ðƒþÿuh¤@jègõÿÿƒÄ^_ÉËƈGÿuôÿw ¶GPèKõÿÿƒÄ ¶PV¶GPèƒÄ ƒÇ¡D@Áà@;Çv¶G;Eøuã€þ…oÿÿÿë׃þÿt‹Eø‹Î€áðˆˆƒ}èt F%ð‹ðÿEøƒ}øÇEè¿@ëŸVèƒÄÆ^_ÉÃU‹ìƒìV¶ ‰EøjjÿÿuøèôÿÿƒÄ ‰EƒEøƒøÿu }øÿ~܃}ÿuhÀ@jèsôÿÿƒÄ^ÉËE£¾@ë$€~þuŠEˆF¶P¶FPÿuè?ôÿÿƒÄ ƒÆ¡D@Áà@;ÆwÌ^ÉÃU‹ìƒì‹E ÀtOƒø tV=ÿuW}ÿt‹E‹M ‰ …ÉÃÇEüë‹Eü‹M ‰ …ÿEü¡9Eü~æÉËE £ÉËE £ÉÃU‹ìjÿuèÉÃU‹ìjÿuèÉÃU‹ìƒìVuèVjÿÿuèWƒÄ Àuÿuhè@jèeóÿÿëköF„‚€~ÿu8ÇEôëÿEô¡P@9EôÙÿu ÿu‹Eôÿ4…@èÊƒÄ ëÕ¶FPèfƒÄ‰Eü Àtÿu ÿuPè¤ƒÄ ^ÉÃÿu¶FPh @jèÜòÿÿƒÄ^Éá¶N9 …t€~ÿub¶F Àtƒøt3¶FPh<@é4ÿÿÿÇEäÔ‹Eä‹ ‹‰Eôƒ} t€eöþëÇEäØëÚMô‹Eä‹ ‹Uô‰^ÉÃU‹ìƒìhèDòÿÿƒÄ‰Eü‹E‹M ÑáƒÁ‰‹E‹@‰Eøƒ}t€eúþëMø‹E‹Mø‰HÿuühèÿñÿÿÉÃU‹ì‹EÇ@@èƒ=H@t ‹EÇ@,äƒ=t‹EÇ@`‹EÇ@4øƒ} t‹E !ƒ} u ‹EÇ@`ƒ=t ‹EÇ@`ÉÃU‹ìƒìVÇEüáõ¡‹°÷Æt ÿMüƒ}üäƒ}üt3À^ÉÃÿL@¸ÿÿÿÿ^ÉÃU‹ìƒìj‹EÁè Pjjè(ñÿÿƒÄ‰EüÉÃU‹ì‹E% £@‹E %£ü@‹E£@ÉÃU‹ì¡…t¡Ç€€ÉÃèÏðÿÿÉÃU‹ì‹E ÁàPhÿuèµðÿÿƒÄ ‹EÁàPhÿuèžðÿÿƒÄ ‹E£P@ÉÃU‹ì‹E ÁàPhÿuèyðÿÿÉÃU‹ì‹E Áà EP}}‹E@ë3ÀPè¬ÉÃU‹ìƒìV}}‹E@ë3À‰Eð¸- ‰Eø¸- ‰Eì¾ÀÿuøVh èðÿÿƒÄ è.‹Eì PÿuðèEƒÄÇEô@ ë‹EôÿMô À~jèËïÿÿƒÄƒ>tçƒ}ô‹Eð@Phd@jè¬ïÿÿƒÄ ^ÉÃU‹ìƒìÇEügÀ¸gÀ‹M ‰‹Eö…ðu(jjpèwïÿÿƒÄj jqèkïÿÿƒÄÿuèƒÄÉá\@-@‰Eø¸&-‰EôPÿuøhè0ïÿÿƒÄ ¡\@--@‰Eü‹M ‰jÿuèƒÄ¡\@"--@‰EüÇEð Në‹EðÿMð À~jèÓîÿÿƒÄ‹Eüƒ8tä‹Eð£<@‹Eüƒ8u]jjpè¯îÿÿƒÄj jqè£îÿÿƒÄÿuè@ƒÄÇEð Në‹EðÿMð À~jè{îÿÿƒÄ‹Eüƒ8tä‹Eð£@@jÿuèvƒÄÉÃU‹ìèÈüÿÿ‹E‹…ÁàPhÄè܃ÄhÅhÀèʃÄè–üÿÿ‹E‹…ÁàPhÄ誃Äh…hÀ蘃ÄèdüÿÿÉÃU‹ìèXüÿÿ‹E‹…ÁàPhÄèlƒÄ¶E €ÌPhÀèWƒÄè#üÿÿÉÃU‹ìƒìVjjÿjGè–íÿÿƒÄ £ƒøÿu h„@èíÿÿƒÄjÿhþÿ5èjíÿÿƒÄ ÇEðÇEô븋MôŠ‰Óà EðÿEô¡9EôràÇEôëo3À PÿuüèíÿÿƒÄj@ÿuøèíÿÿƒÄƒ}ô…ÿuðÿuøèöìÿÿƒÄ€=t ¸ë¸PÿuøèÒìÿÿƒÄhÿÿuøèÂìÿÿƒÄÿEô¡9Eôs^‹uôÑæ·†‰Eü·†‰Eøö„dÿÿÿ¸é\ÿÿÿ‹Eô¾€PÿuøèmìÿÿƒÄ€=t¸ é|ÿÿÿ^ÉÃU‹ìkE Phpÿuè;ìÿÿƒÄ ‹E £T@‹E£X@ÉÃU‹ìƒì WV¾p3ÿë3¶F;E ”À¶À‰Eôƒ}ôt‹EVW‹ø¥¥¤_^¸^_ÉÃGƒÆ 9=T@~(ÇEô€>u̶F;EuÃ} ÿu­¶F;X@ë¨3À^_ÉÃU‹ìƒìWV3öëF95P@~‹þÁç‹E9‡u狇@^_ÉÃ3À^_ÉÃU‹ì‹E‹ ‹ÉÃU‹ì‹E‹ ‹U ‰ÉÃU‹ìƒì‹E Àtƒøt&ë ‹E ‹…@‰Eüƒ}üt!‹Eü‹M‰‹Eü‹@ÉÃÿu è`ÿÿÿƒÄëÙÿu h¼@jèñêÿÿƒÄ ÉÃU‹ìƒì‹E Àtƒøt*ë ‹E ‹…@‰Eüƒ}üt%‹Eü‹M‰‹Eü‹M‰HÉÃÿu èÿÿÿƒÄëÕÿu hì@jè‘êÿÿƒÄ ÉÃU‹ìƒìWV¸Áè‹ðÁæÆh@jjècêÿÿƒÄ ‰EôÁà ‰‹EôÁà -@‹ø‹EÁè ‰EðÁà ‰‹E EHÁè ‰Eì9Eðt ƒÇÁà ‰èêÿÿ‹E%ÿ^_ÉÃU‹ìƒìV¸Áè…‰Eü‹0÷Ætj‹ÆÁè PèÔéÿÿƒÄ‹EüÇèÃéÿÿ^ÉÃU‹ìƒì0‹Eƒøu!‹E ‰EüEЉEàEè‰Eø‹Eüƒx|ƒx~ ¸ÿÿÿÿÉËEüƒxÿ|îxÿåÿuàÿ0ÿpèEýÿÿƒÄ ÀtÑ‹Eüx ÿt x þu ÇEäÿÿÿÿë‹Eüƒx |ª‹ 9H Ÿ‹@ ‰Eä‹Eüƒxu ¶ƒÀ ë‹Eü‹@¶€%ð‰EÜjÿuäPèôèÿÿƒÄ ‹MøˆAf¶Àf=ÿÿ„Lÿÿÿ‹Eü‹Mø¶I‰H‹Eüƒxÿtÿp ÿp‹Eø¶@Pè´èÿÿƒÄ ‹Eüƒx ÿu‹EøÆþë ‹Eø‹MüŠI ˆÿuàÿuøèRíÿÿƒÄ3ÀÉÃU‹ìèÔÉÃU‹ìƒì ÇEôëGh‹EüÑàƒÀPÿuôjè`ýÿÿƒÄÿEü‹Eø9Eü|Ú‹Eô‹…ÁàPjÿuôjè8ýÿÿƒÄÿEô¡P@9Eô}(jÿuôjèÀüÿÿƒÄ ‰EøÁø¶À@‰EøÇEüë©ÉÃU‹ì‹E‹…@‹M ‰‹E‹…@‹@ÉÃU‹ìƒìVjÿuèËÿÿÿƒÄPjÿuè½ÿÿÿƒÄPh,@è—çÿÿƒÄ ÇEüëY¸J@P‹EüÑàƒÀPÿuè‰ÿÿÿƒÄP‹EüÑàƒÀPÿuètÿÿÿƒÄPÿuüƒ}ü }¸L@ë¸N@PhP@è8çÿÿƒÄ$ÿEüƒ}ü}D‹uüƒÆ‹EüÑàƒÀ!Pÿuè-ÿÿÿƒÄP‹EüÑàƒÀ PÿuèÿÿÿƒÄPVƒþ jÿÿÿ¸H@éeÿÿÿ^ÉÃU‹ìƒìÇEü †ƒ}ÿu‹E ‹ ‹ÉÃè3õÿÿ¡‹MÁቈèõÿÿ¡‹M Áù¶ÉÁ‰ˆë"¡‹€%=ujèjæÿÿƒÄ‹EüÿMü ÀÕƒ}ü hl@èMæÿÿƒÄ¡‹€ÀÉÃU‹ìƒìj ÿuèHÿÿÿƒÄ‰Eüj<ÿuè8ÿÿÿƒÄPÿuüjÿuè'ÿÿÿƒÄPhx@èýåÿÿƒÄj8ÿuè ÿÿÿƒÄPj4ÿuèþþÿÿƒÄPj ÿuèðþÿÿƒÄPh¬@èÆåÿÿƒÄhØÿuèÒþÿÿƒÄPhÔÿuèÁþÿÿƒÄPhÈÿuè°þÿÿƒÄPhè@è†åÿÿƒÄŠEü$ð<uhÜÿuè‰þÿÿƒÄPh@è_åÿÿƒÄh"@èRåÿÿƒÄhøÿuè^þÿÿƒÄPhàÿuèMþÿÿƒÄPh$@è#åÿÿƒÄ ŠEü$ð<uh ÿuè&þÿÿƒÄPh\@èüäÿÿƒÄhp@èïäÿÿƒÄj@ÿuèFƒÄhx@èÕäÿÿƒÄj`ÿuè,ƒÄh€@è»äÿÿƒÄh€ÿuèƒÄhˆ@èžäÿÿÉÃU‹ìƒìÇEôÇEøë=ÿEðƒ}ð }/¸ŠMðÓà…Eütè‹EøÁàEðPhŒ@èXäÿÿƒÄÇEôëÈÿEøƒ}ø}#‹EøÁàE PÿuèMýÿÿƒÄ‰EüÇEðë¡‹EôÉá;Ètœú‹Ð‰ ‹Á3ÉŠˆ¡‰‹ÂÃÿþtLèããÿÿ‹Ø3ÀŠƒÿu+3ÛŠ˜‹‰‹‰´Š¢ŠÃôŠ¢ŠÃøÿÿÿÿÀýt#3ÀŠÁ£3ÉŠˆ¡‰¡‰Ã3ÀŠÁ£3ÉŠˆ¡‰áÃ|$u3ÀŠ‹ ‰¡‰Ã¡‰ Ã3É8 u¡‰á…t¡‰Ã° æpëäq먀uò3ÀŠD$æpëäqÃU‹ìœúVW‹j èÐÿÿÿƒÄ£@j èÁÿÿÿƒÄ£”@3À÷Eÿÿÿÿt¸ ‰ƒàǃ€ÿÿÿÿëǃ ° æpë°/æqë° æpë°Bæqë° æpëäqë° æpëäq$À<Àuò‹³° æpëäqë° æpëäq$À<Àuò‹»ǃ ° æpë @æqë° æpë ”@æqë‹Æ+ÇÀ_^]Ãú.ÿúôëü.ÿ ê¡ÇÃúÃU‹ìƒìLèÍ Àu!è¤ Àu>Çô@ Ç@3ÀÉÃ=ð@u=ì@r =ì@vèb€=tU€=v Çô@ë®hÀþ貃Ä ÀtÇEøÇÇ Ç@¸ÉÃÿ5è9ƒÄ À„XÿÿÿEøPE´PEüPèƒÄ ƒ}øuÇô@é/ÿÿÿÇEôëÿEô‹Eø9Eô}‹Eôÿt…´èƒÄ ÀuâéÿþÿÿU‹ì¡@ÉÃU‹ìƒìƒ}uÇô@(3ÀÉÃhÿuèãõÿÿƒÄ‰EüÇ‹Eüƒ8tÇô@2ÇEøëU‹EüÇ@‹Eü‹@‰Eô‹EüÇ@ÿÿÿÿ‹Eü‹@‰Eð‹Eô%ÿ‹Mðáÿ;Áu ÇEøëÇEøÇô@<hÿuüèâõÿÿƒÄƒ}øu‹E£ø@‹EøÉÃU‹ìƒìƒ}uÇô@F3ÀÉÃhÿuèõÿÿƒÄ‰Eü8PCMPtÇô@Phÿuüè~õÿÿƒÄëËEüfxv Çô@ZëÖ‹Eü·@Pÿuüè,ƒÄ Àt Çô@d벋Eü¶@PèëƒÄ Àu Çô@në‘‹Eü·@Phÿuüè ßÿÿƒÄ hÿuüè÷ôÿÿƒÄ¸ÉÃU‹ìƒì ƒ=ð@t=ÿ5ð@èNƒÄ ÀuÇô@x3ÀÉÃjhÿ5ð@è®ÞÿÿƒÄ ¸ÉÃhhü è ôÿÿƒÄ‰EüÇEøëƒEø}øsK‹EøEüPèãƒÄ Àtàjh‹EøEüPèQÞÿÿƒÄ ‹Eøü £ì@hÿuüè0ôÿÿƒÄë„ÇEøëƒEø}øssf÷Eøÿu/hÿuüèúóÿÿƒÄh‹EøPè\óÿÿƒÄ‰Eü‹Eø‰Eô‹Eø+EôEüPèEƒÄ Àt¦jh‹Eø+EôEüPè°ÝÿÿƒÄ ‹EøéZÿÿÿhÿuüèóÿÿƒÄéÆþÿÿU‹ì‹E8_MP_t3ÀÉÃjÿuèB ƒÄ Àué‹E¶@ PèƒÄ ÀtÕ¸ÉÃU‹ìƒ}”À¶ÀÉÃU‹ìì€=t¶Pè± ƒÄ…tÿÿÿPE¼PE¸PèƒÄ ÿµtÿÿÿE¼Pÿu¸èÞÿÿƒÄ €=tè°…4ÿÿÿP…tÿÿÿP…xÿÿÿP…ðþÿÿP…ôþÿÿPè0ƒÄÿµtÿÿÿ…xÿÿÿPÿµðþÿÿ…ôþÿÿPèÆëÿÿƒÄÿµðþÿÿ…4ÿÿÿPèíëÿÿƒÄEüPÿ5ü@h@è6ƒÄ èb Pÿuüh@èðÿÿƒÄ è èCÜÿÿèÝÿÿè9Üÿÿö€tjpj"è'ÜÿÿƒÄjj#èÜÿÿƒÄj<è¡ðÿÿƒÄ€ÌPj<è§ðÿÿƒÄèûÛÿÿ%`£èìÛÿÿÉÃU‹ìƒì€=t‹EÇàþ‹E ÇÀþ‹EÇÉÃÇEì‹E‹ $‰ÇEð‹E ‰EôèŒë‹EôƒEô‹Mø‹I‰ÿEðÿuüèzƒÄ‰Eü Àt#€8ué‰Eøö@tàƒ}ð|Èh@jèPÛÿÿƒÄƒ}ðuh,@jè;ÛÿÿƒÄ‹E‹Mð‰ÉÃU‹ìƒì0j è¯ïÿÿƒÄ¶À‰EôŠEô$ð<u ¸ë¸ÿ‰Eìjè…ïÿÿƒÄÁø#Eì‰EàÇEØèÑë6ƒ}à} ‹Eð±*Màë ‹EðŠMàþÁ"MìˆH‹Eð¶@‰EÔÿuü訃ĉEü À„²€8uå‰Eð€H‹Eð‹ ‰H‹Eð‹Èf‹I€áðf‹fâf Êf‰H‹Eð‹ ÁùfáfÁá‹Ðf‹R€âf Êf‰H‹Eð‹ ÁùfáfÁá‹Ðf‹R€æðf Êf‰H‹EðŠMôˆHƒ}Ø„.ÿÿÿ‹EðŠMàˆH‹Eð€HÇEØé:ÿÿÿjjjè•îÿÿƒÄ ¶À‰EЊEÐ$ð<u¸ë¸ÿ‰EøjjjèiîÿÿƒÄ Áø#Eø‰Eäè”ë ÿuü蔃ĉEü ÀtT€8ué‰Eè€H‹Eà9Eäu ‹Eä@#Eø‰Eä‹EÔ9Eäu‹Eä@#Eø‰Eä‹Eà9Eäu ‹Eä@#Eø‰Eä‹EèŠMäˆH‹EèŠMЈHÇEÜÆ‹EÜ·@PÿuÜèðƒÄ‹M܈AÉÃU‹ì¸,ÉÃU‹ìƒìÇEü‹E¾ƒøw.ÿ$…L'ƒEë:ƒEë2ÿu‹E¶PhP@jèºØÿÿƒÄë '('('('('‹Eü·@;Ev‹EÉÃ3ÀÉÃU‹ìƒì ‹EƒÀ‰Eä‹EƒÀ‰EàÇEèÇEìèMÿÿÿé¯ÿEìƒ}ì|{ƒ}ì|h¨@jè9ØÿÿƒÄƒ}èuhÌ@jè$ØÿÿƒÄ‹E ‹Mä+MÁù‰‹E‰Eðèüþÿÿ‰Eü À„±€8u‰Eôö@t‹EðƒEð‹Mô¶I‰ÿuüè×þÿÿƒÄëÊ‹EäƒEä‹Mø¶I‰‹EàƒEà‹Mø¶I‰ÿuüè¨þÿÿƒÄ‰Eü À„Oÿÿÿ€8uå‰Eøö@tÜö@„.ÿÿÿƒ}èth|@jèp×ÿÿƒÄ‹E‹Mø¶I‰‹E‹Mø¶I‰ÇEè뜋E‹Mð+MÁù‰ÉÃU‹ìƒìWVÇEðèþÿÿ鼸Pjè×ÿÿƒÄjjè×ÿÿƒÄjèëÿÿƒÄÁøj ‹øè~ëÿÿƒÄ$ð<u ¸ë¸ÿ#ljEô‹Eø¶p9uôtTÿuôVhô@jè¶ÖÿÿƒÄë?‹Eø·@Áè$<u¸ë¸PÿuðèŠÖÿÿƒÄjÿuðè}ÖÿÿƒÄèuÖÿÿÿEðÿuüèjýÿÿƒÄ‰Eü Àt,€8ué‰Eøö@tàö@tœ€=…ÿÿÿ¸éÿÿÿ^_ÉÃU‹ìƒì(SVfÇEÚÇEì‹E‰Eäèýÿÿë/‹Eà¶@ À„Eƒøt`ƒøt{ƒø…³ÿuüèâüÿÿƒÄ‰Eü À„@Š€ût€ûuÞ‹Eü‰Eà‹E 9Eì|®ÿuìh,@jè«ÕÿÿƒÄ ‹E‹Mì‰3À^[ÉËEàö@ tö@u1¡‰Eø¡ë@‹Eàö@ tö@u¡‰Eø¡ë ‹Eà¶@%‰Eø‹Eà¶@Áè%‰Eô‹Eä‹MàŠIˆH‹Eä‹MàŠIˆH‹Eä‹MàŠIˆH‹Eä‹MàŠIˆH‹Eä‹MàŠIˆ‹EäÇ@‹Eà€8u ‹EäÇ@ƒ}øu‹Eä€Hƒ}ôu‹Eä€HƒEä ÿEìéÐþÿÿ‹Eàö@ t ö@…ù‹Eà¶@Pè,ƒÄ‰EÜ Àt.ƒøt5ƒø| ƒøÇEôƒ}ôt öu}ÇEøë{ÇEôëßfƒ}ÚuEhÑèCÔÿÿƒÄfÁàhЋðè0ÔÿÿƒÄf¶Àf Æf‰Eòf¡f!Eòf¡f EòfÇEÚ¸‹MàŠIÓà·Mò…Át“éoÿÿÿÇEø‹Eàö@ t¶@Áè%‰Eô‹Eàö@„‰þÿÿ¶@%‰Eøéxþÿÿ‹Eà¶@Áè%‰Eô‹EàëÕƒ}ìuhd@jè‚ÓÿÿƒÄ‹E‹M쉸^[ÉÃU‹ìƒìèUúÿÿëzjhœ@‹EøƒÀPèIÓÿÿƒÄ Àu ¸ÉÃjh¤@‹EøƒÀPè%ÓÿÿƒÄ Àu ¸ÉÃjh¬@‹EøƒÀPèÓÿÿƒÄ Àu ¸ÉÃÿuüèèùÿÿƒÄ‰Eü Àt6€8ué‰Eø¶@;EuÝjh”@‹EøƒÀPèºÒÿÿƒÄ À…Sÿÿÿ3ÀÉÃÿuh´@jè™ÒÿÿƒÄ ö…GÿÿÿötÑé]ÿÿÿU‹ìƒìèqÚÿÿ$ð<”À¶À‰Eøƒ=uHPè}ïÿÿƒÄ‰Eü+Ò÷5Pƒ}øt¸ ë3ÀPjè áÿÿƒÄ ÿ5ä@hèàÿÿƒÄègäÿÿèšÓÿÿè áÿÿÉÃU‹ìƒì}} ‹E@ë3À‰EüÿuèáÿÿƒÄ¡9Eüu*ö€t!öujpj"è³ÑÿÿƒÄjj#è§ÑÿÿƒÄ¡9EüuötèéÿÿÉÃU‹ìƒì‹E8_MP_tÇô@‚3ÀÉÃjÿuè6ƒÄ ÀtÇô@ŒëÞ‹E€x uÿpègñÿÿƒÄ‰Eüë ÇEüƒ}üt‹E£ð@‹EüÉÃU‹ìƒìƒ=è@u3ÀÉÃjhõæèdæÿÿƒÄ‰Eøfƒ8rö@ujÿuøèÐæÿÿƒÄëÎÇEüƒ=ì@u7Ç_MP_‹EüÇ@‹EüÆ@‹EüÆ@ ‹EüÆ@ ‹EüÆ@‹EüÆ@‹Eü‹Mø¶IÑé€áˆH ‹Eøö@ €t ‹EüÆ@ €ë‹EüÆ@ ‹EüÆ@ jÿuüè ƒÄ‹MüˆA jÿuøè1æÿÿƒÄ¸ÉÃU‹ìƒìWV‹u‹} ÆEÿë¬Eÿ‹ÇO Àõ¶Eÿ÷Ø^_ÉÃU‹ìƒìèåöÿÿëÿuüèäöÿÿƒÄ‰Eü Àt^€8ué‰Eøjhà@ƒÀPèÂÏÿÿƒÄ Àt4jhè@‹EøƒÀPè¨ÏÿÿƒÄ Àtjhð@‹EøƒÀPèŽÏÿÿƒÄ Àu›‹Eø¶@ÉÃhø@jèpÏÿÿƒÄÉÃU‹ìƒìƒ}|(ƒ}"‹E‹…Ü@‰Eü·@Phÿuüè7ÏÿÿƒÄ Éà À%ÿÿÿŸ "À¡ð ä@ÃSCO APIC MP Driver for AHS 3.4 (apic module) 94/07/19 for Intel MPS v1.1apic - could not find mapping for irq %dapic - program_io_apic() called with Local interruptapic - irq %d assigned to bad pin (%d) on I/O APIC id %dapic - program_local_apic() called with I/O interruptapic - irq %d assigned to bad pin (%d) on Local APIC id %dapic - too many interrupts post distributionapic - out of IDT entriesapic - cannot allocate spurious vectorapic - attempt to mask bad irq %dapic - bad I/O APIC id %d when masking irq %dapic - attempt to mask bad local pin %dapic - failed to reset CPU%dapic - cannot allocate IR7 spurious vector for 8259A apic - attempt to read from bad I/O APIC id %dapic - attempt to write to bad I/O APIC id %dapic_tmp_mapUnit ID = %x, Version = %x %s%d: %x %x %s%d: %x %x (Timeout)Unit ID = %x, Version = %x, Spurious Vector = %x Task Priority = %x, Logical Dest = %x, Dest Format = %x Local Timer %x, Local 0 %x, Local 1 %x, Local Error %x Timer Initial Count = %x, Timer Divider Config = %x Error Status = %x ISR: TMR: IRR: %bSCO APIC MP Driver for AHS 3.4 (pcmp module) 94/07/19 for Intel MPS v1.1ðpcmp - too many I/O APIC entries foundpcmp - no I/O APIC entries foundpcmp - invalid entry type %d (address %x)pcmp - multiple bootstrap cpu entries foundpcmp - too many cpu entries foundpcmp - bootstrap cpu entry not foundpcmp - mismatch in bootstrap cpu id (table=%d, real=%d)pcmp - only %d interrupt assignment entries acceptedpcmp - no interrupt assignment entries foundISA EISA MCA PCI pcmp - couldn't find bus entry with id %dEISA ISA MCA pcmp - could not find an ISA/EISA/MCA default bus PCMPô àþÿÿÀþISA ÿÿÿÿÿÿÿÿÿ ÿ  ÿ  ÿ  ÿ  ÿ ÿÿPCMPä àþÿÿÀþEISA ÿÿÿÿÿÿÿÿ ÿ  ÿ  ÿ  ÿ ÿÿPCMPô àþÿÿÀþEISA ÿÿÿÿÿÿÿÿÿ ÿ  ÿ  ÿ  ÿ  ÿ ÿÿPCMPô àþÿÿÀþMCA ÿÿÿÿÿÿÿÿÿ ÿ  ÿ  ÿ  ÿ  ÿ ÿÿPCMPü àþÿÿÀþISA PCI ÿÿÿÿÿÿÿÿÿ ÿ  ÿ  ÿ  ÿ  ÿ ÿÿPCMPü àþÿÿÀþEISA PCI ÿÿÿÿÿÿÿÿÿ ÿ  ÿ  ÿ  ÿ  ÿ ÿÿPCMPü àþÿÿÀþMCA PCI ÿÿÿÿÿÿÿÿÿ ÿ  ÿ  ÿ  ÿ  ÿ ÿÿ,@ @ @ø @ì @è @ä @@(#)SCO GPISUP 1.0.0a 94/08/17ÕuÛkãuï”úuku ¤#7F?=I>N=X?uF~@ ~¬~´i¿~njΈÙ~ë~ý~~A"~+Œ7U<Ym~…p“É Õ9ø -AS„Œˆž©9ɌԈäòýŒgB$~-7~@W~_dn~vdB‡—~ ª~³½~Ùàp ˆ,˜ZxS²S½ˆñˆu%uU\p|x©SÆSÑñŒýp"ŒFMpvŒ†’Œ›†ÔŒÛ˜ù~Œ˜3a>”QM–l¡”´vè” l ”% J0 d5 =? ˆM =W mh dm =s B  ”´ ^Á É Ð pØ Þ é ú X ‡ …Ž • p± ]à Î Ö  <( 2 ; <N <_ …‚ ‰ p˜ A ½ ]È Ð  m% m- ”< BH CY i   — pÀ Ù @Þ î    p- Œ8 ˆW l =œ =³ :¸ “ø :ý P O o&k=ƒNu^„dgq„‡=²Ô\ìù ki=-Q?ˆGZVt^Zi{˜ƒZ¬VÒ€×KßbäKõKúZŠV1œIPpy˜…f‘fœ©¶G»_Ç_ÌZÔÙ›Þ_õhýw_)œ<MfYfdœ”žh¬d¶ˆÄ~Ö~Þdèˆö~~dd&ˆ4~I~Qdf…n;x}H;’]¶jÕáfîffN*f:fE•V[`eiY†jf˜N¹9ÁZÌÔå9"Igwt@˜=¬=Ò@ô  p.@T dkp}š‹R™näyñššR(9y“Ç”â<õ<…H]r „Ÿ°SÈtØSãôx!@0@IW`eHy‹ ²¹¿ÄHçü4=AdF=Wd\=y=’œª¯H·=Ð à ñ úÿH   ( 16HF W h qvH ˜H¥ªHº Ë ÔÙHò ûH H"'H4<AHQY^HŸ¤HË é¦÷¦<>¨-<3>;?E¦J¦X¦]¦v¦~<ƒ>Š?™¦¡<¦>±¦Ã<É>Ð?٦ߦè­ï>ùkÿi?5=<DKSè÷)??4HÈR'\'j's''ŠÈ±™±¢'²/ÆÕÐÐÚ'î±ó60'K/`'v'§' ' E' '> 'U i 'z E‘ '¨ -µ 'É .Ö 'é ²ñ Z!E!'!!'&!33!'C!±I!'N!Zg!‘!3Ÿ!±«!Z»!'È!Eþ!E"/"3="±L"Zi"E’"-¦".Ó"±Ý"±ã"¿ú"0#c#± #2H#Íj# #¢Œ#'‘#+–#1ž#ϧ#+¬#–´#Ô¹#Û¾#¡Ã#ÀÉ#±Õ#fá#fë#£ù#~$º $°$¾ $±G$²P$²d$Ñ‚$Ò¥$)¬$pº$)Á$pÝ$£%£%ÑT%Òw%Â%³¢%³Ç%³&xK&x\&Ñh&ÒÍ&²Ó&²ä&-ø&² '²'%;')B'pL'%P'%T'%X'%\'%h'²£'Ѽ')Ã'pÑ')Ø'pô'Ñ%(ÒT(Ò…()Œ(pÔ(Ñé(Åõ(¶ÿ(£)£?))F)pr)Å)¶‡)Î’)Ò¶)Ùì)Ñ*ÒJ*)Q*px*¼€*·˜*´ *Ód+5+½¹+ÄÌ+Äà+¹ê+Ãs,)z,p›,ѧ,)³,¸Ë,)×,¸ï,)û,¸-Ò6-)B-¸\-)c-pl-Yy-Y-¢-Œ«-®¹-ÊÒ-LÛ-'à-×å-Wí-¥ò-÷-s!.q).”4.±=.½I.fU.f].”h.½p.U‹.'ž.-«.'Å.6å.'ø.' /(/E7/±=/'F/±´/-Ç/E 0Ñ0Ò10):0¸H0)T0¸b0)n0¸…0)Œ0p°07½0²Å0ZÚ0°â0ié0Éà@7ä@7è@7ì@7ð@7ô@7ø@7.datað@p.data`@0.bssü@ dàget_io'p 4>¬ MXZÈjÄfind_irqÜ{<‰D —Ü .textèP&.data@¤±d¾TÍ”no_postfÖØõå ó@þ”@ gloop1¥loop2Ãloop.text8`Ú.data˜@l.data@'.bss@p#Ø/1¸"EhU$dÐ)pÔ$…x"ž!¶”,Â0 .data,@ÐÕpãïü #-@;IXdT@süapic_mapÀ‚&printf‘Ÿ± ÀàintnullÒapicsplèiunlockbtrap_stikpd0ÞìL@Œ\%5archbcopycmdportsptallocBS_od }‹›,¯ximrportoutbÁÑäòýimemget)äcmn_err5´?H@M^hclock{"‹¸flushtlb˜P@©<@·@@ÅX@Ö¤çñÿ¨` ømpnullallocidt-:FapicbootŒapic_cli4S ^nt{@ˆ”¡, ¯P ilockb½npicÇ°Ôˆ áðsyssegsÿsuspendimemfree€\,47ÐCpO_rXipl‚_intpri‘l¡°±¸ÂØÏÚ,ë(ü cpu_id'3ø@AOkstrncmp[_cr0ið@~Š—®˜0i486neÅì@ØåinbòÈ" è@ð.*ä@Hzpcmppres8:x.L|'Zd0uƒô&”'¤°Ä(mpvendor¼.pcmpswÆô@ÓÞˆ-ê÷,@ @  @ ø @+ ì @8 è @E ä @R Ð0] apic_print_bitsprogram_local_apicapic_maskintget_localio_apic_domaskfind_io_addrprogram_io_apicapic_print_localapic_print_ioapic_spuriousapic_lookoutapicspl_doneapicpre_spurapic_notclock1apic_noeoiapic_in_intrapic_no_clearapic_rtc_Aapic_rtc_Bapic_GetRtcByteis82489DXcalc_checksumpcmp_spec_supportedio_apic_presentget_apic_paddrget_intrmapupdate_default_tablevalid_floating_structurefind_floating_structureget_bustypevalid_config_tableapic_irq_infolock_ioapicapic_ir7_IDTapic_task_prilocal_apiclocal_taskprilocal_eoiio_apic_vaddrapic_spur_IDTapic_clock_IDTapic_fp_IDTapic_irq_countapic_tmp_unmapapic_start_endcrllry_memorycrllry_cpureleaseapic_halt_codeapic_timer_paramspicbufferedio_apic_writeapic_delivery_errorapic_disable_ioapicsapic_warm_resetapic_setup_mpswiattr_intprimap_idt_to_ivectiattr_inuseapic_start_codeapicdistclockset_cpuvectorapic_halt_entryapic_memory_mappingapic_await_intcmdapic_auto_clockapic_issue_startupprocessor_bitmasterlineapic_iclass_smaskidistributedapic_ipi_IDTapicpreidleapicresetapic_cfg_idleapic_enable_intsapic_ioidapic_iclass_iomaskapic_start_flagio_apic_readapic_num_ioapicsapic_timeout1apic_timeout2apic_default_buslocal_apic_writeseticlassapic_halt_endapic_issue_resetapicdisableintapicclearintrapic_actionsiattr_distnapic_localidapicenableprocessor_indexapic_tmp_mapapic_requestapicpicinitapic_versionapicinterruptapicenableintnum_ACPUsapic_intrmapapicpostdistapic_localversapicpostxxinitapic_start_entryapic_isactivepcmp_isactiveapic_setidapic_iclassapic_setverlocal_apic_readapic_iclass_staticapic_setup_picsapicprehandlerapicposthandlerapicprefhandlerapicpostfhandlerapicdummysplactiveintrapic_count_clockapic_request_eoipcmp_cachebitspcmp_floatingpcmp_cfgtablepcmp_smi_popcmp_whyfail2set_pdbustypepcmp_nmi_elpcmp_elcr_andpcmp_vendor_floatingpcmp_nmi_popcmp_actionscrllry_boot_processorspcmp_get_default_tablepcmp_floating_addrcpu_featurespcmp_elcr_orset_pdcputypepcmpsetuppcmp_check_10pcmp_10_compliantpcmp_bootedmaskpcmp_use_floatingget_apic_infobump_cpuspcmp_default_busmpvendorclasspcmp_first_entrypcmp_next_entrypcmp_smi_eldecode_cpuspcmpresetpcmp_whyfailcpu_familypcmppicinitcpus_locatedpcmp_config1pcmp_config2pcmp_config3pcmp_config4pcmp_config5pcmp_config6pcmp_config7pcmpbooted./usr/lib/custom/gpisup/ID/apic/Space.c 644 0 3 5677 5624372043 13000 #ident "@(#) space.c 24.1.1.1 94/07/07 " /* * Copyright (C) 1994 The Santa Cruz Operation, Inc. * All Rights Reserved. * The information in this file is provided for the exclusive use of * the licensees of The Santa Cruz Operation, Inc. Such users have the * right to use, modify, and incorporate this code into other products * for purposes authorized by the license agreement provided they include * this notice and the associated copyright notice with any such product. * The information in this file is provided "AS IS" without warranty. */ #include "config.h" #include "sys/types.h" #include "sys/param.h" #include "sys/ci/cimpsw.h" char pcmpmpswvers[] = MPSW_VERSION_2; extern int pcmppres(); extern void pcmpsetup(); extern void apicboot(); extern void pcmpbooted(); extern void apicpostxxinit(); extern void apicenable(); extern void apicinterrupt(); extern void pcmpreset(); extern void pcmppicinit(); extern int apicdummyspl(); extern int apicprehandler(); extern int apicprefhandler(); extern int apicposthandler(); extern int apicpostfhandler(); extern void pcmppicinit(); extern int apicpostdist(); extern void apicdistclock(); extern void apicenableint(); extern void apicdisableint(); extern void mpnull(); struct mpsw pcmpsw = { pcmppres, /* pres */ pcmpmpswvers, /* id */ mpnull, /* startup */ pcmpsetup, /* setup */ apicboot, /* boot */ pcmpbooted, /* booted */ apicpostxxinit, /* postxxinit */ apicenable, /* enable */ mpnull, /* exception */ pcmpreset, /* reset */ mpnull, /* ledon */ mpnull, /* ledoff */ apicinterrupt, /* interrupt */ mpnull, /* clrinterrupt */ NULL, /* sendnmi */ NULL, /* clrnmi */ apicdummyspl, /* spl - setup in pcmppicinit() */ apicprehandler, /* prehandler */ apicprefhandler, /* prefhandler */ apicposthandler, /* posthandler */ apicpostfhandler, /* postfhandler */ pcmppicinit, /* picinit */ apicenableint, /* enableint */ apicdisableint, /* disableint */ (int (*)())apicdistclock,/* distclock */ NULL, /* predist */ apicpostdist, /* postdist */ NULL, /* idistribute */ NULL, /* reserved entry */ NULL, /* reserved entry */ NULL, /* reserved entry */ NULL, /* reserved entry */ NULL, /* reserved entry */ NULL, /* reserved entry */ NULL, /* reserved entry */ }; struct mpsw *apicswlist[] = { &pcmpsw, 0, }; unsigned pcmp_elcr_and = 0xffffffff; unsigned pcmp_elcr_or = 0; unsigned pcmp_actions = 0; int pcmp_nmi_po = 1; /* high */ int pcmp_nmi_el = 3; /* level */ int pcmp_smi_po = 1; /* high */ int pcmp_smi_el = 1; /* edge */ int apic_iclass_static = 0; /* flag forcing static distribution */ int apic_iclass_iomask = ~0; /* bitmap of interrupt fielding cpus */ int apic_iclass_smask = 0; /* bitmap of sti/cli cpus */ int apic_auto_clock = 0; /* flag for autonomous clocking */ int apic_localid[MAXACPUS+1]; int apic_ioid[MAXACPUS+1]; int apic_localvers[MAXACPUS+1]; int apic_ipi_IDT[MAXACPUS+1]; int apic_actions = 0; ./usr/lib/custom/gpisup/ID/apic/System 644 0 3 27 5624372044 12731 apic Y 1 0 0 0 0 0 0 0 ./usr/lib/custom/gpisup/ID/apic/Master 644 0 3 33 5624372045 12676 apic - iov pcmp 0 0 1 1 -1 ./usr/lib/custom/gpisup/ID/olimpx/Driver.o 644 0 3 7156 5624372071 13603 LžËQ. 3 Ø Ш@.textÐÐØÐÔQ .data¨@¨@ ¨@.bss´@´@€.comment ´U‹ìƒì SWV¡‰EôhÐèÿÿÿƒÄ‹ØhÑèÿÿÿƒÄ‰Eðhúj!èôþÿÿƒÄhÿh¡èâþÿÿƒÄh” èÕþÿÿƒÄ Ph” èÅþÿÿƒÄSh• è·þÿÿƒÄÿuðh– è§þÿÿƒÄèŸþÿÿƒ= „ØÿuôèŠþÿÿƒÄ €Pÿuôè|þÿÿƒÄj6jpèpþÿÿƒÄjqèfþÿÿƒÄ‰EèjjèWþÿÿƒÄjjèKþÿÿƒÄ‹EèÁè‰Eø‹Eè!Eø‹Eø%‰Eè3öë2‹þë‹ÇÁà‰Eà‹È‹‰‰ˆGƒÿ|äNFÑmø‹Eø%‰Eèƒ}øtƒ}ètÄ ötáèãýÿÿëÚèÛýÿÿèÖýÿÿ Àt èÍýÿÿèÈýÿÿjðjjè½ýÿÿƒÄ ^_[ÉÃU‹ìÿ5è¦ýÿÿÉÃU‹ìƒìV}}‹E@ë3À‹4…ÿuè{ýÿÿƒÄÇEøgÀ¸gÀ‹M Áá M‰Vè[ýÿÿƒÄ$þPVèOýÿÿƒÄ^ÉÃU‹ìƒìV}}‹E@ë3À‹4…‹E‹ …ÿ… Ét jÿuèýÿÿƒÄVèÿüÿÿƒÄ PVèóüÿÿƒÄ^ÉÃU‹ìƒì0èáüÿÿ À„ŠÇEÐÇEÔÇEØÇEÜÇEàÇEäÇEèÇEìÇEðÇEü븊MüÓà‰EôEÐPèzüÿÿƒÄÿEü¡9Eü~Úèeüÿÿ Àtjÿ5jèRüÿÿƒÄ ÉÃU‹ìV‹ujÿ5è8üÿÿƒÄjÿ5è(üÿÿƒÄ‹ÆÁà ‹ 4‰ˆ4‹ÆÁàŠ ˆˆ jÿ5ÿ5èðûÿÿƒÄ è,^ÉÃU‹ìƒìV‹E‹4…VèÍûÿÿƒÄ @PVèÁûÿÿƒÄ^ÉÃU‹ìƒìV‹E‹4…Vè¡ûÿÿƒÄ$¿PVè•ûÿÿƒÄ^ÉÃU‹ìƒìV3öh hPÀh¨@èoûÿÿƒÄ Àt*ÇEüþÿÀ¸þÿÀ€8üuÇ Ç€¾‹Æ^ÉÃU‹ìƒìSWVÆEôÆEõ ÆEö ÆE÷ »j ¿ÀÇEüë‹Eü‰…ß¿ÿEüƒ}ü~æhj èèúÿÿƒÄ‹ðæ ‹ÆÁø¶Dô£^_[ÉÃU‹ìèÀúÿÿÉÃU‹ìƒìè±úÿÿÿ5ÿ5è úÿÿƒÄ ˆEÿ¶EÿPÿ5è…úÿÿƒÄ¡ÁèˆEÿ¶EÿPÿ5ègúÿÿƒÄè_úÿÿÉÃÃOLIVETTI@(#)SCO GPISUP 1.0.0a 94/08/17Ú çö'7EU]c0r€Œ–¥±è î "!2&/14?Q0Vy #¡­Õ ß!æ!ô%ý M‚+—£0ª¿$ÄÏ$Ôâ èó/ù)0$ -) /;U [gˆ«.µ&ú .0<K QW\dr(w(•.data¨@ È&4picinitBolireset¸THb8mz„´Ž¤›¯½outbÊÕìoliprestùclockinbclknumboliboot\ivect(5mp_reset?O[iw„olisetupÐ’œL¦Dmpvendorintpri³½ËØolistartupintr_restorepit0_modecrllry_memoryset_pdbustypecrllry_cpureleaseolicpuclrintrolipicinitintr_disableoliporegsolibootedolidistclockmultiple_processorsset_cpuvectorcrllry_ivectistrsearchcrllry_boot_processorsidistributedolicpuintrpitctl_portset_pdcputypeseticlassoliresetoncebump_cpusprocessor_indexcrllry_haltmpvendorclassolipostxxinitpitctr0_portcrllry_intprinum_ACPUsolienableoli_clkstartoliipcirqmultiple_picscpus_located./usr/lib/custom/gpisup/ID/olimpx/Space.c 644 0 3 3343 5624372040 13355 #ident "@(#) space.c 24.1 94/07/07 " /* * Copyright (C) Corollary, Inc., 1986, 1987, 1988, 1989, 1990. * All Rights Reserved. * This Module contains Proprietary Information of * Corollary, Inc., and should be treated as Confidential. */ #include "config.h" #include "sys/types.h" #include "sys/param.h" #include "sys/ci/cimpsw.h" #define OLIMAXACPUS 3 int oliresetonce[MAXACPUS]; int oliporegs[OLIMAXACPUS+1]; int oliipcirq; char olimpswvers[] = MPSW_VERSION_2; extern int olipres(); extern void olistartup(); extern void olisetup(); extern void oliboot(); extern void olibooted(); extern void olipostxxinit(); extern void olienable(); extern void olireset(); extern void olicpuintr(); extern void olicpuclrintr(); extern void olipicinit(); extern int olidistclock(); extern void mpnull(); struct mpsw olisw = { olipres, olimpswvers, olistartup, olisetup, oliboot, olibooted, olipostxxinit, olienable, NULL, olireset, mpnull, mpnull, olicpuintr, olicpuclrintr, NULL, /* NEW functions provided only */ NULL, /* for MPX 2.1 */ NULL, /* spl function */ NULL, /* prehandler */ NULL, /* prefhandler */ NULL, /* posthandler */ NULL, /* postfhandler */ olipicinit, /* picinit */ NULL, /* enableint */ NULL, /* disableint */ olidistclock, /* distclock */ NULL, /* predist */ NULL, /* postdist */ NULL, /* idistribute */ NULL, /* reserved entry */ NULL, /* reserved entry */ NULL, /* reserved entry */ NULL, /* reserved entry */ NULL, /* reserved entry */ NULL, /* reserved entry */ NULL, /* reserved entry */ }; struct mpsw *olimpxswlist[] = { &olisw, 0, }; ./usr/lib/custom/gpisup/ID/olimpx/System 644 0 3 31 5624372040 13314 olimpx Y 1 0 0 0 0 0 0 0 ./usr/lib/custom/gpisup/ID/olimpx/Master 644 0 3 35 5624372041 13270 olimpx - iov olim 0 0 1 1 -1 ./usr/lib/custom/gpisup/ID/olimpxp5/Driver.o 644 0 3 27730 5624372062 14070 L¯ËQ.€$d <,Ð @.textÐÐ<ÐX7 .data @ @, @.bss8@8@€.comment 8U‹ìƒìV3öh hPÀh @èÿÿÿƒÄ Àt*ÇEüýÿÀ¸ýÿÀ€8quÇ Ç€¾‹Æ^ÉÃU‹ìƒì SWV3ÿ¾À‹ßë‰<þ¾Cƒû~ì^_[ÉÃU‹ìƒì SWV¡‹…‰Eôjhîjjè„þÿÿƒÄ£hÐèrþÿÿƒÄ‹øhÑècþÿÿƒÄ‹Øhúj!èRþÿÿƒÄhÿh¡è@þÿÿƒÄh” è3þÿÿƒÄ Ph” è#þÿÿƒÄWh• èþÿÿƒÄSh– èþÿÿƒÄj jèûýÿÿƒÄjjèïýÿÿƒÄj6jpèãýÿÿƒÄjqèÙýÿÿƒÄ‰EèÁè‰Eø‹Eè!EøÇEüë:‹uüë‹ÆÁà‰Eà‹È‹‰‰ˆFƒþ|äÿMüÿEüÑmø‹Eø%‰Eèƒ}øtƒ}èt¼ƒ}ütÝèmýÿÿëÖècýÿÿè^ýÿÿ Àt èUýÿÿèPýÿÿ‹Eô‘ PèBýÿÿƒÄ P‹Eô‘ Pè.ýÿÿƒÄjðjjè ýÿÿƒÄ ^_[ÉÃU‹ìƒìV}}‹E@ë3À‹4…ÿuèïüÿÿƒÄÇEøgÀ¸gÀ‹M Áá M‰†“ PèÉüÿÿƒÄ @P†“ Pè·üÿÿƒÄ^ÉÃU‹ìƒì0WV‹uþ}Fë3À‹<…j ÿ5è‚üÿÿƒÄjÿ5èrüÿÿƒÄÇEÐÇEø@ÇEÔ¿ÇEØÇEÜÇEàÇEäÇEèÇEìÇE𸊠Óà‰EôEÐPèüÿÿƒÄ‡‘ PèüÿÿƒÄ P‡‘ PèïûÿÿƒÄ^_ÉÃU‹ìƒì0èÝûÿÿ À„ØÇEÐÇEÔÇEØÇEÜÇEàÇEäÇEèÇEìÇEðÇEüë$ÇEÔ¸ŠMüÓà‰EôEÐPèoûÿÿƒÄÿEü¡9Eü~ÓÇEÐÇEø @ÇEÔ¿ÇEØÇEÜÇEàÇEäÇEèÇEìÇE𸊠Óà‰EôEÐPèûÿÿƒÄÉÃU‹ìh¿èëúÿÿÉÃU‹ìƒìWV}}‹E@ë3À‹4…‹E‹ …ÿ… Ét jÿuè¨úÿÿƒÄ†“ Pè™úÿÿƒÄ$¿P†“ Pè‡úÿÿƒÄ†@ÿÿ¹™÷ù‹øGW詃Ä^_ÉÃU‹ìÿuèÉÃÃU‹ìÿuèõÉÃU‹ìÿuèAÉÃU‹ìè(úÿÿÿ5èƒÄ¡Ç@D\¡Ç@LÀ¡Ç@Hð¡Ç@@èåùÿÿèàùÿÿ诃=tèÍùÿÿÉÃU‹ìƒìè½ùÿÿÿuÿ5è¯ùÿÿƒÄ Àt9¡‹MÑáƒÁ‰¡‹@%ÿÿþÿ‰Eü¡‹MÑáƒÁ‰¡‹Mü‰HÉÃU‹ìƒìèaùÿÿÿuÿ5èSùÿÿƒÄ Àt9¡‹MÑáƒÁ‰¡‹@ ‰Eü¡‹MÑáƒÁ‰¡‹Mü‰HÉÃÃU‹ìƒìÇEüÀÇEðéáÿEô¡9EôÊÿuðÿuôèÔøÿÿƒÄ ÀtÝ}ðïtÔ}ð¿tËÿuðÿuôè°øÿÿƒÄ‰EìÁàEðƒÀ@‰Eøÿuðÿuôè“øÿÿƒÄƒøu?jÿuôÿuøè~øÿÿƒÄ @uÿuôÿuðh(@jèføÿÿƒÄÿuôÿuðÿuøèUøÿÿƒÄ é]ÿÿÿjjÿÿuøè@øÿÿƒÄ @uÿuôÿuðhL@jè(øÿÿƒÄjÿÿuðÿuøèøÿÿƒÄ ÿEð‹Eü9Eð}ÇEôéÿÿÿjjÿhïèî÷ÿÿƒÄ @uhp@jèÜ÷ÿÿƒÄjÿhïhïèÈ÷ÿÿƒÄ jjÿjGèº÷ÿÿƒÄ @uh@jè¨÷ÿÿƒÄjÿhïjGè—÷ÿÿƒÄ jjÿjOè‰÷ÿÿƒÄ @uh¸@jèw÷ÿÿƒÄjÿhïjOèf÷ÿÿƒÄ jjÿh¿èU÷ÿÿƒÄ @uhà@jèC÷ÿÿƒÄjÿh¿h¿è/÷ÿÿÉÃU‹ì‹ExuÇ@ÉÃÃÃÃÃU‹ìƒìVƒ=tèïöÿÿƒ}uèx¡‹MÁá‰H ¡Ç¡‹MÁáÁ‰H‹uÁæ¡9p tVÿp hü@jè—öÿÿƒÄ¡Ç‹EÁà‹ ;At+‹ÁÇ‹EÁàP¡ÿph(@jèKöÿÿƒÄÿuè̃Äÿu腃ġf÷€uðÇ€…¡Ç€  ¡Ç€P¡Ç€`¡ºŠMÓâÁâ‰Ð¡Ç€àÿÿÿÿ¡Ç€ðï^ÉÃU‹ìƒì Vh• èŸõÿÿƒÄh– ‹ðèõÿÿƒÄÁà ƉEðÇEèéïÿuèÿuèmõÿÿƒÄ À„ŠÿuèÿuèWõÿÿƒÄ‰EôÁàEè‰Eü¸ŠMèÓà#Eð‰Eàÿuüÿuè-õÿÿƒÄƒøu)ƒ}àt¸€ë3À‹MüƒÁ@ Á€Ì ‰EøÇEäÿÿÿÿë>ƒ}àt ¸€ë3À‹MüƒÁ@ Á€Ì‰Eøë ÇEø¸ŠMÓàÁà‰Eä¡‹MèÑáƒÁ‰¡‹Mä‰H¡‹MèÑáƒÁ‰¡‹Mø‰HÿEèƒ}è} ƒ}è…ÿÿÿë ^ÉÃU‹ìƒì ÇEìéÿEøƒ}ø“‹Eø÷-EìŠMàˆëÜ‹Eð@;¡£ÿuðÿuèôÿÿƒÄ‰Eø À~ƒø~/hL@hŒ@èýóÿÿƒÄÿuøÿuðh@èêóÿÿƒÄ èâóÿÿëùÿEøƒ}ø‹Eø÷-EìŠMàˆëàÑeàÿEð}à€)ÿuðÿuè¦óÿÿƒÄ À…_ÿÿÿ‹Eà EèÇEøé,ÿÿÿ‹EìŠM興‹Eì‰Eðë‹EðŠM舡Eð‹EìƒÀ;EðáÿEìƒ}ì}ÇEè‹EìÁà‰EðÇEàévÿÿÿÉÃU‹ìƒì¡Ç€  ¡Ç€€›.ÉÃU‹ìƒ}}ƒ}~ÿuh¤@jèæòÿÿƒÄ ¡‹MÁቈ€ÉÃU‹ì¡Ç€°ÉÃU‹ì¡9EuPh¸@jè¢òÿÿƒÄ ¡f÷€uð‹MÁቈ¡Ç€¿ÉÃU‹ì¡f÷€uðÇ€Ä ÉÃU‹ì¡9EuPhÜ@jè6òÿÿƒÄ ¡f÷€uð¡f÷€uð‹MÁቈ¡Ç€ÄÉÃU‹ì¡f÷€uð‹MÁቈ¡Ç€„ÉÃU‹ì¡f÷€uð‹MÁቈ¡f÷€uðÇ€…¡f÷€uðǀšf÷€uðÇ€…ÉÃU‹ìƒì¡Ç¡Ç¡ÿpÿph@è#ñÿÿƒÄ ÇEüëU¡‹MüÑáƒÁ‰¡‹MüÑáƒÁ‰¡ÿpÿp‹Eü¹ ™÷ùƒÂ0R‹Eü™÷ùƒÀ0Ph @èÈðÿÿƒÄÿEüƒ}ü|¨h@@è²ðÿÿƒÄ¡ÿp0ÿp hD@èšðÿÿƒÄ ¡ÿ°€hd@è‚ðÿÿƒÄ¡ÿ°Ðhx@èjðÿÿƒÄ¡ÿ°àhŒ@èRðÿÿƒÄ¡ÿ°ðh @è:ðÿÿƒÄ¡ÿ° ÿ°ÿ°ÿ°h´@èðÿÿƒÄ¡ÿ°ÿ°ÿ°ÿ°hÔ@èæïÿÿƒÄ¡ÿ°Œÿ°ˆÿ°„ÿ°€hô@è¼ïÿÿƒÄ¡ÿ°œÿ°˜ÿ°”ÿ°h@è’ïÿÿƒÄ¡ÿ° ÿ°ÿ°ÿ°h4@èhïÿÿƒÄ¡ÿ°ÿ°ÿ°ÿ°hT@è>ïÿÿƒÄ¡ÿ°ÿ°ht@è ïÿÿƒÄ ¡ÿ° hŒ@èïÿÿƒÄ¡ÿ°Ph @èðîÿÿƒÄ¡ÿ°`h´@èØîÿÿƒÄ¡ÿ°€hÈ@èÀîÿÿƒÄ¡ÿ°hÜ@è¨îÿÿƒÄ¡ÿ°àhð@èîÿÿÉÃU‹ìÿuÿuÿu ÿuh@jèqîÿÿÉÃU‹ìƒìVÇEìÇEð븋MðŠ‰Óà EìÿEð¡9Eð|àj·Pè%îÿÿƒÄj@·PèîÿÿƒÄÿuì·PèîÿÿƒÄ€=t¸ ë¸P·PèÙíÿÿƒÄhÿ·PèÄíÿÿƒÄj ·Pè²íÿÿƒÄÇEðë9¸P·EúPè”íÿÿƒÄhÿ·EúPè‚íÿÿƒÄj ·EüPèsíÿÿƒÄÿEð¡9Eð}s‹uðÑæf‹†f‰Eüf‹†f‰Eúj·EüPè<íÿÿƒÄ‹EðÁàƒÀ@P·EúPè%íÿÿƒÄ‹Eð¾€P·EúPè íÿÿƒÄ€=„Yÿÿÿ¸ éTÿÿÿ^ÉÃ9 u‹ÁÃœúR‹‰ 9 t‰ ÁáƒÁ@R‹€‰ ‹ Z‹ÂZËÇ=ïtSè–ìÿÿ¶%ÿ‹R£9t/£Áà@R‹€‰‹ZQ‹ Á°‰YXøÿÿÿÿÉ 9 t‰ ÁáƒÁ@R‹€‰ ‹ ZËÇè ìÿÿ¶Q‹ Á°‰YÃOLIVETTIIPC irqIPC irqCan't allocate irq %d on cpu %d Can't allocate irq %d on cpu %d Can't allocate SPURIOUS vector Can't allocate SPURIOUS vector for PIC Can't allocate SPURIOUS vector for PIC Can't allocate IPC vector Logical Unit Id (%d) is different from %d IO Register is different from %d olip5_picinit: bad interrupt ipl in intpri[]; can't continue %sintno %d, level %d Invalid IPL (%d) Can't send IPC to myself (cpu %d) Can't send NMI to myself (cpu %d) I/O Unit : %x, Version : %x RedirectionTable[%c%c] : %x %x I/O Unit : %x, Version : %x Task Priority : %x Logical Dest. : %x Dest. Format : %x Spurious Vect : %x ISR : %x %x %x %x %x %x %x %x TMR : %x %x %x %x %x %x %x %x IRR : %x %x %x %x %x %x %x %x Int.Cmd.Reg. : %x %x LocalVect TIM : %x LocalVectINT0 : %x LocalVectINT1 : %x Initial Count : %x Current Count : %x Divider Conf. : %x spl*: logic error in apic_asm.s - %x, %x, %x, %x @(#)SCO GPISUP 1.0.0a 94/08/17äé&I>;@^<e@x€ Š.™.ª!¼!É.Ù!ç!õ!1 !#.X@^@:™Nž§J¬%º.Î!Ü3@ ;3.E!m@u<z1…<Š›¾Þ<ì(û. !Q,(˜D«Îî<ü(5@?FFFT=c.u!L£2·CÇ'ÔÚ<ß+ç îó ú6ÿ    !-'8/?H<MY h x ‡ ›¤<©µ Ä Ô ã D(Li9~7–*§¼7ÍÔ*ä7 *4B7MT*es7~…*–§7²¹*ÍÝ, 8 [ Q + 6 P ^ e *m „ ¢ ª ± *¼ \Ç TÏ é ø   . = ] .l . ¥ Ï 9@ O Z i ² ]¾ YÊ ZÑ ZÖ Zá õ ú ÿ O  O W. ]: YV € Y” Y™ ]Û ê   * 4 H <S Z *b ~ ” ´ <¿ Æ *Î Þ ú  , @ \ v  ³ ¾ É ÔÙOí ü   /4OEJOR ]bOj uzO‚ ’Oš ¥ªO² ½ÂOÊ çìOô O ;@OH ejOr ”Oœ ¹¾OÆ ×ÜOä ïôOü  O $O, 7<OD OTO\ glO„‹*¶XÃ]ÑU×!ãVé!öVü!RV#!2V8!DUJ!h!z!‰!”]¥U°VÀ!×!äXï!øRa$a*a0b8bE fcua{abˆb— © ÂaÈbÐbÝ ócþ .data @ï.dataü@:cont_splT¸#¶-ì;Mô\ðnô„À‘Ÿ­ci__intr¿\trap_stiаÞësptallocõspl0¬%spl59”pic_climpswpoutbJœZf8v˜ ª·cmn_errÄüclock×Ô inbëüðD 2<ÔN$\Àallocidtnz†mp_reset ¬ºÐÅÑPÞÐì° ÿ ø.ì<ðmpvendorLZTf<{è†printf“0 ¢”µÁü ÓP cmdportimrportnulldevçiplmasknintròŒ npic¬' ;tiplpicipl_intpriPapic_spl_retoffolip5_spuriousgo_endprego_splendpostolip5_apic_msbaseolip5_postdistolip5_prefhandlerolip5_posthandler_debolip5_clrnmicrllry_memoryset_pdbustypecrllry_cpureleaseolip5_prehandlerolip5_sendnmiiattr_intpriolip5_splmap_idt_to_ivectiattr_inuseolip5_clrinterruptmultiple_processorsolip5_disableintolip5_interruptolip5_resetolip5_enableintcrllry_boot_processorsistrsearcholip5_apic_clrnmiidistributedolip5_enableolip5_apic_picinitolip5_apic_clkstartolip5_postxxinitolip5_prehandler_debset_pdcputypeolip5_apic_sendipcseticlassolip5_idistributeolip5_startupolip5_posthandlerenable_intsiattr_distnbump_cpusprocessor_indexcrllry_haltmpvendorclassolip5_presolip5ioregsolip5_bootedolip5_picinitolip5_apic_sendnminum_ACPUsolip5_prefhandler_debolip5resetonceolip5_spl_debolip5_distclockmultiple_picsolip5_setupolip5_apic_reset_cpuolip5_bootcpus_locatedolip5_apic_eoiolip5_apic_pic_offpicbufferedolip5_apic_setiplolip5_apic_setredirmasterlineivect_compressolip5_apic_setiplmaskolip5_apic_dumpolip5_apic_broadnmiolip5_apic_splpanic2./usr/lib/custom/gpisup/ID/olimpxp5/Space.c 644 0 3 4563 5624372035 13633 #ident "@(#) space.c 24.1 94/07/07 " /* * Copyright (C) Corollary, Inc., 1986, 1987, 1988, 1989, 1990. * All Rights Reserved. * This Module contains Proprietary Information of * Corollary, Inc., and should be treated as Confidential. */ /* * Copyright (C) by Ing. C. Olivetti S.p.A. 1993 */ #include "config.h" #include "sys/types.h" #include "sys/param.h" #include "sys/ci/cimpsw.h" #define OLIMAXACPUS 3 int olip5resetonce[MAXACPUS]; int olip5ioregs[OLIMAXACPUS+1]; char olip5_mpswvers[] = MPSW_VERSION_2; extern int olip5_pres(); extern void olip5_startup(); extern void olip5_setup(); extern void olip5_boot(); extern void olip5_booted(); extern void olip5_postxxinit(); extern void olip5_enable(); extern void olip5_reset(); extern void olip5_interrupt(); extern void olip5_clrinterrupt(); extern int olip5_sendnmi(); extern int olip5_clrnmi(); extern int olip5_spl(); extern int olip5_prehandler(); extern int olip5_posthandler(); extern int olip5_prefhandler(); extern void olip5_picinit(); extern void olip5_enableint(); extern void olip5_disableint(); extern int olip5_distclock(); extern int olip5_idistribute(); extern int olip5_postdist(); extern int olip5_spl_deb(); extern int olip5_prehandler_deb(); extern int olip5_posthandler_deb(); extern int olip5_prefhandler_deb(); extern void mpnull(); struct mpsw olip5sw = { olip5_pres, olip5_mpswvers, olip5_startup, olip5_setup, olip5_boot, olip5_booted, olip5_postxxinit, olip5_enable, NULL, olip5_reset, mpnull, mpnull, olip5_interrupt, olip5_clrinterrupt, olip5_sendnmi, /* send NMI */ olip5_clrnmi, /* clear NMI */ NULL, /* spl function */ NULL, /* prehandler */ NULL, /* prefhandler */ NULL, /* posthandler */ NULL, /* postfhandler */ olip5_picinit, /* picinit */ olip5_enableint, /* enableint */ olip5_disableint, /* disableint */ olip5_distclock, /* distclock */ NULL, /* predist */ olip5_postdist, /* postdist */ olip5_idistribute, /* idistribute */ NULL, /* reserved entry */ NULL, /* reserved entry */ NULL, /* reserved entry */ NULL, /* reserved entry */ NULL, /* reserved entry */ NULL, /* reserved entry */ NULL, /* reserved entry */ }; struct mpsw *olimpxp5swlist[] = { &olip5sw, 0, }; ./usr/lib/custom/gpisup/ID/olimpxp5/System 644 0 3 33 5624372036 13570 olimpxp5 Y 1 0 0 0 0 0 0 0 ./usr/lib/custom/gpisup/ID/olimpxp5/Master 644 0 3 40 5624372037 13536 olimpxp5 - iov olip5 0 0 1 1 -1