Patch Name: PHKL_20464 Patch Description: s700 10.20 new graphics, HCRX, ITE USB cumulative patch Creation Date: 99/11/15 Post Date: 99/12/07 Hardware Platforms - OS Releases: s700: 10.20 Products: N/A Filesets: OS-Core.CORE-KRN ProgSupport.C-INC Automatic Reboot?: Yes Status: General Superseded Critical: No (superseded patches were critical) PHKL_14564: HANG PHKL_14471: HANG PHKL_12763: HANG ABORT PHKL_11205: HANG Path Name: /hp-ux_patches/s700/10.X/PHKL_20464 Symptoms: PHKL_20464: ( SR: 8606106964 DTS: JAGab76495 ) An HCRX graphics card with STI revision 8.04/13, running a serrated mode vertical synchronization monitor timing, will be reset to block mode as soon as the graphics driver is initialized. ( SR: 8606111916 DTS: JAGab84050 ) If X dies abnomally while displayed on the HCRX and while in power saving mode, the graphics console may stay blanked until X is restarted, even if the ITE reset sequence (SHIFT-BREAK) is entered. This patch provides operating system support for serrated mode vertical sync. timing and correctly restores the ITE console upon reset for the HCRX graphics cards. PHKL_19785: This patch provides new functionality to support HP VISUALIZE-fxe graphics. PHKL_17835: This patch enables new functionality that is part of the 10.20 ACE (Additional Core Enhancements) Workstation bundle, 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_20464: ( SR: 8606106964 DTS: JAGab76495 ) If an HCRX graphics card with STI firmware revision 8.04/13 is used, it can support a serrated mode veritcal sync monitor timing. In the 10.20 operating system, changes were made which reset the monitor timing back to the default block mode when the graphics driver initializes. Resolution: The operating system will now leave an HCRX8 or HCRX24 with STI revision 8.04/13 in the same vertical sync timing mode that is specified at the firmware prompt. Otherwise, the default, block mode, is used. ( SR: 8606111916 DTS: JAGab84050 ) If X dies abnormally while in power saving mode with an HCRX display and is not automatically restarted, the graphics console will remain blanked until X is restarted, even if the ITE reset sequence (SHIFT-BREAK) is entered. Resolution: The X server changes bits 27 and 25 in the DCC portion of the Misc. Video Register which controls the DAC analog output of the card (to blank the screen). These bits are now correctly restored (effectively unblanking the screen) when the ITE reset sequence is entered. PHKL_19785: New functionality to support HP VISUALIZE-fxe graphics. Resolution: New functionality to support the HP VISUALIZE-fxe graphics card was added. In addition, support was added for the GCSETMONTYPE and GCGETMONTYPE ioctl calls on C360, J280, J282, J2240 and all current D-class systems. This will allow utility programs to change the monitor type value in stable storage. Finally sti_patch_init was corrected to prevent an unexpected message in syslog.log. PHKL_17835: New functionality to support the B1000, C3000 and J5000 systems on HP-UX 10.20. 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. 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. The setmon utility could not be used through the SAM Monitor Configuration icon under X windows with systems containing VISUALIZE-EG graphics. This patch adds a new graphics driver ioctl call needed to enable this functionality. With certain graphics hardware, the message sti_unpack_routines: patch_init returned 3for rom at 0xf8000000" could appear during system boot. This was a diagnostic message only and did not indicate any problem. This patch removes this diagnostic message. PHKL_14471: On Systems configured with VISUALIZE-FX4 graphics, very infrequently a graphics process hang can occur. This patch forces a phase lock loop circuit on the graphics card to synchronize with the proper clock phase. This fix is only enabled at resolutions of 1280 x 1024 pixels at a refresh rate of either 72 Hz sync on green or 75 Hz VESA. If other resolutions are used, the hang problem can still occur. A subsequent patch will be issued that will enable this fix to cover additional resolutions and refresh rates. 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: Without this patch, using VISUALIZE-FX hardware on a multi- processor system will likely lead to graphics hardware hangs and possibly system panics. PHKL_12841: SR# 4701374082 DTS# DSDe440147: the 744/165L has some signal integrity problems that caused long sequences of parity errors on the PS/2 bus. The driver did not account for these long sequences, thus a RESEND command from the mouse would be interpretted as a data byte, throwing off the synchronization of mouse packets. The keyboard did not show any symptoms of the long parity error sequences. Therefore, this fix only addresses the mouse synchronization problem. PHKL_12763: The customer's defect was observed on 9.07 after installing the 9.X patch PHKL_4413. This patch regulated the system time of day clock by accessing the system real time clock hardware every 10 minutes. The system real time clock hardware is interfaced to the same coprocessor that also controls the HP-HIL loop used for the keyboard and mouse. A small timing window exists such that if the real time clock is read while a packet of data is being received from the mouse, incorrect data could be transmitted to the X server. The keyboard reconnection handler in the HIL driver can hang if the keyboard is disconnected immediately after being disconnected and then reconnected. This problem has only been reproduced by a customer designed HIL switchbox or by rapidly and repeatedly plugging and unplugging a keyboard (i.e. multiple times a second). PHKL_11205: When the system console is on the Internal Terminal Emulator (ITE) of a graphics display, and the CDE dtlogin screen is waiting for someone to log in, processes writing to the system console using non-blocking I/O could block until someone logs in to the system. This patch makes ITE functionality developed for VISUALIZE-FX graphics devices available on the following graphics devices: Color Graphics Card, CRX, CRX48Z, Dual CRX, HCRX, HCRX-24, HCRX-24B, HCRX8-B, and VISUALIZE-EG. With this patch, ITE can be switched off when the X server starts, and then switched on again when the server exits. 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. PHKL_9921: If the date command specifies a year of 2000 or greater, HIL code in HP-UX incorrectly sends a year out of the range of 0-99 to the HIL hardware. SR: 1653205245 1653208751 1653253286 4701334763 4701345181 4701354639 4701354829 4701374082 4701375147 4701379545 4701398263 8606103441 8606103444 8606104808 8606106964 8606111916 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/h/framebuf.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(subr_prf.o) /usr/conf/lib/libhp-ux.a(vm_ioblk.o) /usr/include/sys/framebuf.h what(1) Output: /usr/conf/graf/frameb_spc.h: frameb_spc.h $Date: 97/05/02 02:37:44 $ $Revision: 1.7.98.2 $ PATCH_10.20 (PHKL_10758) /usr/conf/graf/gpu_data.h: gpu_data.h $Date: 99/09/14 21:29:20 $ $Revision: 1.11.98.7 $ PATCH_10.20 (PHKL_19785) /usr/conf/graf/graph3.h: graph3.h $Date: 99/03/03 05:44:57 $ $Revision: 1. 5.98.3 $ PATCH_10.20 (PHKL_17835) /usr/conf/graf/ite.h: ite.h $Date: 97/06/02 19:24:00 $ $Revision: 1.16. 98.4 $ PATCH_10.20 (PHKL_11205) /usr/conf/graf/kbd.h: kbd.h $Date: 99/03/03 05:44:58 $ $Revision: 1.11. 98.2 $ PATCH_10.20 (PHKL_17835) /usr/conf/graf/stirom.h: stirom.h $Date: 99/03/03 05:44:59 $ $Revision: 1. 6.98.7 $ PATCH_10.20 (PHKL_17835) /usr/conf/h/framebuf.h: framebuf.h $Date: 99/03/03 05:29:41 $ $Revision: 1.17.98.4 $ PATCH_10.20 (PHKL_17835) /usr/conf/lib/libhp-ux.a(framebuf.o): framebuf.c $Date: 99/09/14 21:25:46 $ $Revision: 1 .21.98.16 $ PATCH_10.20 (PHKL_19785) /usr/conf/lib/libhp-ux.a(graf.o): graf.c $Date: 98/03/27 15:44:48 $ $Revision: 1.4. 98.4 $ PATCH_10.20 (PHKL_14564) /usr/conf/lib/libhp-ux.a(graph3.o): graph3.c $Date: 99/10/11 20:06:43 $ $Revision: 1. 9.98.20 $ PATCH_10.20 (PHKL_19785) /usr/conf/lib/libhp-ux.a(ite.o): ite.c $Date: 99/03/04 01:08:13 $ $Revision: 1.23. 98.7 $ PATCH_10.20 (PHKL_17835) /usr/conf/lib/libhp-ux.a(ite1.o): ite1.c $Date: 99/09/14 21:27:40 $ $Revision: 1.5. 98.11 $ PATCH_10.20 (PHKL_19785) /usr/conf/lib/libhp-ux.a(ite1_sti.o): ite1_sti.c $Date: 99/03/03 05:44:45 $ $Revision: 1.5.98.9 $ PATCH_10.20 (PHKL_17835) /usr/conf/lib/libhp-ux.a(ite_color.o): ite_color.c $Date: 97/06/02 19:25:34 $ $Revision: 1.8.98.3 $ PATCH_10.20 (PHKL_11205) /usr/conf/lib/libhp-ux.a(ite_parse.o): ite_parse.c $Date: 99/03/03 05:44:47 $ $Revision: 1.7.98.4 $ PATCH_10.20 (PHKL_17835) /usr/conf/lib/libhp-ux.a(ite_scroll.o): ite_scroll.c $Date: 99/03/03 05:44:42 $ $Revision : 1.14.98.6 $ PATCH_10.20 (PHKL_17835) /usr/conf/lib/libhp-ux.a(kbd_code.o): kbd_code.c $Date: 99/03/03 05:44:50 $ $Revision: 1.13.98.3 $ PATCH_10.20 (PHKL_17835) /usr/conf/lib/libhp-ux.a(ktest.o): ktest.c $Date: 98/03/27 16:19:38 $ $Revision: 1.3 6.98.15 $ PATCH_10.20 (PHKL_14564) /usr/conf/lib/libhp-ux.a(ps2.o): ps2.c $Date: 99/03/03 05:44:48 $ $Revision: 1.6.98.3 $ PATCH_10.20 (PHKL_17835) /usr/conf/lib/libhp-ux.a(s_hil_code.o): s_hil_code.c $Date: 99/03/03 05:44:51 $ $Revision: 1 .8.98.6 $ PATCH_10.20 (PHKL_17835) /usr/conf/lib/libhp-ux.a(stirom.o): stirom.c $Date: 99/11/15 10:48:07 $ $Revision: 1. 5.98.13 $ PATCH_10.20 (PHKL_20464) /usr/conf/lib/libhp-ux.a(subr_prf.o): subr_prf.c $Date: 99/03/04 01:11:32 $ $Revision: 1 .68.98.7 $ PATCH_10.20 (PHKL_17835) /usr/conf/lib/libhp-ux.a(vm_ioblk.o): vm_ioblk.c $Date: 97/11/19 04:34:24 $ $Revision: 1.8.98.6 $ PATCH_10.20 (PHKL_13270) /usr/include/sys/framebuf.h: framebuf.h $Date: 99/03/03 05:29:41 $ $Revision: 1.17.98.4 $ PATCH_10.20 (PHKL_17835) cksum(1) Output: 3534246345 598 /usr/conf/graf/frameb_spc.h 2285523982 11543 /usr/conf/graf/gpu_data.h 2399104115 15585 /usr/conf/graf/graph3.h 1008069817 15728 /usr/conf/graf/ite.h 2360689572 27535 /usr/conf/graf/kbd.h 2597228234 33217 /usr/conf/graf/stirom.h 4177650791 18491 /usr/conf/h/framebuf.h 2707235941 51760 /usr/conf/lib/libhp-ux.a(framebuf.o) 75968348 231500 /usr/conf/lib/libhp-ux.a(graf.o) 3577933648 44812 /usr/conf/lib/libhp-ux.a(graph3.o) 3784587213 16344 /usr/conf/lib/libhp-ux.a(ite.o) 1673642654 11212 /usr/conf/lib/libhp-ux.a(ite1.o) 4186107868 9008 /usr/conf/lib/libhp-ux.a(ite1_sti.o) 496169030 2060 /usr/conf/lib/libhp-ux.a(ite_color.o) 626881971 9368 /usr/conf/lib/libhp-ux.a(ite_parse.o) 1323203036 36444 /usr/conf/lib/libhp-ux.a(ite_scroll.o) 1814570294 13956 /usr/conf/lib/libhp-ux.a(kbd_code.o) 482475489 22296 /usr/conf/lib/libhp-ux.a(ktest.o) 1348480703 22296 /usr/conf/lib/libhp-ux.a(ps2.o) 2480742296 15104 /usr/conf/lib/libhp-ux.a(s_hil_code.o) 1065591272 37516 /usr/conf/lib/libhp-ux.a(stirom.o) 2858291497 18792 /usr/conf/lib/libhp-ux.a(subr_prf.o) 3381751196 5640 /usr/conf/lib/libhp-ux.a(vm_ioblk.o) 4177650791 18491 /usr/include/sys/framebuf.h Patch Conflicts: None Patch Dependencies: s700: 10.20: PHSS_10650 Hardware Dependencies: None Other Dependencies: None Supersedes: PHKL_9921 PHKL_10758 PHKL_11205 PHKL_12763 PHKL_12841 PHKL_13270 PHKL_14471 PHKL_14564 PHKL_17835 PHKL_19785 Equivalent Patches: PHKL_20465: s800: 10.20 Patch Package Size: 750 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_20464 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHKL_20464.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHKL_20464. 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_20464.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_20464.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: WARNING: Before running the X server after this patch is installed, The X server patch PHSS_10650 must be installed. If the system is used for X graphics, It is highly recommented that patch PHSS_10650 be installed first, before installing this kernel patch. Failure to install the X server patch could result in a graphics card hang while X windows is running. --- Due to the number of objects in this patch, the customization phase of the update may take more than 10 minutes. During that time the system will not appear to make forward progress, but it will actually be installing the objects.