From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mahesh J Salgaonkar Date: Thu, 14 Jan 2016 03:26:58 +0000 Subject: [PATCH 1/3] Powernv: Remove the usage of PACAR1 from opal wrappers Message-Id: <20160114031457.1287.32132.stgit@mars> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linuxppc-dev , Paul Mackerras , Michael Ellerman Cc: KVM , KVM-PPC From: Mahesh Salgaonkar OPAL_CALL wrapper code sticks the r1 (stack pointer) into PACAR1 purely for debugging purpose only. The power7_wakeup* functions relies on stack pointer saved in PACAR1. Any opal call made using opal wrapper (directly or in-directly) before we fall through power7_wakeup*, then it ends up replacing r1 in PACAR1(r13) leading to kernel panic. So far we don't see any issues because we have never made any opal calls using OPAL wrapper before power7_wakeup*. But the subsequent HMI patch would need to invoke C calls during cpu wakeup/idle path that in-directly makes opal call using opal wrapper. This patch facilitates the subsequent HMI patch by removing usage of PACAR1 from opal call wrapper. Signed-off-by: Mahesh Salgaonkar --- arch/powerpc/platforms/powernv/opal-wrappers.S | 2 -- 1 file changed, 2 deletions(-) diff --git a/arch/powerpc/platforms/powernv/opal-wrappers.S b/arch/powerpc/platforms/powernv/opal-wrappers.S index b7a464f..62fe496 100644 --- a/arch/powerpc/platforms/powernv/opal-wrappers.S +++ b/arch/powerpc/platforms/powernv/opal-wrappers.S @@ -64,7 +64,6 @@ END_FTR_SECTION(0, 1); \ OPAL_BRANCH(opal_tracepoint_entry) \ mfcr r12; \ stw r12,8(r1); \ - std r1,PACAR1(r13); \ li r11,0; \ mfmsr r12; \ ori r11,r11,MSR_EE; \ @@ -127,7 +126,6 @@ opal_tracepoint_entry: mfcr r12 std r11,16(r1) stw r12,8(r1) - std r1,PACAR1(r13) li r11,0 mfmsr r12 ori r11,r11,MSR_EE From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ozlabs.org (ozlabs.org [IPv6:2401:3900:2:1::2]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 7D41A1A0C9A for ; Thu, 14 Jan 2016 14:15:04 +1100 (AEDT) Received: from e28smtp07.in.ibm.com (e28smtp07.in.ibm.com [125.16.236.7]) (using TLSv1 with cipher CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id C6841140180 for ; Thu, 14 Jan 2016 14:15:03 +1100 (AEDT) Received: from localhost by e28smtp07.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 14 Jan 2016 08:45:01 +0530 Received: from d28av04.in.ibm.com (d28av04.in.ibm.com [9.184.220.66]) by d28relay01.in.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id u0E3ExWx12059126 for ; Thu, 14 Jan 2016 08:44:59 +0530 Received: from d28av04.in.ibm.com (localhost [127.0.0.1]) by d28av04.in.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id u0E3Ewid032397 for ; Thu, 14 Jan 2016 08:44:59 +0530 Subject: [PATCH 1/3] Powernv: Remove the usage of PACAR1 from opal wrappers From: Mahesh J Salgaonkar To: linuxppc-dev , Paul Mackerras , Michael Ellerman Cc: KVM-PPC , KVM Date: Thu, 14 Jan 2016 08:44:58 +0530 Message-ID: <20160114031457.1287.32132.stgit@mars> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Mahesh Salgaonkar OPAL_CALL wrapper code sticks the r1 (stack pointer) into PACAR1 purely for debugging purpose only. The power7_wakeup* functions relies on stack pointer saved in PACAR1. Any opal call made using opal wrapper (directly or in-directly) before we fall through power7_wakeup*, then it ends up replacing r1 in PACAR1(r13) leading to kernel panic. So far we don't see any issues because we have never made any opal calls using OPAL wrapper before power7_wakeup*. But the subsequent HMI patch would need to invoke C calls during cpu wakeup/idle path that in-directly makes opal call using opal wrapper. This patch facilitates the subsequent HMI patch by removing usage of PACAR1 from opal call wrapper. Signed-off-by: Mahesh Salgaonkar --- arch/powerpc/platforms/powernv/opal-wrappers.S | 2 -- 1 file changed, 2 deletions(-) diff --git a/arch/powerpc/platforms/powernv/opal-wrappers.S b/arch/powerpc/platforms/powernv/opal-wrappers.S index b7a464f..62fe496 100644 --- a/arch/powerpc/platforms/powernv/opal-wrappers.S +++ b/arch/powerpc/platforms/powernv/opal-wrappers.S @@ -64,7 +64,6 @@ END_FTR_SECTION(0, 1); \ OPAL_BRANCH(opal_tracepoint_entry) \ mfcr r12; \ stw r12,8(r1); \ - std r1,PACAR1(r13); \ li r11,0; \ mfmsr r12; \ ori r11,r11,MSR_EE; \ @@ -127,7 +126,6 @@ opal_tracepoint_entry: mfcr r12 std r11,16(r1) stw r12,8(r1) - std r1,PACAR1(r13) li r11,0 mfmsr r12 ori r11,r11,MSR_EE From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mahesh J Salgaonkar Subject: [PATCH 1/3] Powernv: Remove the usage of PACAR1 from opal wrappers Date: Thu, 14 Jan 2016 08:44:58 +0530 Message-ID: <20160114031457.1287.32132.stgit@mars> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: KVM , KVM-PPC To: linuxppc-dev , Paul Mackerras , Michael Ellerman Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linuxppc-dev-bounces+glppe-linuxppc-embedded-2=m.gmane.org@lists.ozlabs.org Sender: "Linuxppc-dev" List-Id: kvm.vger.kernel.org RnJvbTogTWFoZXNoIFNhbGdhb25rYXIgPG1haGVzaEBsaW51eC52bmV0LmlibS5jb20+CgpPUEFM X0NBTEwgd3JhcHBlciBjb2RlIHN0aWNrcyB0aGUgcjEgKHN0YWNrIHBvaW50ZXIpIGludG8gUEFD QVIxIHB1cmVseQpmb3IgZGVidWdnaW5nIHB1cnBvc2Ugb25seS4gVGhlIHBvd2VyN193YWtldXAq IGZ1bmN0aW9ucyByZWxpZXMgb24gc3RhY2sKcG9pbnRlciBzYXZlZCBpbiBQQUNBUjEuIEFueSBv cGFsIGNhbGwgbWFkZSB1c2luZyBvcGFsIHdyYXBwZXIgKGRpcmVjdGx5Cm9yIGluLWRpcmVjdGx5 KSBiZWZvcmUgd2UgZmFsbCB0aHJvdWdoIHBvd2VyN193YWtldXAqLCB0aGVuIGl0IGVuZHMgdXAK cmVwbGFjaW5nIHIxIGluIFBBQ0FSMShyMTMpIGxlYWRpbmcgdG8ga2VybmVsIHBhbmljLiBTbyBm YXIgd2UgZG9uJ3Qgc2VlCmFueSBpc3N1ZXMgYmVjYXVzZSB3ZSBoYXZlIG5ldmVyIG1hZGUgYW55 IG9wYWwgY2FsbHMgdXNpbmcgT1BBTCB3cmFwcGVyCmJlZm9yZSBwb3dlcjdfd2FrZXVwKi4gQnV0 IHRoZSBzdWJzZXF1ZW50IEhNSSBwYXRjaCB3b3VsZCBuZWVkIHRvIGludm9rZQpDIGNhbGxzIGR1 cmluZyBjcHUgd2FrZXVwL2lkbGUgcGF0aCB0aGF0IGluLWRpcmVjdGx5IG1ha2VzIG9wYWwgY2Fs bCB1c2luZwpvcGFsIHdyYXBwZXIuIFRoaXMgcGF0Y2ggZmFjaWxpdGF0ZXMgdGhlIHN1YnNlcXVl bnQgSE1JIHBhdGNoIGJ5IHJlbW92aW5nCnVzYWdlIG9mIFBBQ0FSMSBmcm9tIG9wYWwgY2FsbCB3 cmFwcGVyLgoKU2lnbmVkLW9mZi1ieTogTWFoZXNoIFNhbGdhb25rYXIgPG1haGVzaEBsaW51eC52 bmV0LmlibS5jb20+Ci0tLQogYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy9wb3dlcm52L29wYWwtd3Jh cHBlcnMuUyB8ICAgIDIgLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvcG93ZXJudi9vcGFsLXdyYXBwZXJzLlMgYi9h cmNoL3Bvd2VycGMvcGxhdGZvcm1zL3Bvd2VybnYvb3BhbC13cmFwcGVycy5TCmluZGV4IGI3YTQ2 NGYuLjYyZmU0OTYgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvcG93ZXJudi9v cGFsLXdyYXBwZXJzLlMKKysrIGIvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy9wb3dlcm52L29wYWwt d3JhcHBlcnMuUwpAQCAtNjQsNyArNjQsNiBAQCBFTkRfRlRSX1NFQ1RJT04oMCwgMSk7CQkJCQkJ XAogCU9QQUxfQlJBTkNIKG9wYWxfdHJhY2Vwb2ludF9lbnRyeSkgXAogCW1mY3IJcjEyOwkJCVwK IAlzdHcJcjEyLDgocjEpOwkJXAotCXN0ZAlyMSxQQUNBUjEocjEzKTsJCVwKIAlsaQlyMTEsMDsJ CQlcCiAJbWZtc3IJcjEyOwkJCVwKIAlvcmkJcjExLHIxMSxNU1JfRUU7CQlcCkBAIC0xMjcsNyAr MTI2LDYgQEAgb3BhbF90cmFjZXBvaW50X2VudHJ5OgogCW1mY3IJcjEyCiAJc3RkCXIxMSwxNihy MSkKIAlzdHcJcjEyLDgocjEpCi0Jc3RkCXIxLFBBQ0FSMShyMTMpCiAJbGkJcjExLDAKIAltZm1z cglyMTIKIAlvcmkJcjExLHIxMSxNU1JfRUUKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkxpbnV4cHBjLWRldiBtYWlsaW5nIGxpc3QKTGludXhwcGMtZGV2 QGxpc3RzLm96bGFicy5vcmcKaHR0cHM6Ly9saXN0cy5vemxhYnMub3JnL2xpc3RpbmZvL2xpbnV4 cHBjLWRldg==