From patchwork Tue Jun 7 10:34:10 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Bader X-Patchwork-Id: 631438 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) by ozlabs.org (Postfix) with ESMTP id 3rP7Gl1L3Nz9s3T; Tue, 7 Jun 2016 20:34:23 +1000 (AEST) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.76) (envelope-from ) id 1bAEKu-00063H-Ma; Tue, 07 Jun 2016 10:34:16 +0000 Received: from youngberry.canonical.com ([91.189.89.112]) by huckleberry.canonical.com with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.76) (envelope-from ) id 1bAEKq-000634-Ag for kernel-team@lists.ubuntu.com; Tue, 07 Jun 2016 10:34:12 +0000 Received: from 1.general.smb.uk.vpn ([10.172.193.28] helo=canonical.com) by youngberry.canonical.com with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.76) (envelope-from ) id 1bAEKq-0004os-0D for kernel-team@lists.ubuntu.com; Tue, 07 Jun 2016 10:34:12 +0000 From: Stefan Bader To: kernel-team@lists.ubuntu.com Subject: [Trusty SRU] Fix boot regression on ppc64el Date: Tue, 7 Jun 2016 12:34:10 +0200 Message-Id: <1465295650-8523-1-git-send-email-stefan.bader@canonical.com> X-Mailer: git-send-email 1.9.1 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.14 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: kernel-team-bounces@lists.ubuntu.com Trusty kernels fail to boot since 3.13.0-46 which we unfortunately missed to notice. The following patch was tested on modoc and with it applied I could boot a recent 3.13 again. -Stefan From b8df8969362843787d357b09d49de38111790fb2 Mon Sep 17 00:00:00 2001 From: Stefan Bader Date: Mon, 6 Jun 2016 18:22:40 +0200 Subject: [PATCH] powerpc/powernv: Fix incomplete backport of 8117ac6 The backport of commit 8117ac6 upstream powerpc/powernv: Switch off MMU before entering nap/sleep/rvwinkle mode missed some subtle change in the way a global label was declared which will load the address of a symbol table instead of the function address into a register and then uses that as a jump target. However this requires one more adaptions due to the fact that the _GLOBAL macro depending on config expands into a special combination of symbol name and dot symbol name. And the dot symbol name is referred to from arch/powerpc/kernel/exceptions-64s.S. Many of those dot symbol references where removed (likely before 8117ac6) in commit b1576fec7f4dd4657694fefc97fda4cf28ec68e9 Author: Anton Blanchard powerpc: No need to use dot symbols when branching to a function So I remove the dot reference for that one instance as removing the _GLOBAL macro also removes the implicit dot name and only leaves a simple jump label. BugLink: http://bugs.launchpad.net/bugs/1589910 Signed-off-by: Stefan Bader --- arch/powerpc/kernel/exceptions-64s.S | 2 +- arch/powerpc/kernel/idle_power7.S | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S index 4c34c3c..a113575 100644 --- a/arch/powerpc/kernel/exceptions-64s.S +++ b/arch/powerpc/kernel/exceptions-64s.S @@ -1414,7 +1414,7 @@ machine_check_handle_early: MACHINE_CHECK_HANDLER_WINDUP GET_PACA(r13) ld r1,PACAR1(r13) - b .power7_enter_nap_mode + b power7_enter_nap_mode 4: #endif /* diff --git a/arch/powerpc/kernel/idle_power7.S b/arch/powerpc/kernel/idle_power7.S index e435445..6140e71 100644 --- a/arch/powerpc/kernel/idle_power7.S +++ b/arch/powerpc/kernel/idle_power7.S @@ -99,7 +99,8 @@ _GLOBAL(power7_nap) mtspr SPRN_SRR1, r5 rfid -_GLOBAL(power7_enter_nap_mode) + .globl power7_enter_nap_mode +power7_enter_nap_mode: #ifdef CONFIG_KVM_BOOK3S_HV_POSSIBLE /* Tell KVM we're napping */ li r4,KVM_HWTHREAD_IN_NAP