From: system@SendSpamHere.ORG Sent: Tuesday, July 06, 1999 6:03 AM To: Info-VAX@Mvb.Saic.Com Subject: Re: ZDEC for OpenVMS Alpha V7.x? In article <3780B904.193303D4@winternet.com>, Ed Wilts writes: >I've got an old ZDEC.MAR utility dating back many years that has served >me well over the years. Yesterday, I built it on a V7.1-2 system, and >although it compiled/linked without any problems, when zeroing a device >error count, it did it a little more aggressively than I would have >liked (can you say bugcheck boys & girls?)... > >Does anyone have a utility that zeros device error counts for V7.1? An >internals programmer I am not. Yes! Use DELTA! The process is rather simple. Run the system dump analyzer (SDA) and issue the SDA command: SDA> SHOW DEVICE ddcn: (where ddcn: is the device you want to zero) Then, evaluate the address of its UCB's error count field. SDA> EVALUATE UCB+UCB$L_ERRCNT (on Alpha) SDA> EVALUATE UCB+UCB$W_ERRCNT (on VAX) This will return a hexadecimal value which is the system space address of the error count field for the device. You can now ZAP this value by running DELTA. I typically do so by spawning DELTA from within SDA as follows: SDA> SPAWN RUN SYS$SHARE:DELTA Then you run DELTA on an Alpha, you will get an initial display that is an instruction. For example: ----- OpenVMS Alpha DELTA Debugger Exit 00000001 80058F80! LDQ R28,#X0008(SP) ----- On a VAX, you'll get only a version identification message such as: ----- DELTA Version 5.0 ----- At this point, enter: 1;M and a carriage return there's no prompting. On VAX only, enter [W (this will set the scope of DELTA to 16 bit words because the UCB's error count field is a word on VAX) Then, it's time to clear the error count. Enter: 00010001:/ ^--- When you enter the "/", DELTA will return the contents of this system space address (in hexadecimal) which is the error count for the device. Simply follow the result with a zero (0) and a carriage return. The is the value from the SDA exercise just prior to invoking DELTA. As an example, for a device with 10 errors you would see: 00010001:8106DC88/0000000A 0 ^--- zero+ entered to clear error count ^^^^^^^^----- current error count of device in hex. ^------------- displays contents at specified address ^^^^^^^^-------------- hex. address of UCB's error count field ^^^^^^^^----------------------- IPID of SWAPPER process (command format requires IPID and SWAPPER's is 00010001) Note: On a VAX, if the [W command has been issued, the above would dis- play as: 00010001:8106DC88/000A 0 When you're done, type EXIT and a carriage return. I've posted this little exercise here many times, shouldn't this be in the FAQ by now??? -- VAXman- OpenVMS APE certification number: AAA-0001 VAXman@TMESIS.COM "Now what else is the whole life of mortals but a sort of comedy, in which the various actors, disguised by various costumes and masks, walk on and play each one his part, until the manager waves them off the stage?" -- Erasmus