Patch Name: PHKL_25903 Patch Description: s700 10.26 new graphics, ITE USB, cumulative Creation Date: 02/04/23 Post Date: 02/04/30 Hardware Platforms - OS Releases: s700: 10.26 Products: N/A Filesets: OS-Core.CORE-KRN ProgSupport.C-INC Automatic Reboot?: Yes Status: General Release Critical: Yes PHKL_25903: PANIC HANG PHKL_19133: HANG ABORT Path Name: /hp-ux_patches/s700/10.X/PHKL_25903 Symptoms: PHKL_25903: Partial Porting of 10.20 patch PHKL_25246 to TOS (PHKL_25246:) (SR: 8606186278 CR: JAGad55484) The kernel may panic with Interrupt Type 15 (Data page fault) with the graph3_summit_isr on the kernel stack trace. The panic will also be accompanied by the following in kernel message buffer (dmesg output): "graph3_summit_isr: Bus error bit is set" Any of following graphics cards could be afected. VISUALIZE-FX2, FX4, FX6, FX10, VISUALIZE-FXE (SR: 8606213367 CR: JAGad82559) The following error message will appear many times in the kernel message buffer (dmesg output). graph3_summit_isr:bus error bit is set This message may cause the kernel message buffer to overflow and other kernel messages will be lost. (PHKL_22087:) (SR: 8606154057 CR: JAGad23375) This patch fixes a defect introduced by patch PHKL_21748. If an update of the graphics card firmware is attempted or if the X server is started on a system with an FX5 or FX10 graphics card, the system can panic with a data page fault in the function gcsti_utility. Here is the stack trace produced by this defect. panic+0x10 report_trap_or_int_and_panic+0xe8 trap+0x1054 $call_trap+0x20 gcsti_utility+0x60 framebuf_ioctl+0x120 spec_ioctl+0xd4 vno_ioctl+0x98 ioctl+0x444 syscall+0x1a4 $syscallrtn+0x0 (PHKL_21748:) (SR: 8606134617 CR: JAGad03752) Messages written to the ITE while running X on uniprocessor systems with a FXE graphics console will cause a ghost image of text to appear on the X desktop. (SR: 8606137904 CR: JAGad07065) On multiprocessor systems, a defect in the graphics driver could cause the graphics system to hang. No such hangs were discovered prior to release, but the potential for the defect to cause a hang would still exist in the absence of this patch. (PHKL_21409:) (SR: 8606103040 CR: JAGab69222) On C3000, J5000, and J7000 multiprocessor systems, defects in graphics system libraries and drivers could cause the system to panic with a high priority machine check (bus check HPMC), rather than being recovered in software. No such defects were discovered prior to release, but the potential for a defect to cause an HPMC would still exist in the absence of this patch. (PHKL_19785:) This patch provides new functionality to support HP VISUALIZE-fxe graphics. PHKL_19133: Ported 10.20 patch PHKL_17835 to TOS. (PHKL_17835) This patch enables new functionality which adds new I/O drivers to support the B1000, C3000, and J5000 systems. (PHKL_14564) Refinements were made to the VISUALIZE-FX4 hang fix from patch PHKL_14471. See the text for PHKL_14471 below for details. During the hard reset, instead of a totally blank screen, the message "GRAPHICS HARDWARE SELFTEST" will be displayed. This patch also contains two other fixes: A new ioctl has been added to allow the usage of the setmon utility from within SAM running under X on systems containing VISUALIZE-EG graphics. A fix for SR #1653253286 where the message "sti_unpack_routines: patch_init returned 3for rom at 0xf8000000" could be logged into the kernel message buffer with certain graphics hardware. This was a debugging message that indicates no problem, but some users were concerned. This message has now been removed. (PHKL_14471) On Systems configured with VISUALIZE-FX4 graphics, very infrequently a graphics process hang can occur. This problem occurs infrequently, usually after power-up or with graphics-intensive workloads and lots of user interaction. When these hangs occur, only the graphics subsystem is hung; it is still possible to login to the system from either an attached ASCII terminal or from another machine on the same network. In most cases, the user must cycle power and reboot the system. NOTE: After this patch is installed, any hard reset performed on the VISUALIZE-FX4 hardware can take from 10 to 30 seconds. This will be noticeable as the screen will blank for between 10 to 30 seconds when the HP-UX kernel is booting, whenever a hard reset is triggered on the Internal Terminal Emulator (ITE) via the reset key sequence (Ctrl-Shift-Break), and whenever the setmon utility is run to change display resolution and/or refresh rate. This patch includes another fix, unrelated to the graphics hang. During shutdown of the display server, X will enable the Internal Terminal Emulator (ITE). At this time, the kernel should send a signal to 3-D processes that were using the graphics device. If the graphics subsystem is a VISUALIZE-FX device, it should send a SIGBUS signal to a 3-D process whenever it attempts to access the graphics hardware. For certain other graphics subsystems, the kernel should send SIGKILL immediately to all 3-D processes that have opened the graphics device. Previous to this patch, the kernel would, under certain conditions, send a SIGKILL signal for VISUALIZE-FX devices. (PHKL_13270) Added support for VISUALIZE-FX hardware on MP systems. (PHKL_12841) SR# 4701374082 DTS# DSDe440147: the mouse looses synchro- nization such that the pointer moves all over the screen and button presses are active that the user did not initiate. (PHKL_12763) Systems may experience intermittent X server failures where mouse movement data is incorrectly sent from the keyboard device. This would cause the X server to abort. Such failures were seen on a customer's HPUX 9.07 system with a frequency of about once per day. If the HIL keyboard is disconnected, reconnected, and then disconnected again very rapidly, the system will hang until the keyboard is once again connected. (PHKL_11205) The CDE dtlogin screen can grab the graphics display lock and hold this lock until someone logs in. If the system console was on the Internal Terminal Emulator (ITE) running on this graphics display, processes writing to the system console that specify blocking I/O could block until dtlogin releases the lock. Also, if the ITE hard reset sequence Ctl-Shift-Reset were to be entered during a small timing interval while the X server is initializing, the X server display could remain black after the server has started. WARNING: If the the X server subsystem is installed on your system when this kernel patch is applied, you must also install the X server patch PHSS_10650. It is highly recommended that the X server patch PHSS_10650 be installed before this kernel patch. Failure to install both patches could result in a graphics card hang while X windows is running. (PHKL_10758) Enhancements to support VISUALIZE-FX hardware. This patch is part of the Workstation Additional Core Enhancements for HP-UX 10.20 - July 1997 package. (PHKL_9921) If the HP-UX date command sets the year to be greater than 2000 on a workstation with HIL, subsequent boots in administrative mode show the year to be 20100, although once fully booted in HP-UX, the year appears as 2000. Defect Description: PHKL_25903: Partial Porting of 10.20 patch PHKL_25246 to TOS (PHKL_25246:) (SR: 8606186278 CR: JAGad55484) The interrupt service routine for the VISUALIZE-FXE (A4982B) graphics card may take inappropriate action when the STI rom detects a bus error. Resolution: The interrupt service routine was modified to initialize parameters returned from the STI ROM associated with the graphics card. This prevents misinterpretation of returned parameters when the bus error bit is set. (SR: 8606213367 CR: JAGad82559) The message is logged from the graphics interrupt service routine. If the interrupt line used by the graphics card is shared with another PCI device, the graphics card ISR may be called many times before the bus error can be cleared. Each time the graphics ISR is called it will log a message. Resolution: The message is logged only once for each occurance of a graphics card bus error. (PHKL_22087:) (SR: 8606154057 CR: JAGad23375) An incorret pointer was passed as an argument to the function gcsti_utility. This caused a data page fault panic as soon as the function was called. Gcsti_utility is accessed through an IOCTL that is currently only used by the X server with FX5 or FX10 graphics cards and by software which attempts to update the firmware image on HP graphics cards. Resolution: The pointer logic has been corrected. (PHKL_21748:) (SR: 8606134617 CR: JAGad03752) FXE graphics cards were not included in a list of cards which supported the GCNOITE ioctl. The X server uses this ioctl on uniprocessor systems to prevent ITE messages from being overlayed on top of the X desktop. Resolution: FXE was added to the list of cards which support the GCNOITE ioctl. (SR: 8606137904 CR: JAGad07065) It was discovered the GCSTI_UTIL ioctl held a spinlock across a function call that could sleep. It is possible that this could deadlock the graphics driver. Resolution: The ioctl was restructured to prevent holding the lock across any functions that may sleep. (PHKL_21409:) (SR: 8606103040 CR: JAGab69222) A problem exists between an early version of the PCI bus adaptor and VISUALIZE-FX graphics cards on multiprocessor systems. As a workaround to this problem, the BE timer on the graphics card was disabled. With the BE timer disabled, if defects in system graphics drivers or libraries placed the graphics card in a hung state, a high priority machine check (HPMC) panic would occur. Since this workaround is not necessary on later versions of this PCI bus adaptor, it is removed by this patch. Resolution: If the PCI bus adaptor is of a later revision, the VISUALIZE-FX BE timer circuit is now not being disabled. In this case, defective graphics system software will not cause a HPMC panic and recovery from the error condition is possible. (PHKL_19785:) New functionality to support HP VISUALIZE-fxe graphics. Resolution: New functionality to support the HP VISUALIZE-fxe graphics card was added. PHKL_19133: Ported 10.20 patch PHKL_17835 to TOS. New functionality to support the B1000, C3000 and J5000 systems on HP-UX 10.26. Resolution: New functionality to support a future workstation graphics card was added. In addition, support was added to allow USB keyboards to work with the ITE. Finally a bug that under some circumstances could hang a VISUALIZE-FX card on a multiprocessor system was fixed. SR: 1653205245 1653208751 1653253286 4701334763 4701345181 4701354639 4701354829 4701374082 4701375147 4701379545 4701398263 8606104808 8606103040 8606137904 8606134617 8606154057 8606213367 8606186278 Patch Files: /usr/conf/graf/frameb_spc.h /usr/conf/graf/gpu_data.h /usr/conf/graf/graph3.h /usr/conf/graf/ite.h /usr/conf/graf/kbd.h /usr/conf/graf/stirom.h /usr/conf/graf/graph02.h /usr/conf/h/framebuf.h /usr/include/sys/framebuf.h /usr/include/sio/graph02.h /usr/conf/lib/libhp-ux.a(framebuf.o) /usr/conf/lib/libhp-ux.a(graf.o) /usr/conf/lib/libhp-ux.a(graph3.o) /usr/conf/lib/libhp-ux.a(ite.o) /usr/conf/lib/libhp-ux.a(ite1.o) /usr/conf/lib/libhp-ux.a(ite1_sti.o) /usr/conf/lib/libhp-ux.a(ite_color.o) /usr/conf/lib/libhp-ux.a(ite_parse.o) /usr/conf/lib/libhp-ux.a(ite_scroll.o) /usr/conf/lib/libhp-ux.a(kbd_code.o) /usr/conf/lib/libhp-ux.a(ktest.o) /usr/conf/lib/libhp-ux.a(ps2.o) /usr/conf/lib/libhp-ux.a(s_hil_code.o) /usr/conf/lib/libhp-ux.a(stirom.o) /usr/conf/lib/libhp-ux.a(vm_ioblk.o) what(1) Output: /usr/conf/graf/frameb_spc.h: $Revision: 1.1 kern/graf/frameb_spc.h, hpux, hpux_10 .26, ic5dh $ $Date: 99/07/30 15:25:12 $ Hewl ett-Packard Co. */ 99/07/30 kern/graf/frameb_spc.h, hpux, hpux_10.26, i c5dh Revision 1.1 PATCH_10.26 (PHKL_19133) U NMODIFIED /usr/conf/graf/gpu_data.h: $Revision: 1.3 kern/graf/gpu_data.h, hpux, hpux_10.2 6, ic5go $ $Date: 02/04/10 16:35:53 $ Hewlet t-Packard Co. */ 02/04/10 kern/graf/gpu_data.h, hpux, hpux_10.26, ic5 go Revision 1.3 PATCH_10.26 (PHKL_25903) */ /usr/conf/graf/graph3.h: $Revision: 1.2 kern/graf/graph3.h, hpux, hpux_10.26, ic5go $ $Date: 02/04/10 16:37:23 $ Hewlett- Packard Co. */ 02/04/10 kern/graf/graph3.h, hpux, hpux_10.26, ic5go Revision 1.2 PATCH_10.26 (PHKL_25903) */ /usr/conf/graf/ite.h: $Revision: 1.1 kern/graf/ite.h, hpux, hpux_10.26, ic 5dh $ $Date: 99/07/30 15:27:27 $ Hewlett-Pac kard Co. */ 99/07/30 kern/graf/ite.h, hpux, hpux_10.26, ic5dh Re vision 1.1 PATCH_10.26 (PHKL_19133) UNMODIFI ED /usr/conf/graf/kbd.h: $Revision: 1.1 kern/graf/kbd.h, hpux, hpux_10.26, ic 5dh $ $Date: 99/07/30 15:29:07 $ Hewlett-Pac kard Co. */ 99/07/30 kern/graf/kbd.h, hpux, hpux_10.26, ic5dh Re vision 1.1 PATCH_10.26 (PHKL_19133) UNMODIFI ED /usr/conf/graf/stirom.h: $Revision: 1.2 kern/graf/stirom.h, hpux, hpux_10.26, ic5go $ $Date: 02/03/26 19:41:45 $ Hewlett- Packard Co. */ 02/03/26 kern/graf/stirom.h, hpux, hpux_10.26, ic5go Revision 1.2 PATCH_10.26 (PHKL_25903) */ /usr/conf/graf/graph02.h: $Revision: 1.1 kern/graf/graph02.h, hpux, hpux_10.26 , ic5go $ $Date: 02/03/26 19:36:55 $ Hewlett -Packard Co. */ 02/03/26 kern/graf/graph02.h, hpux, hpux_10.26, ic5g o Revision 1.1 PATCH_10.26 (PHKL_25903) */ /usr/conf/h/framebuf.h: $Revision: 1.2 kern/h/framebuf.h, hpux, hpux_10.26, ic5dh $ $Date: 99/07/30 15:31:25 $ Hewlett-P ackard Co. */ 99/07/30 kern/h/framebuf.h, hpux, hpux_10.26, ic5dh Revision 1.2 PATCH_10.26 (PHKL_19133) /usr/include/sys/framebuf.h: $Revision: 1.2 kern/h/framebuf.h, hpux, hpux_10.26, ic5dh $ $Date: 99/07/30 15:31:25 $ Hewlett-P ackard Co. */ 99/07/30 kern/h/framebuf.h, hpux, hpux_10.26, ic5dh Revision 1.2 PATCH_10.26 (PHKL_19133) /usr/include/sio/graph02.h: $Revision: 1.1 kern/graf/graph02.h, hpux, hpux_10.26 , ic5go $ $Date: 02/03/26 19:36:55 $ Hewlett -Packard Co. */ 02/03/26 kern/graf/graph02.h, hpux, hpux_10.26, ic5g o Revision 1.1 PATCH_10.26 (PHKL_25903) */ /usr/conf/lib/libhp-ux.a(framebuf.o): 02/03/26 kern/graf/framebuf.c, hpux, hpux_10.26, ic5 go Revision 1.6 PATCH_10.26 (PHKL_25903) /usr/conf/lib/libhp-ux.a(graf.o): 99/07/30 kern/debug/graf.c, hpux, hpux_10.26, ic5go Revision 1.1 PATCH_10.26 (PHKL_19133) UNMODI FIED /usr/conf/lib/libhp-ux.a(graph3.o): 02/03/26 kern/graf/graph3.c, hpux, hpux_10.26, ic5go Revision 1.3 PATCH_10.26 (PHKL_25903) /usr/conf/lib/libhp-ux.a(ite.o): 99/07/30 kern/graf/ite.c, hpux, hpux_10.26, ic5go Re vision 1.1 PATCH_10.26 (PHKL_19133) UNMODIFI ED /usr/conf/lib/libhp-ux.a(ite1.o): 02/03/26 kern/graf/ite1.c, hpux, hpux_10.26, ic5go R evision 1.2 PATCH_10.26 (PHKL_25903) /usr/conf/lib/libhp-ux.a(ite1_sti.o): 99/07/30 kern/graf/ite1_sti.c, hpux, hpux_10.26, ic5 go Revision 1.1 PATCH_10.26 (PHKL_19133) UNM ODIFIED /usr/conf/lib/libhp-ux.a(ite_color.o): 99/07/30 kern/graf/ite_color.c, hpux, hpux_10.26, ic 5dh Revision 1.1 PATCH_10.26 (PHKL_19133) UN MODIFIED /usr/conf/lib/libhp-ux.a(ite_parse.o): 99/07/30 kern/graf/ite_parse.c, hpux, hpux_10.26, ic 5dh Revision 1.1 PATCH_10.26 (PHKL_19133) UN MODIFIED /usr/conf/lib/libhp-ux.a(ite_scroll.o): 99/07/30 kern/graf/ite_scroll.c, hpux, hpux_10.26, i c5go Revision 1.1 PATCH_10.26 (PHKL_19133) U NMODIFIED /usr/conf/lib/libhp-ux.a(kbd_code.o): 99/07/30 kern/graf/kbd_code.c, hpux, hpux_10.26, ic5 dh Revision 1.1 PATCH_10.26 (PHKL_19133) UNM ODIFIED /usr/conf/lib/libhp-ux.a(ktest.o): 99/07/30 kern/ktest/ktest.c, hpux, hpux_10.26, ic5go Revision 1.3 PATCH_10.26 (PHKL_19133) /usr/conf/lib/libhp-ux.a(ps2.o): 99/07/30 kern/graf/ps2.c, hpux, hpux_10.26, ic5dh Re vision 1.3 PATCH_10.26 (PHKL_19133) /usr/conf/lib/libhp-ux.a(s_hil_code.o): 99/07/30 kern/graf/s_hil_code.c, hpux, hpux_10.26, i c5dh Revision 1.2 PATCH_10.26 (PHKL_19133) U NMODIFIED /usr/conf/lib/libhp-ux.a(stirom.o): 02/03/26 kern/graf/stirom.c, hpux, hpux_10.26, ic5go Revision 1.2 PATCH_10.26 (PHKL_25903) /usr/conf/lib/libhp-ux.a(vm_ioblk.o): 99/07/30 kern/machine/vm_ioblk.c, hpux, hpux_10.26, ic5go Revision 1.1 PATCH_10.26 (PHKL_19133) UNMODIFIED cksum(1) Output: 3640978743 740 /usr/conf/graf/frameb_spc.h 385332174 12802 /usr/conf/graf/gpu_data.h 1525188168 15737 /usr/conf/graf/graph3.h 4169933011 15863 /usr/conf/graf/ite.h 1387795708 27670 /usr/conf/graf/kbd.h 2964023726 33315 /usr/conf/graf/stirom.h 996618607 9367 /usr/conf/graf/graph02.h 2952092741 19264 /usr/conf/h/framebuf.h 2952092741 19264 /usr/include/sys/framebuf.h 996618607 9367 /usr/include/sio/graph02.h 348833684 54312 /usr/conf/lib/libhp-ux.a(framebuf.o) 577488562 243728 /usr/conf/lib/libhp-ux.a(graf.o) 4083184234 47356 /usr/conf/lib/libhp-ux.a(graph3.o) 2328496256 17672 /usr/conf/lib/libhp-ux.a(ite.o) 2011719311 10812 /usr/conf/lib/libhp-ux.a(ite1.o) 1184813707 8996 /usr/conf/lib/libhp-ux.a(ite1_sti.o) 1274712181 2432 /usr/conf/lib/libhp-ux.a(ite_color.o) 2863425896 9588 /usr/conf/lib/libhp-ux.a(ite_parse.o) 3029401299 37756 /usr/conf/lib/libhp-ux.a(ite_scroll.o) 3940580384 14664 /usr/conf/lib/libhp-ux.a(kbd_code.o) 2239272705 23612 /usr/conf/lib/libhp-ux.a(ktest.o) 302856608 25124 /usr/conf/lib/libhp-ux.a(ps2.o) 3861114066 16180 /usr/conf/lib/libhp-ux.a(s_hil_code.o) 1112389851 38540 /usr/conf/lib/libhp-ux.a(stirom.o) 1059609873 5964 /usr/conf/lib/libhp-ux.a(vm_ioblk.o) Patch Conflicts: None Patch Dependencies: s700: 10.26: PHNE_20071 PHSS_26923 Hardware Dependencies: 9000/700 Other Dependencies: None Supersedes: PHKL_19133 Equivalent Patches: None Patch Package Size: 790 KBytes Installation Instructions: Please review all instructions and the Hewlett-Packard SupportLine User Guide or your Hewlett-Packard support terms and conditions for precautions, scope of license, restrictions, and, limitation of liability and warranties, before installing this patch. ------------------------------------------------------------ 1. Back up your system before installing a patch. 2. Login as root. 3. Copy the patch to the /tmp directory. 4. Move to the /tmp directory and unshar the patch: cd /tmp sh PHKL_25903 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHKL_25903.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHKL_25903. If you do not wish to retain a copy of the original software, you can create an empty file named /var/adm/sw/patch/PATCH_NOSAVE. WARNING: If this file exists when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. It is recommended that you move the PHKL_25903.text file to /var/adm/sw/patch for future reference. To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHKL_25903.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: WARNING: If the X server subsystem is installed on your system when this kernel patch is applied, you must also install the X server patch PHSS_26923. It is highly recommended that the X server patch PHSS_26923 be installed before this kernel patch. Failure to install both patches could result in a graphics card hang while X windows is running.