nagel@paris.ics.uci.edu (Mark Nagel) (09/02/88)
After finding a copy of top 1.6 for the Sequent, I managed to incorporate
the changes into a fresh version of top 2.5 with appropriate ifdef's.
Below you will find a shell archive containing context diffs suitable
for use with patch. These patches will add sequent support to a fresh
copy of top 2.5. I have tested the program on both a Sequent Balance
running Dynix 2.1.1 and a Sequent Symmetry running Dynix 3.0.12. As
far as I can tell, everything seems to OK. Please let me know if
there are any problems with the changes, so I can fix mine. I've
sent these patches to William LeFabvre at Rice so he can incorporate
them in future versions. Enjoy!
Mark Nagel
--------------------------------- cut here -----------------------------------
#! /bin/sh
# This is a shell archive. Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file". To overwrite existing
# files, type "sh file -c". You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g.. If this archive is complete, you
# will see the following message at the end:
# "End of shell archive."
# Contents: sequent.patch
# Wrapped by nagel@ics.uci.edu on Thu Sep 1 15:47:39 1988
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'sequent.patch' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'sequent.patch'\"
else
echo shar: Extracting \"'sequent.patch'\" \(21051 characters\)
sed "s/^X//" >'sequent.patch' <<'END_OF_FILE'
X*** display.c Thu Sep 1 15:38:42 1988
X--- ../top2.5-sequent/display.c Thu Sep 1 15:08:15 1988
X***************
X*** 29,34
X #endif
X #include <sys/proc.h>
X #include <sys/dk.h>
X #include "screen.h" /* interface to screen package */
X #include "layout.h" /* defines for screen position layout */
X #include "top.h"
X
X--- 29,41 -----
X #endif
X #include <sys/proc.h>
X #include <sys/dk.h>
X+ #ifdef sequent
X+ #include <sys/vm.h>
X+ #include <machine/vmparam.h>
X+ #include <machine/pte.h>
X+ #include <machine/hwparam.h>
X+ #endif
X+
X #include "screen.h" /* interface to screen package */
X #include "layout.h" /* defines for screen position layout */
X #include "top.h"
X***************
X*** 52,57
X
X char *state_name[] =
X {
X "", "sleeping", "ABANDONED", "running", "starting", "zombie", "stopped"
X };
X
X
X--- 59,68 -----
X
X char *state_name[] =
X {
X+ #ifdef sequent
X+ "", "sleeping", "ABANDONED", "ready", "starting", "zombie", "stopped",
X+ "running"
X+ #else
X "", "sleeping", "ABANDONED", "running", "starting", "zombie", "stopped"
X #endif
X };
X***************
X*** 53,58
X char *state_name[] =
X {
X "", "sleeping", "ABANDONED", "running", "starting", "zombie", "stopped"
X };
X
X /* process state names for the "STATE" column of the display */
X
X--- 64,70 -----
X "running"
X #else
X "", "sleeping", "ABANDONED", "running", "starting", "zombie", "stopped"
X+ #endif
X };
X
X /* process state names for the "STATE" column of the display */
X***************
X*** 59,64
X
X char *state_abbrev[] =
X {
X "", "sleep", "WAIT", "run", "start", "zomb", "stop"
X };
X
X
X--- 71,79 -----
X
X char *state_abbrev[] =
X {
X+ #ifdef sequent
X+ "", "sleep", "WAIT", "ready", "start", "zomb", "stop", "run"
X+ #else
X "", "sleep", "WAIT", "run", "start", "zomb", "stop"
X #endif
X };
X***************
X*** 60,65
X char *state_abbrev[] =
X {
X "", "sleep", "WAIT", "run", "start", "zomb", "stop"
X };
X
X /* cpu state names for percentages */
X
X--- 75,81 -----
X "", "sleep", "WAIT", "ready", "start", "zomb", "stop", "run"
X #else
X "", "sleep", "WAIT", "run", "start", "zomb", "stop"
X+ #endif
X };
X
X /* cpu state names for percentages */
X***************
X*** 75,81
X i_loadave(mpid, avenrun)
X
X int mpid;
X! #ifdef sun
X long *avenrun;
X #else
X double *avenrun;
X
X--- 91,97 -----
X i_loadave(mpid, avenrun)
X
X int mpid;
X! #if defined(sun) || defined(sequent)
X long *avenrun;
X #else
X double *avenrun;
X***************
X*** 93,99
X {
X printf("%c %5.2f",
X i == 0 ? ':' : ',',
X! #ifdef sun
X (double)avenrun[i] / FSCALE);
X #else
X avenrun[i]);
X
X--- 109,115 -----
X {
X printf("%c %5.2f",
X i == 0 ? ':' : ',',
X! #if defined(sun) || defined(sequent)
X (double)avenrun[i] / FSCALE);
X #else
X avenrun[i]);
X***************
X*** 105,111
X u_loadave(mpid, avenrun)
X
X int mpid;
X! #ifdef sun
X long *avenrun;
X #else
X double *avenrun;
X
X--- 121,127 -----
X u_loadave(mpid, avenrun)
X
X int mpid;
X! #if defined(sun) || defined(sequent)
X long *avenrun;
X #else
X double *avenrun;
X***************
X*** 126,132
X {
X printf("%s%5.2f",
X i == 0 ? "" : ", ",
X! #ifdef sun
X (double)avenrun[i] / FSCALE);
X #else
X avenrun[i]);
X
X--- 142,148 -----
X {
X printf("%s%5.2f",
X i == 0 ? "" : ", ",
X! #if defined(sun) || defined(sequent)
X (double)avenrun[i] / FSCALE);
X #else
X avenrun[i]);
X***************
X*** 136,141
X
X static int ltotal = 0;
X static int llength = 0;
X static int lbrkdn[7];
X
X i_procstates(total, brkdn)
X
X--- 152,160 -----
X
X static int ltotal = 0;
X static int llength = 0;
X+ #ifdef sequent
X+ static int lbrkdn[8];
X+ #else
X static int lbrkdn[7];
X #endif
X
X***************
X*** 137,142
X static int ltotal = 0;
X static int llength = 0;
X static int lbrkdn[7];
X
X i_procstates(total, brkdn)
X
X
X--- 156,162 -----
X static int lbrkdn[8];
X #else
X static int lbrkdn[7];
X+ #endif
X
X i_procstates(total, brkdn)
X
X***************
X*** 162,167
X position = fileptr(stdout);
X
X /* write the breakdowns */
X for (i = 1; i < 7; i++)
X {
X if (brkdn[i] != 0)
X
X--- 182,190 -----
X position = fileptr(stdout);
X
X /* write the breakdowns */
X+ #ifdef sequent
X+ for (i = 1; i < 8; i++)
X+ #else
X for (i = 1; i < 7; i++)
X #endif
X {
X***************
X*** 163,168
X
X /* write the breakdowns */
X for (i = 1; i < 7; i++)
X {
X if (brkdn[i] != 0)
X {
X
X--- 186,192 -----
X for (i = 1; i < 8; i++)
X #else
X for (i = 1; i < 7; i++)
X+ #endif
X {
X if (brkdn[i] != 0)
X {
X***************
X*** 230,235
X position = fileptr(stdout);
X
X /* write summary line */
X for (i = 1; i < 7; i++)
X {
X if (brkdn[i] != 0)
X
X--- 254,262 -----
X position = fileptr(stdout);
X
X /* write summary line */
X+ #ifdef sequent
X+ for (i = 1; i < 8; i++)
X+ #else
X for (i = 1; i < 7; i++)
X #endif
X {
X***************
X*** 231,236
X
X /* write summary line */
X for (i = 1; i < 7; i++)
X {
X if (brkdn[i] != 0)
X {
X
X--- 258,264 -----
X for (i = 1; i < 8; i++)
X #else
X for (i = 1; i < 7; i++)
X+ #endif
X {
X if (brkdn[i] != 0)
X {
X***************
X*** 483,489
X Move_to(0, y_header);
X }
X
X! #ifdef sun
X #define percent_cpu(pp) ((double)(pp)->p_pctcpu / FSCALE)
X #else
X #define percent_cpu(pp) ((pp)->p_pctcpu)
X
X--- 511,517 -----
X Move_to(0, y_header);
X }
X
X! #if defined(sun) || defined(sequent)
X #define percent_cpu(pp) ((double)(pp)->p_pctcpu / FSCALE)
X #else
X #define percent_cpu(pp) ((pp)->p_pctcpu)
X***************
X*** 504,509
X char *(*get_userid)();
X
X {
X register long cputime;
X register double pctcpu;
X
X
X--- 532,540 -----
X char *(*get_userid)();
X
X {
X+ #ifdef sequent
X+ register unsigned long cputime;
X+ #else
X register long cputime;
X #endif
X register double pctcpu;
X***************
X*** 505,510
X
X {
X register long cputime;
X register double pctcpu;
X
X /* get the cpu usage and calculate the cpu percentages */
X
X--- 536,542 -----
X register unsigned long cputime;
X #else
X register long cputime;
X+ #endif
X register double pctcpu;
X
X /* get the cpu usage and calculate the cpu percentages */
X***************
X*** 521,527
X #define Size pp->p_tsize + pp->p_dsize + pp->p_cssize + pp->p_ussize
X #define Resident pp->p_rssize
X
X! #else
X #ifdef scs
X get_spt(pp->p_spti, &pspt); /* scs also needs this */
X #define Size pspt.spt_usedpages
X
X--- 553,559 -----
X #define Size pp->p_tsize + pp->p_dsize + pp->p_cssize + pp->p_ussize
X #define Resident pp->p_rssize
X
X! #else !pyr
X #ifdef scs
X get_spt(pp->p_spti, &pspt); /* scs also needs this */
X #define Size pspt.spt_usedpages
X***************
X*** 527,532
X #define Size pspt.spt_usedpages
X #define Resident pspt.spt_mempages
X
X #else (everything else)
X #define Size pp->p_tsize + pp->p_dsize + pp->p_ssize
X #define Resident pp->p_rssize
X
X--- 559,569 -----
X #define Size pspt.spt_usedpages
X #define Resident pspt.spt_mempages
X
X+ #else !scs
X+ #ifdef sequent
X+ #define Size SZPT(pp)
X+ #define Resident pp->p_rssize
X+
X #else (everything else)
X #define Size pp->p_tsize + pp->p_dsize + pp->p_ssize
X #define Resident pp->p_rssize
X***************
X*** 530,535
X #else (everything else)
X #define Size pp->p_tsize + pp->p_dsize + pp->p_ssize
X #define Resident pp->p_rssize
X #endif !scs
X
X #endif !pyr
X
X--- 567,573 -----
X #else (everything else)
X #define Size pp->p_tsize + pp->p_dsize + pp->p_ssize
X #define Resident pp->p_rssize
X+ #endif !sequent
X #endif !scs
X #endif !pyr
X
X***************
X*** 531,537
X #define Size pp->p_tsize + pp->p_dsize + pp->p_ssize
X #define Resident pp->p_rssize
X #endif !scs
X-
X #endif !pyr
X
X sprintf(thisline, Proc_format,
X
X--- 569,574 -----
X #define Resident pp->p_rssize
X #endif !sequent
X #endif !scs
X #endif !pyr
X
X sprintf(thisline, Proc_format,
X***************
X*** 916,921
X struct proc *pp;
X
X {
X register int retval;
X
X #ifdef scs
X
X--- 953,961 -----
X struct proc *pp;
X
X {
X+ #ifdef sequent
X+ register unsigned int retval;
X+ #else
X register int retval;
X #endif
X
X***************
X*** 917,922
X
X {
X register int retval;
X
X #ifdef scs
X (void) strcpy(u.u_comm, pp->p_infoname);
X
X--- 957,963 -----
X register unsigned int retval;
X #else
X register int retval;
X+ #endif
X
X #ifdef scs
X (void) strcpy(u.u_comm, pp->p_infoname);
X*** kernel.c Thu Sep 1 15:39:09 1988
X--- ../top2.5-sequent/kernel.c Thu Sep 1 15:08:29 1988
X***************
X*** 23,28
X # include <sys/vm.h> /* for struct spt */
X #endif
X #include <sys/proc.h>
X
X #include "top.local.h"
X
X
X--- 23,31 -----
X # include <sys/vm.h> /* for struct spt */
X #endif
X #include <sys/proc.h>
X+ #ifdef sequent
X+ #include <machine/vmmac.h>
X+ #endif
X
X #include "top.local.h"
X
X***************
X*** 107,112
X /*
X * Process is currently in memory, we hope!
X */
X if (!getkval((unsigned long)p->p_addr, (int *)uptes, sizeof(uptes),
X "!p->p_addr"))
X {
X
X--- 110,119 -----
X /*
X * Process is currently in memory, we hope!
X */
X+ #ifdef sequent
X+ if (!getkval((unsigned long)UAREAPTES(p), (int *)uptes, sizeof(uptes),
X+ "!p->p_addr"))
X+ #else
X if (!getkval((unsigned long)p->p_addr, (int *)uptes, sizeof(uptes),
X "!p->p_addr"))
X #endif
X***************
X*** 109,114
X */
X if (!getkval((unsigned long)p->p_addr, (int *)uptes, sizeof(uptes),
X "!p->p_addr"))
X {
X /* we can't seem to get to it, so pretend it's swapped out */
X return(-1);
X
X--- 116,122 -----
X #else
X if (!getkval((unsigned long)p->p_addr, (int *)uptes, sizeof(uptes),
X "!p->p_addr"))
X+ #endif
X {
X /* we can't seem to get to it, so pretend it's swapped out */
X return(-1);
X*** top.c Thu Sep 1 15:38:33 1988
X--- ../top2.5-sequent/top.c Thu Sep 1 15:08:11 1988
X***************
X*** 59,64
X #ifdef pyr /* just for v4??? */
X #include <sys/systm.h>
X #endif
X
X /* includes specific to top */
X #include "layout.h"
X
X--- 59,71 -----
X #ifdef pyr /* just for v4??? */
X #include <sys/systm.h>
X #endif
X+ #ifdef sequent
X+ #include <machine/vmparam.h>
X+ #include <machine/pte.h>
X+ #include <machine/hwparam.h>
X+ #include <machine/engine.h>
X+ #include <machine/plocal.h>
X+ #endif
X
X /* includes specific to top */
X #include "layout.h"
X***************
X*** 107,112
X { "_maxcpu" }, /* only for Pyramid 4.0 */
X #define X_MAXCPU 8
X #else
X { "_cp_time" }, /* all except Pyramid 4.0 */
X #define X_CP_TIME 7
X #endif
X
X--- 114,125 -----
X { "_maxcpu" }, /* only for Pyramid 4.0 */
X #define X_MAXCPU 8
X #else
X+ #ifdef sequent
X+ { "_engine" }, /* only for Sequent Balance/Symmetry */
X+ #define X_ENGINE 7
X+ { "_Nengine" }, /* only for Sequent Balance/Symmetry */
X+ #define X_CPUS 8
X+ #else
X { "_cp_time" }, /* all except Pyramid 4.0 */
X #define X_CP_TIME 7
X #endif sequent
X***************
X*** 109,115
X #else
X { "_cp_time" }, /* all except Pyramid 4.0 */
X #define X_CP_TIME 7
X! #endif
X #ifdef scs
X { "_spt" }, /* only for SCS 375 */
X #define X_SPT 8
X
X--- 122,129 -----
X #else
X { "_cp_time" }, /* all except Pyramid 4.0 */
X #define X_CP_TIME 7
X! #endif sequent
X! #endif pyr
X #ifdef scs
X { "_spt" }, /* only for SCS 375 */
X #define X_SPT 8
X***************
X*** 156,161
X struct percpu percpu[NCPU];
X int maxcpu = 0;
X #else
X unsigned long cp_time_offset;
X #endif
X
X
X--- 170,182 -----
X struct percpu percpu[NCPU];
X int maxcpu = 0;
X #else
X+ #ifdef sequent
X+ unsigned long *p1, *p2;
X+ struct plocal tmppl, *plp[MAXNUMCPU];
X+ struct engine *enginep, engin;
X+ struct vmmeter vm;
X+ int engines;
X+ #else
X unsigned long cp_time_offset;
X #endif sequent
X #endif pyr
X***************
X*** 157,163
X int maxcpu = 0;
X #else
X unsigned long cp_time_offset;
X! #endif
X
X #ifdef sun
X long ccpu;
X
X--- 178,185 -----
X int engines;
X #else
X unsigned long cp_time_offset;
X! #endif sequent
X! #endif pyr
X
X #if defined(sun) || defined(sequent)
X long ccpu;
X***************
X*** 159,165
X unsigned long cp_time_offset;
X #endif
X
X! #ifdef sun
X long ccpu;
X long avenrun[3];
X #else
X
X--- 181,187 -----
X #endif sequent
X #endif pyr
X
X! #if defined(sun) || defined(sequent)
X long ccpu;
X long avenrun[3];
X #else
X***************
X*** 243,248
X register int change;
X register struct nlist *nlstp;
X
X static struct proc **pref;
X static char tempbuf1[50];
X static char tempbuf2[50];
X
X--- 265,273 -----
X register int change;
X register struct nlist *nlstp;
X
X+ #ifdef sequent
X+ int j, k;
X+ #endif sequent
X static struct proc **pref;
X static char tempbuf1[50];
X static char tempbuf2[50];
X***************
X*** 248,253
X static char tempbuf2[50];
X int total_procs;
X int old_sigmask;
X int proc_brkdn[7];
X int topn = Default_TOPN;
X int delay = Default_DELAY;
X
X--- 273,281 -----
X static char tempbuf2[50];
X int total_procs;
X int old_sigmask;
X+ #ifdef sequent
X+ int proc_brkdn[8];
X+ #else
X int proc_brkdn[7];
X #endif
X int topn = Default_TOPN;
X***************
X*** 249,254
X int total_procs;
X int old_sigmask;
X int proc_brkdn[7];
X int topn = Default_TOPN;
X int delay = Default_DELAY;
X int displays = 0; /* indicates unspecified */
X
X--- 277,283 -----
X int proc_brkdn[8];
X #else
X int proc_brkdn[7];
X+ #endif
X int topn = Default_TOPN;
X int delay = Default_DELAY;
X int displays = 0; /* indicates unspecified */
X***************
X*** 456,461
X (void) getkval(nlst[X_MAXCPU].n_value, &maxcpu, sizeof(maxcpu),
X nlst[X_MAXCPU].n_name);
X #endif
X #ifdef scs
X (void) getkval(nlst[X_SPT].n_value, (int *)(&spt), sizeof(struct spt *),
X nlst[X_SPT].n_name);
X
X--- 485,496 -----
X (void) getkval(nlst[X_MAXCPU].n_value, &maxcpu, sizeof(maxcpu),
X nlst[X_MAXCPU].n_name);
X #endif
X+ #ifdef sequent
X+ (void) getkval(nlst[X_CPUS].n_value, &engines, sizeof(engines),
X+ nlst[X_CPUS].n_name);
X+ (void) getkval(nlst[X_ENGINE].n_value, &enginep, sizeof(enginep),
X+ nlst[X_ENGINE].n_name);
X+ #endif sequent
X #ifdef scs
X (void) getkval(nlst[X_SPT].n_value, (int *)(&spt), sizeof(struct spt *),
X nlst[X_SPT].n_name);
X***************
X*** 469,474
X #if defined(pyr) && defined(CPUFOUND)
X percpu_offset = nlst[X_PERCPU].n_value;
X #else
X cp_time_offset = nlst[X_CP_TIME].n_value;
X #endif
X
X
X--- 504,510 -----
X #if defined(pyr) && defined(CPUFOUND)
X percpu_offset = nlst[X_PERCPU].n_value;
X #else
X+ #ifndef sequent
X cp_time_offset = nlst[X_CP_TIME].n_value;
X #endif sequent
X #endif pyr
X***************
X*** 470,475
X percpu_offset = nlst[X_PERCPU].n_value;
X #else
X cp_time_offset = nlst[X_CP_TIME].n_value;
X #endif
X
X /* this is used in calculating WCPU -- calculate it ahead of time */
X
X--- 506,521 -----
X #else
X #ifndef sequent
X cp_time_offset = nlst[X_CP_TIME].n_value;
X+ #endif sequent
X+ #endif pyr
X+
X+ #ifdef sequent
X+ /* get vmmeter pointers */
X+ for (i = 0; i < engines; i++) {
X+ (void) getkval(enginep, &engin, sizeof(engin), "engine");
X+ plp[i] = (struct plocal *)engin.e_local->pp_local;
X+ enginep++;
X+ }
X #endif
X
X /* this is used in calculating WCPU -- calculate it ahead of time */
X***************
X*** 473,479
X #endif
X
X /* this is used in calculating WCPU -- calculate it ahead of time */
X! #ifdef sun
X logcpu = log((double)ccpu / FSCALE);
X #else
X logcpu = log(ccpu);
X
X--- 519,525 -----
X #endif
X
X /* this is used in calculating WCPU -- calculate it ahead of time */
X! #if defined(sun) || defined(sequent)
X logcpu = log((double)ccpu / FSCALE);
X #else
X logcpu = log(ccpu);
X***************
X*** 589,594
X if (setjmp(jmp_int) != 0)
X {
X /* control ends up here after an interrupt */
X reset_display();
X }
X
X
X--- 635,641 -----
X if (setjmp(jmp_int) != 0)
X {
X /* control ends up here after an interrupt */
X+
X reset_display();
X }
X
X***************
X*** 619,624
X }
X }
X #else
X (void) getkval(cp_time_offset, (int *)cp_time, sizeof(cp_time),
X "_cp_time");
X #endif
X
X--- 666,686 -----
X }
X }
X #else
X+ #ifdef sequent
X+ /* sum up engines data structure */
X+ #define NVM (sizeof(struct vmmeter)/sizeof(int))
X+ p1 = (unsigned long *)&vm;
X+ for (j = 0; j < NVM; j++)
X+ *p1++ = 0;
X+ for (j = 0; j < engines; j++) {
X+ (void) getkval(plp[j], &tmppl, sizeof(struct plocal), "plocal");
X+ p1 = (unsigned long *)&vm;
X+ p2 = (unsigned long *)&tmppl.cnt;
X+ for (k = 0; k < NVM; k++, p1++)
X+ *p1 += *p2++;
X+ }
X+ bcopy(vm.v_time, cp_time, sizeof(cp_time));
X+ #else
X (void) getkval(cp_time_offset, (int *)cp_time, sizeof(cp_time),
X "_cp_time");
X #endif sequent
X***************
X*** 621,627
X #else
X (void) getkval(cp_time_offset, (int *)cp_time, sizeof(cp_time),
X "_cp_time");
X! #endif
X
X /* get load average array */
X (void) getkval(avenrun_offset, (int *)avenrun, sizeof(avenrun),
X
X--- 683,690 -----
X #else
X (void) getkval(cp_time_offset, (int *)cp_time, sizeof(cp_time),
X "_cp_time");
X! #endif sequent
X! #endif pyr
X
X /* get load average array */
X (void) getkval(avenrun_offset, (int *)avenrun, sizeof(avenrun),
X***************
X*** 663,668
X /* display the load averages */
X (*d_loadave)(mpid, avenrun);
X
X /*
X * Display the current time.
X * "ctime" always returns a string that looks like this:
X
X--- 726,744 -----
X /* display the load averages */
X (*d_loadave)(mpid, avenrun);
X
X+ #ifdef sequent
X+ /* display number of CPU's */
X+ if (smart_terminal)
X+ {
X+ Move_to(x_numcpus, y_numcpus);
X+ }
X+ else
X+ {
X+ fputs(" ", stdout);
X+ }
X+ printf("CPU's: %2d", engines);
X+ #endif
X+
X /*
X * Display the current time.
X * "ctime" always returns a string that looks like this:
X***************
X*** 868,874
X
X case CMD_update: /* merely update display */
X /* is the load average high? */
X! #ifdef sun
X if (avenrun[0] > (int)(LoadMax * FSCALE))
X #else
X if (avenrun[0] > LoadMax)
X
X--- 944,950 -----
X
X case CMD_update: /* merely update display */
X /* is the load average high? */
X! #if defined(sun) || defined(sequent)
X if (avenrun[0] > (int)(LoadMax * FSCALE))
X #else
X if (avenrun[0] > LoadMax)
X***************
X*** 1136,1142
X register struct proc *p1;
X register struct proc *p2;
X register int result;
X! #ifndef sun
X register double dresult;
X #endif
X
X
X--- 1212,1218 -----
X register struct proc *p1;
X register struct proc *p2;
X register int result;
X! #if !defined(sun) && !defined(sequent)
X register double dresult;
X #endif
X
X***************
X*** 1145,1151
X p2 = *pp2;
X
X /* compare percent cpu (pctcpu) */
X! #ifdef sun
X if ((result = p2->p_pctcpu - p1->p_pctcpu) == 0)
X #else
X if ((dresult = p2->p_pctcpu - p1->p_pctcpu) == 0)
X
X--- 1221,1227 -----
X p2 = *pp2;
X
X /* compare percent cpu (pctcpu) */
X! #if defined(sun) || defined(sequent)
X if ((result = p2->p_pctcpu - p1->p_pctcpu) == 0)
X #else
X if ((dresult = p2->p_pctcpu - p1->p_pctcpu) == 0)
X***************
X*** 1177,1182
X result = (p2->p_tdsize + p2->p_ssize) -
X (p1->p_tdsize + p1->p_ssize);
X #else !scs
X result = (p2->p_tsize + p2->p_dsize + p2->p_ssize) -
X (p1->p_tsize + p1->p_dsize + p1->p_ssize);
X #endif scs
X
X--- 1253,1261 -----
X result = (p2->p_tdsize + p2->p_ssize) -
X (p1->p_tdsize + p1->p_ssize);
X #else !scs
X+ #ifdef sequent
X+ result = SZPT(p2) - SZPT(p1);
X+ #else !sequent
X result = (p2->p_tsize + p2->p_dsize + p2->p_ssize) -
X (p1->p_tsize + p1->p_dsize + p1->p_ssize);
X #endif sequent
X***************
X*** 1179,1184
X #else !scs
X result = (p2->p_tsize + p2->p_dsize + p2->p_ssize) -
X (p1->p_tsize + p1->p_dsize + p1->p_ssize);
X #endif scs
X #endif pyr
X }
X
X--- 1258,1264 -----
X #else !sequent
X result = (p2->p_tsize + p2->p_dsize + p2->p_ssize) -
X (p1->p_tsize + p1->p_dsize + p1->p_ssize);
X+ #endif sequent
X #endif scs
X #endif pyr
X }
X***************
X*** 1186,1192
X }
X }
X }
X! #ifndef sun
X else
X {
X result = dresult < 0.0 ? -1 : 1;
X
X--- 1266,1272 -----
X }
X }
X }
X! #if !defined(sun) && !defined(sequent)
X else
X {
X result = dresult < 0.0 ? -1 : 1;
X*** layout.h Thu Sep 1 15:39:10 1988
X--- ../top2.5-sequent/layout.h Thu Sep 1 15:08:29 1988
X***************
X*** 10,15
X #define y_lastpid 0
X #define x_loadave 33
X #define y_loadave 0
X #define x_procstate 0
X #define y_procstate 1
X #define x_brkdn 15
X
X--- 10,19 -----
X #define y_lastpid 0
X #define x_loadave 33
X #define y_loadave 0
X+ #ifdef sequent
X+ #define x_numcpus 55
X+ #define y_numcpus 0
X+ #endif
X #define x_procstate 0
X #define y_procstate 1
X #define x_brkdn 15
END_OF_FILE
if test 21051 -ne `wc -c <'sequent.patch'`; then
echo shar: \"'sequent.patch'\" unpacked with wrong size!
fi
# end of 'sequent.patch'
fi
echo shar: End of shell archive.
exit 0
--
Mark Nagel
Department of Information and Computer Science, UC Irvine
nagel@ics.uci.edu (ARPA) When they ship styrofoam...
{sdcsvax|ucbvax}!ucivax!nagel (UUCP) ...what do they pack it in?