Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > 89877e42827f16fa5f86b1df0c2860b1 > files > 1787

kernel-2.6.18-128.1.10.el5.src.rpm

From: "Janice M. Girouard" <jgirouar@redhat.com>
Subject: [RHEL 5.0 PPC PATCH] RHBZ# 216972: LTC29004-RHEL5 illegal instruction  errors during install on P6
Date: Tue, 28 Nov 2006 09:27:42 -0500 (Eastern Standard Time)
Bugzilla: 216972
Message-Id: <Pine.WNT.4.64.0611280925300.4760@IBM-3MTQI3AXJFW>
Changelog: power6: illegal instruction errors during install



RHBZ#:
------
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=216972

Description:
------------
RHEL5 Milestone 8 (1027 build) contains power6-optimized glibc libraries 
which fail in compatibility/architected mode, the default mode for LPARS 
on power6. These libraries result in illegal instruction errors in 64-bit 
applications.

When booting a Power6 in compat mode, the DFP bit must be set in the 
client architecture call, or else firmware will downgrade the compliance to 
P5 compat mode, thus removing VMX and DFP instructions.

RHEL Version Found:
-------------------
RHLE5 Milestone 8.

Upstream Status:
----------------
This is already in the powerpc.git tree.   See:
http://ozlabs.org/pipermail/linuxppc-dev/2006-November/028535.html

Test Status:
------------
Tested by Jake Moilanen at IBM and builds cleanly against 
kernel-2.6.18-1.2747.el5.


Proposed Patch:
----------------
Index: latest/arch/powerpc/kernel/prom_init.c
===================================================================
--- latest.orig/arch/powerpc/kernel/prom_init.c
+++ latest/arch/powerpc/kernel/prom_init.c
@@ -627,6 +627,7 @@ static void __init early_cmdline_parse(v
 /* Option vector 3: processor options supported */
 #define OV3_FP			0x80	/* floating point */
 #define OV3_VMX			0x40	/* VMX/Altivec */
+#define OV3_DFP			0x20	/* decimal floating point */
 
 /* Option vector 5: PAPR/OF options supported */
 #define OV5_LPAR		0x80	/* logical partitioning supported */
@@ -668,7 +669,7 @@ static unsigned char ibm_architecture_ve
 	/* option vector 3: processor options supported */
 	3 - 2,				/* length */
 	0,				/* don't ignore, don't halt */
-	OV3_FP | OV3_VMX,
+	OV3_FP | OV3_VMX | OV3_DFP,
 
 	/* option vector 4: IBM PAPR implementation */
 	2 - 2,				/* length */