From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D4B60C00140 for ; Fri, 12 Aug 2022 18:37:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:From:Subject:Mime-Version: Message-Id:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To: References:List-Owner; bh=as/eEMQVkxiB5qRtdGn9mPVaBfd2RovJkdHlW8Mn1aw=; b=OKI L/Nh2Sw3h6y/nddchnemFOVI+fnfzhegHt0x+VK9FleUGojSs5rZGuD/OtOVlbR+bHpHsBpqMcp9r CiXOnihTXshArmwe+HM4Tv/DHQfUbYth5CeafS1ZJU87bjoXJCOIstGOO7R8d+eZtvDMyIP9ETb9f B8uwO8W4PvFIwax5wvuRHO+VsAsTr16hwJOtStKWuIhhY7iAjjxPwiufRIrOQlknJdfoieL5G9FIM lO5eIWqW09Txh3/R2u6is7RNOh/OWn23DtSjJvdWOGObwvNCHY8Pq/f9hAE2NEIVISj8xwsoEojkL yJA5fnc4tYx6kcyCaxDy3XVb8k0qBIg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oMZVX-00C8eL-2O; Fri, 12 Aug 2022 18:35:43 +0000 Received: from mail-yw1-x114a.google.com ([2607:f8b0:4864:20::114a]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oMZVT-00C8a1-6V for linux-arm-kernel@lists.infradead.org; Fri, 12 Aug 2022 18:35:40 +0000 Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-329dc6c0d21so13512877b3.16 for ; Fri, 12 Aug 2022 11:35:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:mime-version:message-id:date:from:to:cc; bh=UlTdzT2bx0chOWv9FqUt/dE8vlZ3og2Lke/cZeyX+qs=; b=koXLHaKUzQkEYo2iYmqdTgJu30nqzbtSY1D0ksWnP0AuVZ9RJ4GJuTiQgWczVB8gQI jbhxQfT2C07uF2ZqgFvYiYlJ1AKRT/nL0i8toy8B85i8F7RyKq3dTqVXv7lS0UmIo3FA Iwb/tD0NIgHbLDkKTqBJrWtnkEyKe0TUVr+lb8bowzpxtgR4vOpZH7KmQEHJzmFYbF3U ywWEz7ar+CDnSHRFWMJmKnnjn2wdJ745WMqIJ2FKJRXej1F3rNoYkd8W07cT2Pb7Axlc H+p3Ibqt14f0+2Y6scf+OLYFRmWk81JplNpzlwk4q86b9GF3Hk93sMvPFUn+rH6Mb625 o8XA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:mime-version:message-id:date:x-gm-message-state :from:to:cc; bh=UlTdzT2bx0chOWv9FqUt/dE8vlZ3og2Lke/cZeyX+qs=; b=xgV2DIIzDZZAZeohaZKgAvrZtlldez/KqdBleE9NQaVieafuZ2f90HfHxVeKd7dB72 yd9IdLfLRvIkOc1h1R8q6X+xTDG4ib2Z5Na+rLRGZ3+aJAGAahVlN+h4BK01s1hyQ15k YWKujKtm3cTYYI1IdrGV2IRWIB/0p5H1IRbigsxznXoBktK/+dPmb+hcoxDA1/zKIHhj 9kwlUaVd81JngM7bLyzj0s2ZDAWTJ02GlBo/emByp+7rx2gb282H6ZG5itkq/+Uxpjsu i9pDOwAqcZKJRFMTiCaGgzWdom2EOyv7m2se5WtkNUfM/5wCJAi4igaSdKK58Amw+cFw +Bpw== X-Gm-Message-State: ACgBeo0BvGB/YMqeELaF8ILqyuiZFdmWDDNA7PjoO6sfSz21uu0Tz/T+ JPlj2FqYei7n1G6MpEUfTjYwQMo= X-Google-Smtp-Source: AA6agR7nxZI/yeeTAOnlyrib2eDoMEH/VyQGZLdJYeS5XToyz/0tiarZnE/XVGpKxyxZeXAm8YViKaU= X-Received: from pcc-desktop.svl.corp.google.com ([2620:15c:2ce:200:def9:ef59:f5b5:f65b]) (user=pcc job=sendgmr) by 2002:a81:4ccf:0:b0:32f:cccf:cef7 with SMTP id z198-20020a814ccf000000b0032fcccfcef7mr1479908ywa.191.1660329335377; Fri, 12 Aug 2022 11:35:35 -0700 (PDT) Date: Fri, 12 Aug 2022 11:35:30 -0700 Message-Id: <20220812183530.2261795-1-pcc@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.37.1.595.g718a3a8f04-goog Subject: [PATCH] arm64: translate register values to physical addresses in kernel panics From: Peter Collingbourne To: Catalin Marinas , Will Deacon , Mark Brown , Mark Rutland Cc: Peter Collingbourne , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220812_113539_275009_0C8A7E00 X-CRM114-Status: GOOD ( 14.74 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org When debugging a kernel panic it is sometimes useful to know the physical address of any virtual addresses stored in registers. Therefore, pass all register values through AT S1E1R and print the resulting PAR_EL1 value next to the register. Signed-off-by: Peter Collingbourne Link: https://linux-review.googlesource.com/id/I7c6be65f27052da57088ff58b463fdbe2394f43c --- Not sure if this should land in this form (I imagine there could be all kinds of parsers that are expecting the existing format) but maybe behind an option. Let me know what you think. arch/arm64/kernel/process.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c index 92bcc1768f0b..8b5f8c2c8abf 100644 --- a/arch/arm64/kernel/process.c +++ b/arch/arm64/kernel/process.c @@ -197,6 +197,18 @@ static void print_pstate(struct pt_regs *regs) } } +static unsigned long at(unsigned long addr) +{ + unsigned long pa; + + __asm__ __volatile__("at s1e1r, %1\n" + "mrs %0, par_el1\n" + : "=r"(pa) + : "r"(addr) + : "memory"); + return pa; +} + void __show_regs(struct pt_regs *regs) { int i, top_reg; @@ -231,10 +243,10 @@ void __show_regs(struct pt_regs *regs) i = top_reg; while (i >= 0) { - printk("x%-2d: %016llx", i, regs->regs[i]); + printk("x%-2d: %016llx (%016llx)", i, regs->regs[i], at(regs->regs[i])); while (i-- % 3) - pr_cont(" x%-2d: %016llx", i, regs->regs[i]); + pr_cont(" x%-2d: %016llx (%016llx)", i, regs->regs[i], at(regs->regs[i])); pr_cont("\n"); } -- 2.37.1.595.g718a3a8f04-goog _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel