SUMMARY: What model of ss10 is this ???

From: Donald McLachlan (don@mars.dgrc.doc.ca)
Date: Fri Jan 14 1994 - 16:35:35 CST


----------
X-Sun-Data-Type: text
X-Sun-Data-Description: text
X-Sun-Data-Name: text
X-Sun-Content-Lines: 7

The direct answer was SS10 model 30.

Along with direct answers I have been given 3 scripts which devine the
answer for the machine it is run on. Since I don't have perl I could
not test the 3rd script but I suspect it would agree with the other 2.

Thanks all.
----------
X-Sun-Data-Type: shell-script
X-Sun-Data-Description: shell-script
X-Sun-Data-Name: sunmodel
X-Sun-Content-Lines: 81

#!/bin/sh
#
# sunmodel
#
# Parse output from devinfo/prtconf
# and display the kind of Sun and its clock
# frequency.
#
# Jan Wortelboer idea from Chris Metcalf, metcalf@lcs.mit.edu
version=`uname -r`
hostje=`uname -n`
name=
bname=
freq=0
export name bname freq
case $version in
5.*)
        # solaris machine
        pr_conf="/usr/sbin/prtconf -vp"
        ;;
4.*)
        # sunos 4 machine
        pr_conf="/usr/etc/devinfo -vp"
        ;;
*)
        echo cant determine sunmodel
        exit 1
;;
esac

$pr_conf | ( egrep 'clock-frequency:|name:' ; echo end ) | while read pr_line
do
        case $pr_line in
        clock-frequency:*)
                if [ "$freq" = 0 ]
                then
                        set $pr_line
                        hex_freq=`echo $2 | tr '[a-z]' '[A-Z]'`
                        freq=` ( echo "ibase=16" ; echo $hex_freq ) | bc`
                        freq=`expr $freq \/ 1000000`
                fi
        ;;
        banner-name:*)
                bname=`echo $pr_line | sed 's/.*banner-name:[ ]*//'`
        ;;
        name:*)
                if [ "$name" = "" ]
                then
                        name=`echo $pr_line | sed 's/.*name:[ ]*//'`
                        if [ "$bname" = "" ]
                        then
                                bname=$name
                        fi
                fi
        ;;
        end)
                if [ `expr "$bname" : "'SPARCstation 10.*'"` != 0 ]
                then
                case $freq in
                        33)
                                bname="$bname '(Model 20)'"
                                ;;
                        36)
                                bname="$bname '(Model 30)'"
                                ;;
                        40)
                                bname="$bname '(Model 41)'"
                                ;;
                        45)
                                smodel=`expr "$bname" : "'SPARCstation 10 (\([1-8]\).*'"`
                                bname="$bname '(Model 5$smodel)'"
                                ;;
                esac
                fi
                echo Machine $hostje: $bname @ $freq MHz
        ;;
        *)
                echo -n
        ;;
        esac
done
----------
X-Sun-Data-Type: shell-script
X-Sun-Data-Description: shell-script
X-Sun-Data-Name: suns-sunmodel
X-Sun-Content-Lines: 233

#!/bin/sh
#
# Copyright 1992, Sun Microsystems Computer Corp.
# All Rights Reserved
#
#
#
PATH=/etc:/bin:/usr/bin:/usr/etc:/usr/ucb; export PATH
#
#
if [ `uname -m` = "sun4" ]; then
        echo "This machine does not support the Open Boot Prom information"
        echo "that is extracted by the devinfo or prtconf commands."
        exit
fi
if [ -x /etc/prtconf ]; then
        PRTCONF=prtconf
else
        PRTCONF=devinfo
fi
#
# Find CPU node(s) and their clock frequency, if any
#
$PRTCONF -pv | awk ' \
        BEGIN { ncpu = 0 } \
        $1 == "Node" { \
          if (idprom != "") { \
            sysfreq = freq; sysname = name; name = ""; freq = "" \
          } \
          if (type == "'"'cpu'"'") { ncpu++; cputype = name; cpufreq = freq } \
          name = ""; freq = ""; type = "" ; idprom = "" \
        } \
        $1 != "Node" { \
          if ($1 == "name:") { \
            name = $2; \
            for (i = 3; i <= NF; i++) name = name "-" $i \
          } \
          if ($1 == "device_type:") { type = $2 } \
          if ($1 == "clock-frequency:") { \
            for (i = 1; i <= length ($2); i++) { \
              c = substr ($2, i, 1); \
              if (c == "a") freq = freq "A"; \
              else if (c == "b") freq = freq "B"; \
              else if (c == "c") freq = freq "C"; \
              else if (c == "d") freq = freq "D"; \
              else if (c == "e") freq = freq "E"; \
              else if (c == "f") freq = freq "F"; \
              else freq = freq c; \
            } \
          } \
          if ($1 == "idprom:") { idprom = $2 } \
        } \
        END { \
          if (idprom != "") { sysfreq = freq; sysname = name } \
          if (type == "'"'cpu'"'") { ncpu++; cputype = name; cpufreq = freq } \
          if (ncpu == 0) { ncpu = 1 } \
          print sysfreq, " ", sysname, " ", ncpu, " ", cputype, " " cpufreq \
        } ' \
> /tmp/xxxmixxx
#
# Convert clock frequency from Hex Hz to Decimal MHz
#
read SYSFREQ SYSNAME NCPU CPUTYPE CPUFREQ < /tmp/xxxmixxx
echo "16 i 1 k" $SYSFREQ "F4240 / p q" >/tmp/xxxmixxx
dc </tmp/xxxmixxx >/tmp/xxxmiyyy
read SYSFREQN < /tmp/xxxmiyyy
if [ $CPUFREQ ]; then
        echo "16 i 1 k" $CPUFREQ "F4240 / p q" >/tmp/xxxmixxx
        dc </tmp/xxxmixxx >/tmp/xxxmiyyy
        read CPUFREQN < /tmp/xxxmiyyy
        if [ $SYSFREQN -gt $CPUFREQN ]; then
                echo $CPUFREQN "0 k 1 / 1 k 1.0 * p" >/tmp/xxxmixxx
                dc </tmp/xxxmixxx >/tmp/xxxmiyyy
                read SYSFREQN < /tmp/xxxmiyyy
                SYSFREQ="xxx"
        fi
fi
rm /tmp/xxxmixxx
rm /tmp/xxxmiyyy
#
# Implement new naming conventions, with MP suffix
MPCPU=$NCPU
MPCPU0="0"
if [ $NCPU -gt 1 ]; then
        MPCPU="1"$NCPU"MP"
        MPCPU0="0"$NCPU"MP"
fi
# Based on system name, CPU type, etc., display model
#
case $SYSNAME in
    *600"'")
        case $CPUTYPE in
            "'"TI*)
                case $CPUFREQN in
                    33*)
                        echo "SPARCsystem 600 Model 2"$MPCPU
                        ;;
                    36*)
                        echo "SPARCsystem 600 Model 3"$MPCPU
                        ;;
                    40*)
                        echo "SPARCsystem 600 Model 4"$MPCPU
                        ;;
                    45*)
                        echo "SPARCsystem 600 Model 5"$NCPU
                        ;;
                    50*)
                        echo "SPARCsystem 600 Model 5"$MPCPU
                        ;;
                    *)
                        echo "SPARCsystem 600," $NCPU $CPUTYPE \
                             "processors @" $CPUFREQN "MHz"
                        ;;
                esac
                ;;
            "'"Cypress*)
                case $NCPU in
                    2)
                        echo "SPARCsystem 600MP Model 120"
                        ;;
                    4)
                        echo "SPARCsystem 600MP Model 140"
                        ;;
                    *)
                        echo "SPARCsystem 600MP," $NCPU $CPUTYPE \
                             "processors @" $CPUFREQN "MHz"
                        ;;
                esac
                ;;
            *)
                echo "SPARCsystem 600," $NCPU $CPUTYPE "processors @" \
                     $CPUFREQN "MHz"
                ;;
        esac
        ;;
    *-10"'")
        if [ $CPUFREQ ]; then
                case $CPUFREQN in
                    33*)
                        echo "SPARCstation 10 Model 2"$MPCPU
                        ;;
                    36*)
                        echo "SPARCstation 10 Model 3"$MPCPU
                        ;;
                    40*)
                        echo "SPARCstation 10 Model 4"$MPCPU
                        ;;
                    45*)
                        echo "SPARCstation 10 Model 5"$NCPU
                        ;;
                    50*)
                        echo "SPARCstation 10 Model 5"$MPCPU
                        ;;
                    *)
                        echo "SPARCstation 10," $NCPU "processors @" \
                             $CPUFREQN "MHz with SuperCache"
                        ;;
                esac
        else
                case $SYSFREQN in
                    33*)
                        echo "SPARCstation 10 Model 2"$MPCPU0
                        ;;
                    36*)
                        echo "SPARCstation 10 Model 3"$MPCPU0
                        ;;
                    40*)
                        echo "SPARCstation 10 Model 4"$MPCPU0
                        ;;
                    *)
                        echo "SPARCstation 10," $NCPU "processors @" \
                            $SYSFREQN "MHz without SuperCache"
                        ;;
                esac
        fi
        ;;
    *-1000"'")
        echo "SPARCserver 1000," $NCPU "processors @" $CPUFREQN "MHz"
        ;;
    *-2000"'")
        echo "SPARCcenter 2000," $NCPU "processors @" $CPUFREQN "MHz"
        ;;
    *4/20"'")
        echo "SPARCstation SLC"
        ;;
    *4/25"'")
        echo "SPARCstation ELC"
        ;;
    *4/40"'")
        echo "SPARCstation IPC"
        ;;
    *4/50"'")
        echo "SPARCstation IPX"
        ;;
    *4/60"'")
        echo "SPARCstation 1"
        ;;
    *4/65"'")
        echo "SPARCstation 1+"
        ;;
    *4/75"'")
        echo "SPARCstation 2"
        ;;
    *-LC"'")
        echo "SPARCclassic"
        ;;
    *-LX"'")
        echo "SPARCstation LX"
        ;;
    *)
        echo $SYSNAME
        ;;
esac
#
# Display details if desired
#
if [ $1 -a $1 = "-v" ]; then
        echo $SYSNAME
        if [ $CPUTYPE ]; then
                if [ $NCPU -gt 1 ]; then
                        S="s"
                else
                        S=""
                fi
                echo $NCPU $CPUTYPE "processor"$S
        fi
        echo "System clock at" $SYSFREQN "MHz"
        if [ $CPUFREQ ]; then
                if [ $SYSFREQ != $CPUFREQ ]; then
                        echo "Module clock"$S "at" $CPUFREQN "MHz"
                fi
        fi
fi
----------
X-Sun-Data-Type: mail-file
X-Sun-Data-Description: mail-file
X-Sun-Data-Name: sunmodel.perl
X-Sun-Encoding-Info: uuencode
X-Sun-Content-Lines: 66

begin 600 sunmodel.perl
M1G)O;2!M971C86QF0&-A=&9I<V@N3$-3+DU)5"Y%1%4@5&AU($IA;B Q,R P
M.3HQ-SHR-B Q.3DT"D1A=&4Z(%1H=2P@,3,@2F%N(#$Y.30@,#DZ,3<Z,#D@
M+3 U,# *1G)O;3H@0VAR:7,@365T8V%L9B \;65T8V%L9D!C871F:7-H+DQ#
M4RY-250N1415/@I4;SH@9&]N0&UA<G,N9&=R8RYD;V,N8V$*4W5B:F5C=#H@
M4F4Z(%=H870@;6]D96P@;V8@<W,Q,"!I<R!T:&ES(#\_/PI.97=S9W)O=7!S
M.B!A:6QA8BYS=6XM;6%N86=E<G,*3W)G86YI>F%T:6]N.B!-250@3&%B;W)A
M=&]R>2!F;W(@0V]M<'5T97(@4V-I96YC90I#;VYT96YT+4QE;F=T:#H@,C0V
M.0I8+4QI;F5S.B X. I3=&%T=7,Z(%)/"@I)(&)E;&EE=F4@>6]U(&YE960@
M9&5V:6YF;R]P<G1C;VYF(&]U='!U="X@(%1R>2!T:&4@9F]L;&]W:6YG+@I)
M9B!Y;W4@9&]N)W0@:&%V92!P97)L+"!H;W!E9G5L;'D@=&AE('-C<FEP="!I
M<VXG="!T;V\@=6YC;&5A<@IT;R!E>&%M:6YE('-T97 @8GD@<W1E<"X*"@D)
M"4-H<FES($UE=&-A;&8L($U)5"!,86)O<F%T;W)Y(&9O<B!#;VUP=71E<B!3
M8VEE;F-E"@D)"6UE=&-A;&9 8V%G+FQC<RYM:70N961U(" @+R\@(" K,2 H
M-C$W*2 R-3,M-S<V-@H*(R$O8FEN+W!E<FP*"B,@<W5N;6]D96P*(PHC(%!A
M<G-E(&]U='!U="!F<F]M(&1E=FEN9F\@86YD(&1I<W!L87D@=&AE(&MI;F0@
M;V8@4W5N(&%N9"!I=',@8VQO8VL@"B,@9G)E<75E;F-Y+B @3F]T93H@(&1O
M97-N)W0@=V]R:R!O;B!O;&1E<B!S=6XM-"!K87)C:"!M86-H:6YE<RX*(PHC
M($-H<FES($UE=&-A;&8L(&UE=&-A;&9 ;&-S+FUI="YE9'4*"F]P96XH;W!E
M;G!R;VTL("<O9&5V+V]P96YP<F]M)RD@?'P@9&EE*")S=6YM;V1E;#H@;F\@
M;W!E;G!R;VT@<W5P<&]R=%QN(BD["F-L;W-E*&]P96YP<F]M*3L*"B1U;F%M
M92 ](&!U;F%M92 M86 ["B@D;W,L)&AO<W0L)')E=BPD=F5R<RPD87)C:"D@
M/2!S<&QI="@G("<L("1U;F%M92D["@II9B H)')E=B ]?B O7C0O*2!["@DD
M9&5V:6YF;R ]("(O=7-R+V5T8R]D979I;F9O("UV<"(["GT@96QS:68@*"1R
M978@/7X@+UXU+RD@>PH))&1E=FEN9F\@/2 B+W5S<B]S8FEN+W!R=&-O;F8@
M+79P(CL*?2!E;'-E('L*"7!R:6YT('-T9&5R<B B<W5N;6]D96PZ('5N:VYO
M=VX@3U,@<F5V:7-I;VX@)')E=EQN(CL*"65X:70@,3L*?0IO<&5N*&1E=FEN
M9F\L("(D9&5V:6YF;WPB*2!\?"!D:64H(G-U;FUO9&5L.B!C86XG="!R=6X@
M)&1E=FEN9F]<;B(I.PIW:&EL92 H/&1E=FEN9F\^*2!["@EL87-T(&EF("@O
M7B0O*3L*"6EF("@O8F%N;F5R+6YA;64Z("HG*"XJ*2<O*2![("1N86UE(#T@
M)#$[('T*"65L<VEF("@A9&5F:6YE9"@D;F%M92D@)B8@+VYA;64Z("HG*"XJ
M*2<O*2![("1N86UE(#T@)#$[('T*"65L<VEF("@O8VQO8VLM9G)E<75E;F-Y
M.B J*%LP+3E!+49A+7I=*BDO*2![("1B87-E9G)E<2 ](&AE>"@D,2D[?0I]
M"B1C<'5S(#T@,#L*=VAI;&4@*#QD979I;F9O/BD@>PH):68@*"]>)"\I('L*
M"0EI9B H)&9R97$@(3T@," F)B D9&5V:6-E7W1Y<&4@97$@)V-P=2<I('L*
M"0D))&-F<F5Q(#T@)&9R97$O,3 P,# P,#L*"0D))&-P=69R97$@+CT@(BP@
M8W!U("1C9G)E<2!-2'HB.PH)"0DK*R1C<'5S.PH)"7T*"0DD9&5V:6-E7W1Y
M<&4@/2 G)SL*"0DD9G)E<2 ](# ["@E]"@EI9B H+V-L;V-K+69R97%U96YC
M>3H@*BA;,"TY02U&82UZ72HI+RD@>R D9G)E<2 ](&AE>"@D,2D[?0H):68@
M*"]D979I8V5?='EP93H@*B<J*%M>)UTJ*2\I('L@)&1E=FEC95]T>7!E(#T@
M)#$[('T*?0H*:68@*"%D969I;F5D*"1N86UE*2D@>PH)<')I;G0@<W1D97)R
M(")S=6YM;V1E;#H@8V]U;&1N)W0@9FEN9"!A(&YA;65<;B(["GT*:68@*"1B
M87-E9G)E<2 E(#$P,# P,# I('L*"7!R:6YT('-T9&5R<B B<W5N;6]D96PZ
M(&9R97$@)&)A<V5F<F5Q(&YO="!A(&UU;'1I<&QE(&]F(#%-2'I<;B(["GT*
M)&)A<V5F<F5Q("\](#$P,# P,# ["@HD;F%M92 ]?B!S+UY354Y7+"\O.PHD
M8V%C:&4@/2 B,"(["FEF("@D;F%M92 ]?B O,SDP6C4U+RD@>R D;F%M92 N
M/2 B("@Q34(@4W5P97)#86-H92DB.R D8V%C:&4@/2 B,2([('T*:68@*"1N
M86UE(#U^("\S.3!3,3 O*2![("1N86UE("X]("(@*$UI8W)O4W!A<F,I(CL@
M?0II9B H)&YA;64@/7X@+S,Y,%HO*2!["@EI9B H)&-F<F5Q(#T](# I('L@
M)&-F<F5Q(#T@)&)A<V5F<F5Q.R!]"@EI9B H)&-P=7,@/3T@,2D@>R D8W!U
M<R ]("(P(CL@)&-A8VAE(#T@(B([('T*"6EF("@D8V9R97$@/3T@,S @?'P@
M)&-F<F5Q(#T](#,S*2!["@D))&YA;64@+CT@(B H36]D96P@,B1C<'5S*2([
M"@E](&5L<VEF("@D8V9R97$@/3T@,S8I('L*"0DD;F%M92 N/2 B("A-;V1E
M;" S)&-P=7,I(CL*"7T@96QS:68@*"1C9G)E<2 ]/2 T,"XS('Q\("1C9G)E
M<2 ]/2 T,"D@>PH)"21N86UE("X]("(@*$UO9&5L(#0D8W!U<R1C86-H92DB
M.PH)?2!E;'-I9B H)&-F<F5Q(#T](#0U('Q\("1C9G)E<2 ]/2 U,"D@>PH)
M"21N86UE("X]("(@*$UO9&5L(#4D8W!U<R1C86-H92DB.PH)?2!E;'-E('L*
M"0DD;F%M92 N/2 B("AU;FMN;W=N(%1-4S,Y,%H@;6]D96P@0" D8V9R97$@
M34AZ*2(["@E]"GT*:68@*"1N86UE(&5Q(")3=6X@-"\W-2(I('L*"21N86UE
M("X]("(@*%-005)#<W1A=&EO;B R*2(["GT@96QS:68@*"1N86UE(&5Q(")3
M=6X@-"\T,"(I('L*"21N86UE("X]("(@*%-005)#<W1A=&EO;B!)4$,I(CL*
M?2!E;'-I9B H)&YA;64@97$@(E-U;B T+S8U(BD@>PH))&YA;64@+CT@(B H
M4U!!4D-S=&%T:6]N(#$K*2(["GT*"G!R:6YT("(D;F%M92! ("1B87-E9G)E
5<2!-2'HD>V-P=69R97%]7&XB.PH*
 
end



This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:08:54 CDT