Patch Name: PHKL_24028

Patch Description: s700_800 11.00 dump path/count,PSW,PA-8700,printf buffer

Creation Date: 01/05/03

Post Date: 01/05/08

Hardware Platforms - OS Releases:
	s700: 11.00
	s800: 11.00

Products: N/A

Filesets:
	OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP
	OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP

Automatic Reboot?: Yes

Status: General Release

Critical:
	No (superseded patches were critical)
	PHKL_23815: PANIC
	PHKL_21760: HANG
	PHKL_20168: PANIC

Category Tags:
	defect_repair hardware_enablement enhancement
	general_release critical panic halts_system

Path Name: /hp-ux_patches/s700_800/11.X/PHKL_24028

Symptoms:
	PHKL_24028:
	( SR: 8606167577 DTS: JAGad36863 )
	Missing console and/or syslog data when vmunix tries to
	print more than 4 kilobytes of information at boot time.
	Possible side effects include:
	 * The console repeats 4k worth of data -- up to 16 times
	 * The "dmesg" command returns information that was
	   printed prior to the first vmunix entry in syslog.log
	 * Important boot time messages may be lost.

	PHKL_23815:
	( SR: 8606188675 DTS: JAGad57891 )
	When booting 11.00 on a PA-8700 system, the system panics
	with the following message :

	panic: set_machine_parameters_64: Unidentified cpu type
	returned from PDC_MODEL

	Panic stack trace:
	PC-Offset Stack Trace (read down, top of stack is 1st):
	   panic+0x54
	   set_machine_parameters_64+0x1f8
	   rm_setmachineparams_64+0x40
	   DoCalllist+0x50
	   RDB_patch_int_trap+0xb0
	End Of Stack
	WARNING: Space ID hashing is disabled

	PHKL_22084:
	( SR: 8606128778 DTS: JAGac86325 )
	This problem is specific for 32Bit Kernel.
	While dumping the machine, The message printing on
	Console is wrong. But when analyzing the dump, it
	gives correct values.

	PHKL_21760:
	( SR: 8606136363 DTS: JAGad05488 )
	A non-existent memory reference can result in
	hardware lockups when customers port HP-UX to
	their own systems and implement code which
	makes IODC calls or dump_pdc calls which
	return to user mode. This is not a known
	problem for HP-UX running on HP machines,
	since such calls are not allowed in normal code.

	PHKL_20168:
	( SR: 8606107507 DTS: JAGab77743 )
	New workstations (B1000, C3000, J5000, J7000) and others
	released after 06/1999 require this patch to properly
	create a crash dump after a system panic.  Without this
	patch, the system will hang after a panic and will not
	produce any data that might help to resolve the problem.

Defect Description:
	PHKL_24028:
	( SR: 8606167577 DTS: JAGad36863 )
	The old system message buffer was too small, and several
	defects appeared when it overflowed. (Having a large
	number of IO devices could trigger a buffer overflow.)
	Resolution:
	 1) Increased the size of the system message buffer.
	 2) Solved the defects by using a cleaner implementation.
	 3) Maintained full compatibility with dmesg.

	PHKL_23815:
	( SR: 8606188675 DTS: JAGad57891 )
	11.00 does not recognize the PA-8700 processor.
	Additionally, the PA-8700 processor is not IO-PDIR coherent.

	Resolution:
	This patch, PHKL_23815, is one of three 11.00 PA-8700
	enablement patches.  The other 11.00 PA-8700 enablement
	patches are PHKL_23813 & PHKL_23814.  To support 11.00 on
	PA-8700, the following changes were made :

	- Added code to recognize the PA-8700 processor.
	- Added code to check if non-coherent IO-PDIR is set and
	  perform flushes and syncs whenever IO-PDIR is changed.
	- Fixed inverted space hash mask to enable the PA-8700
	  processor.

	PHKL_22084:
	( SR: 8606128778 DTS: JAGac86325 )
	In iodc_prf.c, fdb.h is included without defining FDB.
	FDB is defined only if Kernel is built with
	FDB debugger.
	Resolution:
	Removed the Macro checking (#ifdef FDB_bug)
	from the function iodc_printf.

	PHKL_21760:
	( SR: 8606136363 DTS: JAGad05488 )
	dump_pdc_iodc_common() did not properly save and
	restore the entire PSW and consequently cleared
	the C-bit leaving the processor in real-mode when
	it returns to the calling procedure.

	Resolution:
	The code now uses the information from both the Hardware
	PSW and the PPDP's Global PSW to save the entire word to
	the stack. It then properly restores it during the call's
	exit.

	PHKL_20168:
	( SR: 8606107507 DTS: JAGab77743 )
	A code buffer is too small to hold the IODC driver needed
	to interface to a USB keyboard, and the kernel does not do
	the proper error checking when trying to use the keyboard
	IODC.  This results in the kernel executing random code
	that causes the system to hang after a panic, instead of
	creating a core dump.

	Resolution:
	The buffer used to hold the keyboard IODC driver is now
	allocated dynamically and additional error checking was
	added so that a failure using the keyboard will not
	prevent a valid crash dump from being produced.

SR:
	8606107507 8606136363 8606167577 8606188675

Patch Files:
	
	OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP:
	/usr/conf/lib/libhp-ux.a(iodc_llio.o)
	/usr/conf/lib/libhp-ux.a(iodc_prf.o)
	/usr/conf/lib/libhp-ux.a(klog.o)
	/usr/conf/lib/libhp-ux.a(subr_prf.o)

	OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP:
	/usr/conf/lib/libhp-ux.a(iodc_llio.o)
	/usr/conf/lib/libhp-ux.a(iodc_prf.o)
	/usr/conf/lib/libhp-ux.a(klog.o)
	/usr/conf/lib/libhp-ux.a(subr_prf.o)

what(1) Output:
	
	OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP:
	/usr/conf/lib/libhp-ux.a(iodc_llio.o):
		iodc_llio.s $Date: 2000/05/25 16:05:56 $Revision: r1
			1ros/3 PATCH_11.00 (PHKL_21760)
	/usr/conf/lib/libhp-ux.a(iodc_prf.o):
		iodc_prf.c $Date: 2001/04/12 14:16:12 $Revision: r11
			ros/6 PATCH_11.00 (PHKL_23815)
	/usr/conf/lib/libhp-ux.a(klog.o):
		klog.c $Date: 2001/04/30 08:25:52 $Revision: r11ros/
			1 PATCH_11.00 (PHKL_24028)
	/usr/conf/lib/libhp-ux.a(subr_prf.o):
		subr_prf.c $Date: 2001/04/30 08:25:52 $Revision: r11
			ros/10 PATCH_11.00 (PHKL_24028)

	OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP:
	/usr/conf/lib/libhp-ux.a(iodc_llio.o):
		iodc_llio.s $Date: 2000/05/25 16:05:56 $Revision: r1
			1ros/3 PATCH_11.00 (PHKL_21760)
	/usr/conf/lib/libhp-ux.a(iodc_prf.o):
		iodc_prf.c $Date: 2001/04/12 14:16:12 $Revision: r11
			ros/6 PATCH_11.00 (PHKL_23815)
	/usr/conf/lib/libhp-ux.a(klog.o):
		klog.c $Date: 2001/04/30 08:25:52 $Revision: r11ros/
			1 PATCH_11.00 (PHKL_24028)
	/usr/conf/lib/libhp-ux.a(subr_prf.o):
		subr_prf.c $Date: 2001/04/30 08:25:52 $Revision: r11
			ros/10 PATCH_11.00 (PHKL_24028)

cksum(1) Output:
	
	OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP:
	2131836692 6560 /usr/conf/lib/libhp-ux.a(iodc_llio.o)
	4285391017 15584 /usr/conf/lib/libhp-ux.a(iodc_prf.o)
	150155830 3364 /usr/conf/lib/libhp-ux.a(klog.o)
	2475561179 25028 /usr/conf/lib/libhp-ux.a(subr_prf.o)

	OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP:
	2470618818 26400 /usr/conf/lib/libhp-ux.a(iodc_llio.o)
	146125474 44752 /usr/conf/lib/libhp-ux.a(iodc_prf.o)
	3364600018 9064 /usr/conf/lib/libhp-ux.a(klog.o)
	1985119859 60736 /usr/conf/lib/libhp-ux.a(subr_prf.o)

Patch Conflicts: None

Patch Dependencies:
	s700: 11.00: PHKL_18543
	s800: 11.00: PHKL_18543

Hardware Dependencies: None

Other Dependencies:
	PHKL_23815:
	Two other patches work in conjuction with this patch
	to enable PA-8700 support. These other two patches are
	PHKL_23813 and PHKL_23814.

Supersedes:
	PHKL_23815 PHKL_22084 PHKL_21760 PHKL_20168

Equivalent Patches: None

Patch Package Size: 230 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_24028

	5. Run swinstall to install the patch:

		swinstall -x autoreboot=true -x patch_match_target=true \
			  -s /tmp/PHKL_24028.depot

	By default swinstall will archive the original software in 
	/var/adm/sw/save/PHKL_24028.  If you do not wish to retain a
	copy of the original software, include the patch_save_files
	option in the swinstall command above:

		-x patch_save_files=false

	WARNING: If patch_save_files is false when a patch is installed,
		 the patch cannot be deinstalled.  Please be careful
		 when using this feature.

	For future reference, the contents of the PHKL_24028.text file is 
	available in the product readme:

		swlist -l product -a readme -d @ /tmp/PHKL_24028.depot

	To put this patch on a magnetic tape and install from the
	tape drive, use the command:

		dd if=/tmp/PHKL_24028.depot of=/dev/rmt/0m bs=2k

Special Installation Instructions:
	This patch, PHKL_23815, is one of the three 11.00 PA-8700
	enablement patches. The other 11.00 PA-8700 enablement
	patches are PHKL_23813 & PHKL_23814. Installation of
	each patch individually will have not effect on the
	system.

	This patch depends on base patch PHKL_18543.
	For successful installation please insure that PHKL_18543
	is already installed, or that PHKL_18543 is included
	in the same depot with this patch and PHKL_18543
	is selected for installation.

