Patch-ID# 100844-02
Keywords: 4.1.3, gs, cgtwelve
Synopsis: SunOS 4.1.3 GS Jumbo patch
Date: Aug/06/93

SunOS release: 4.1.3, 4.1.3C

Unbundled Product: 

Unbundled Release:

Topic: kernel and libpixrect patch for GS sunview bugs included here
       also fix for GS SunPC bug.

BugId's fixed with this patch: 1112134, 1101764, 1137977

Changes incorporated in this version: 1137977

Architectures for which this patch is available: sun4c sun4m

Patches which may conflict with this patch:

Other patches this accumulates and obsoletes: 100782-01

Obsoleted by:

Problem Description:

1112134

SunDiag will print a failure message that includes the following
phrase at the end:

  " ... ***Failed to allocate CG12 virtual buffer-gp-alloc() error"

This is an indication that they system has no more buffers for command
blocks so that SunDiag can post commands to the GS.

This problem appears under SunDiag 2.3.1 (SunOS 4.1.3), normally
after less than eight hours of running. It can be made to fail in as
little as one to two hours by limiting the SunDiag tests to only the
geometry subset of the cg12 tests.

1101764

The signal 24 (SIGXCPU) usually is sent to a process, such as cg12 Sundiag
test, when the hardware is not responding within a certain time limit.
However, this time limit is usually reached quite often when the cg12
Sundiag test is running on a C2 system.

1137977

GS frame buffer does not have support to allow the SunPC accelerator card to
write directly to the frame buffer via the SBus. 


INSTALL:

********************** NB. IMPORTANT NOTE !!!!!!

If the kernel architecture is sun4m, the sun4m jumbo patch MUST be
installed before installing this patch. The sun4m jumbo patch number MUST be
100726-10 or later revision (ie. 100726-11).

   To patch libpixrect you must type the following
   commands as root:
   Let the directory containing this README file be known as $PATCHDIR

   mv /usr/lib/libpixrect.a /usr/lib/libpixrect.a.fcs

   mv $PATCHDIR/patch/libpixrect.a /usr/lib/libpixrect.a 
   mv $PATCHDIR/patch/libpixrect.sa.2.15 /usr/lib/libpixrect.sa.2.15
   mv $PATCHDIR/patch/libpixrect.so.2.15 /usr/lib/libpixrect.so.2.15

   test -f /usr/lib/libpixrect_p.a && (mv /usr/lib/libpixrect_p.a \
	/usr/lib/libpixrect_p.a.fcs; \
	mv $PATCHDIR/patch/libpixrect_p.a /usr/lib/libpixrect_p.a)

   /usr/etc/ldconfig

   mv /usr/lib/libpixrect.sa.2.14 /usr/lib/libpixrect.sa.2.14.fcs
   mv /usr/lib/libpixrect.so.2.14 /usr/lib/libpixrect.so.2.14.fcs

   ---

   To patch the the GS driver you must do the following as root:

   Make a backup copy of the files to be patched:

   mv /sys/`arch -k`/OBJ/cg12_colormap.o /sys/`arch -k`/OBJ/cg12_colormap.o_413fcs
   mv /sys/`arch -k`/OBJ/cg12_ioctl.o    /sys/`arch -k`/OBJ/cg12_ioctl.o_413fcs
   mv /sys/`arch -k`/OBJ/cgtwelve.o      /sys/`arch -k`/OBJ/cgtwelve.o_413fcs

   Now install the patched files:

   cp $PATCHDIR/patch/`arch -k`/cg12_colormap.o /sys/`arch -k`/OBJ
   cp $PATCHDIR/patch/`arch -k`/cg12_ioctl.o    /sys/`arch -k`/OBJ
   cp $PATCHDIR/patch/`arch -k`/cgtwelve.o      /sys/`arch -k`/OBJ

   Then a new kernel will need to be made.  Please refer to the System
   and Network Administration manual on building and installing a
   custom kernel.
