[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240826065219.305963-1-kuan-ying.lee@canonical.com>
Date: Mon, 26 Aug 2024 14:52:02 +0800
From: Kuan-Ying Lee <kuan-ying.lee@...onical.com>
To: kuan-ying.lee@...onical.com,
Baoquan He <bhe@...hat.com>,
Vivek Goyal <vgoyal@...hat.com>,
Dave Young <dyoung@...hat.com>,
Jonathan Corbet <corbet@....net>,
Catalin Marinas <catalin.marinas@....com>,
Will Deacon <will@...nel.org>
Cc: kexec@...ts.infradead.org,
linux-doc@...r.kernel.org,
linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org
Subject: [PATCH] arm64/vmcore: Add pgtable_l5_enabled information in vmcoreinfo
Since arm64 supports 5-level page tables, we need to add this
information to vmcoreinfo to make debug tools know if 5-level
page table is enabled or not.
Missing this information will break the debug tool like crash [1].
[1] https://github.com/crash-utility/crash
Signed-off-by: Kuan-Ying Lee <kuan-ying.lee@...onical.com>
---
Documentation/admin-guide/kdump/vmcoreinfo.rst | 6 ++++++
arch/arm64/kernel/vmcore_info.c | 3 +++
2 files changed, 9 insertions(+)
diff --git a/Documentation/admin-guide/kdump/vmcoreinfo.rst b/Documentation/admin-guide/kdump/vmcoreinfo.rst
index 0f714fc945ac..557a1cbe5098 100644
--- a/Documentation/admin-guide/kdump/vmcoreinfo.rst
+++ b/Documentation/admin-guide/kdump/vmcoreinfo.rst
@@ -466,6 +466,12 @@ Used to get the correct ranges:
VMALLOC_START ~ VMALLOC_END-1 : vmalloc() / ioremap() space.
VMEMMAP_START ~ VMEMMAP_END-1 : vmemmap region, used for struct page array.
+pgtable_l5_enabled
+------------------
+
+User-space tools need to know whether the crash kernel was in 5-level
+paging mode.
+
arm
===
diff --git a/arch/arm64/kernel/vmcore_info.c b/arch/arm64/kernel/vmcore_info.c
index b19d5d6cb8b3..be65d664bdb7 100644
--- a/arch/arm64/kernel/vmcore_info.c
+++ b/arch/arm64/kernel/vmcore_info.c
@@ -7,6 +7,7 @@
#include <linux/vmcore_info.h>
#include <asm/cpufeature.h>
#include <asm/memory.h>
+#include <asm/pgtable.h>
#include <asm/pgtable-hwdef.h>
#include <asm/pointer_auth.h>
@@ -36,4 +37,6 @@ void arch_crash_save_vmcoreinfo(void)
vmcoreinfo_append_str("NUMBER(KERNELPACMASK)=0x%llx\n",
system_supports_address_auth() ?
ptrauth_kernel_pac_mask() : 0);
+ vmcoreinfo_append_str("NUMBER(pgtable_l5_enabled)=%d\n",
+ pgtable_l5_enabled());
}
--
2.43.0
Powered by blists - more mailing lists