3 # sys_info 1.3, a hack by Ole Kristian Foss, HPNAS,
4 # to display HP9000 model and the clock frequency of the CPU(s)
5 # Version 1.0 Oslo Jan. 25
7 # Version 1.1 added call to the $SCHED_FILE. Oslo Jan. 25
9 # Version 1.2 added the get_physmem function. Oslo Feb. 2
11 # Version 1.3 added limited functionality for HP-UX 10.X. Oslo Feb. 28
13 # Version 1.4 more robust 10.X handling. Oslo Mar. 13
15 # This version should handle all cominations of
16 # HP-UX 9.X and 10.X as well as S700 and S800
19 # Initialize variables:
30 SCHED_FILE="/usr/lib/sched.models"
31 export PATH=/etc:/bin:/usr/bin
40 print -u2 "Usage: $PROG <-h|-m> [-v]"
46 OS_REV=`uname -r| cut -f2 -d"."`
48 09) CORES="/hp-ux /dev/kmem"
51 ADB_CMD="mpproc_info+34/X"
54 ADB_CMD="mpproc_info+1E8/X"
56 echo "This machine is not supported by $PROG"
60 10) CORES="/stand/vmunix /dev/kmem"
61 ADB_CMD="_mpproc_info+270/X" ;;
63 *) echo "$PROG does not support this version of HP-UX"
70 ID=`echo $ADB_CMD | $ADB $CORES | tail -1 | cut -d: -f 2`
77 " 40"|0040) MODEL="840" ;;
78 " 80"|0080) MODEL="825" ;;
79 " A0"|00A0) MODEL="835/635" ;;
80 " B0"|00B0) MODEL="845/645" ;;
81 " C0"|00C0) MODEL="850" ;;
82 " 810"|0810) MODEL="855" ;;
83 " 820"|0820) MODEL="860" ;;
84 " 830"|0830) MODEL="865/870" ;;
90 1820) MODEL="891/T500" ;;
91 1830) MODEL="892/T520" ;;
97 2060) MODEL="735/125" ;;
98 2800) MODEL="817/F20" ;;
99 2800) MODEL="827/H20" ;;
100 2810) MODEL="837/F30" ;;
101 2810) MODEL="847/G30/H30" ;;
102 2810) MODEL="857/I30" ;;
103 2820) MODEL="807/F10" ;;
104 2830) MODEL="867/G40/H40" ;;
105 2830) MODEL="877/I40" ;;
106 2840) MODEL="887/G50/H50" ;;
107 2840) MODEL="897/I50" ;;
108 2870) MODEL="887/G70/H70" ;;
109 2870) MODEL="897/I70" ;;
110 2880) MODEL="887/G60/H60" ;;
111 2880) MODEL="897/I60" ;;
114 3100) MODEL="715/50" ;;
115 3110) MODEL="715/33" ;;
116 3120) MODEL="715s/50" ;;
117 3130) MODEL="715s/33" ;;
118 3140) MODEL="715t/50" ;;
119 3150) MODEL="715t/33" ;;
120 3160) MODEL="715/75" ;;
121 3180) MODEL="725/50" ;;
122 3190) MODEL="725/75" ;;
123 4010) MODEL="745i/50" ;;
124 4020) MODEL="742i" ;;
125 4030) MODEL="745i/100" ;;
126 4800) MODEL="806/E25" ;;
127 4810) MODEL="816/E35" ;;
128 4820) MODEL="826/E45" ;;
129 4830|4831) MODEL="856/E55" ;;
130 5800) MODEL="809/K100" ;;
131 5810) MODEL="839/K210" ;;
132 5820) MODEL="829/K400" ;;
133 5830) MODEL="849/K410" ;;
134 5870) MODEL="841/D210/D410" ;;
135 5880) MODEL="851/D210/D4102-way" ;;
136 5890) MODEL="821/D200/D400" ;;
137 58A0) MODEL="831/D200/D4002-way" ;;
138 58B0) MODEL="819/K200" ;;
139 58C0) MODEL="859/K230" ;;
140 58D0) MODEL="869/K430" ;;
141 6000) MODEL="712/60" ;;
142 6010) MODEL="712/80" ;;
143 6020) MODEL="712/100" ;;
144 6030) MODEL="743i/60" ;;
145 6040) MODEL="743i/100" ;;
146 60A0) MODEL="715/64" ;;
147 60B0) MODEL="715/100" ;;
148 60D0) MODEL="725/100" ;;
149 6170) MODEL="V743i" ;;
150 6180) MODEL="V743i/100" ;;
151 6190) MODEL="715/80" ;;
152 61A0) MODEL="811/DX5" ;;
153 61B0) MODEL="801/DXO" ;;
154 *) MODEL="UNKNOWN" ;;
160 ADB_CMD="itick_per_tick/D"
161 FADB_OUT=`echo $ADB_CMD | $ADB $CORES | tail -1 | cut -f 2`
165 ((HZ=$FADB_OUT * 100))
168 ((MHZ=$FADB_OUT / 10000))
176 PHYS_MEM=`echo $ADB_CMD | $ADB $CORES | tail -1 | \
177 awk '$2 > 0 { print $2 / 256 }' `
178 echo "Your system has $PHYS_MEM Mbyte ram installed"
183 MODEL="`echo $MODEL|cut -f1 -d'/'`"
184 PA_INFO=`grep ^$MODEL $SCHED_FILE`
187 PA_RISC="`echo $PA_INFO | cut -d' ' -f 3 `"
188 CPU_REV="`echo $PA_INFO | cut -d' ' -f 2 `"
189 echo "The PA-RISC processor(s) is of type $PA_RISC rev.
201 if [ `whoami` != "root" ]
203 echo "You must be root to run $PROG ! "
207 while getopts :mMhHv OPT
213 print "Your HP9000 Model $MODEL has CPU(s) running at $SPEED Hz"
221 print "Your HP9000 Model $MODEL has CPU(s) running at $SPEED MHz"
225 v) echo "You are running version $VER of $PROG"
227 \?) print -u2 "$PROG: unknown option $OPTARG"