<div dir="ltr">An upgrade to 2.0.14 was recently posted on the list (and is now in poky-contrib:ross/mut), can you verify that this patch is still required with that release and rebase?<div><br></div><div>Ross</div></div><div class="gmail_extra"><br><div class="gmail_quote">On 3 January 2017 at 09:05, Haiqing Bai <span dir="ltr"><<a href="mailto:Haiqing.Bai@windriver.com" target="_blank">Haiqing.Bai@windriver.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">If LPAE is enabled, 3 level page table is used and the 'SECTION_SIZE'<br>
is (1<<21), so add_buffer_phys_virt() should align to (1 << 21).<br>
<br>
Signed-off-by: Haiqing Bai <<a href="mailto:Haiqing.Bai@windriver.com">Haiqing.Bai@windriver.com</a>><br>
---<br>
...-ARM-fix-add_buffer_phys_<wbr>virt-align-issue.patch | 52 ++++++++++++++++++++++<br>
meta/recipes-kernel/kexec/<a href="http://kexec-tools_2.0.12.bb" rel="noreferrer" target="_blank">kexe<wbr>c-tools_2.0.12.bb</a> | 1 +<br>
2 files changed, 53 insertions(+)<br>
create mode 100644 meta/recipes-kernel/kexec/<wbr>kexec-tools/kexec-ARM-fix-add_<wbr>buffer_phys_virt-align-issue.<wbr>patch<br>
<br>
diff --git a/meta/recipes-kernel/kexec/<wbr>kexec-tools/kexec-ARM-fix-add_<wbr>buffer_phys_virt-align-issue.<wbr>patch b/meta/recipes-kernel/kexec/<wbr>kexec-tools/kexec-ARM-fix-add_<wbr>buffer_phys_virt-align-issue.<wbr>patch<br>
new file mode 100644<br>
index 0000000..7d1f95e<br>
--- /dev/null<br>
+++ b/meta/recipes-kernel/kexec/<wbr>kexec-tools/kexec-ARM-fix-add_<wbr>buffer_phys_virt-align-issue.<wbr>patch<br>
@@ -0,0 +1,52 @@<br>
+From 380019f68e19ac863cf32dc7ff6784<wbr>e8fe1d751f Mon Sep 17 00:00:00 2001<br>
+From: Haiqing Bai <<a href="mailto:Haiqing.Bai@windriver.com">Haiqing.Bai@windriver.com</a>><br>
+Date: Mon, 19 Dec 2016 14:52:02 +0800<br>
+Subject: [PATCH] kexec: ARM: Fix add_buffer_phys_virt() align issue.<br>
+<br>
+When "CONFIG_ARM_LPAE" is enabled,3 level page table<br>
+is used by MMU, the "SECTION_SIZE" is defined with<br>
+(1 << 21), but 'add_buffer_phys_virt()' hardcode this<br>
+to (1 << 20).<br>
+<br>
+Upstream-Status: Pending<br>
+<br>
+<a href="mailto:Suggested-By%3Afredrik.markstrom@gmail.com">Suggested-By:fredrik.<wbr>markstrom@gmail.com</a><br>
+Signed-off-by: Haiqing Bai <<a href="mailto:Haiqing.Bai@windriver.com">Haiqing.Bai@windriver.com</a>><br>
+---<br>
+ kexec/arch/arm/crashdump-arm.c | 5 ++++-<br>
+ 1 file changed, 4 insertions(+), 1 deletion(-)<br>
+<br>
+diff --git a/kexec/arch/arm/crashdump-<wbr>arm.c b/kexec/arch/arm/crashdump-<wbr>arm.c<br>
+index 38a1401..e41b7fb 100644<br>
+--- a/kexec/arch/arm/crashdump-<wbr>arm.c<br>
++++ b/kexec/arch/arm/crashdump-<wbr>arm.c<br>
+@@ -271,6 +271,7 @@ int load_crashdump_segments(struct kexec_info *info, char *mod_cmdline)<br>
+ void *buf;<br>
+ int err;<br>
+ int last_ranges;<br>
++ unsigned short align_bit_shift = 20;<br>
+<br>
+ /*<br>
+ * First fetch all the memory (RAM) ranges that we are going to pass to<br>
+@@ -295,6 +296,7 @@ int load_crashdump_segments(struct kexec_info *info, char *mod_cmdline)<br>
+<br>
+ /* for support LPAE enabled kernel*/<br>
+ elf_info.class = ELFCLASS64;<br>
++ align_bit_shift = 21;<br>
+<br>
+ err = crash_create_elf64_headers(<wbr>info, &elf_info,<br>
+ usablemem_rgns.ranges,<br>
+@@ -315,8 +317,9 @@ int load_crashdump_segments(struct kexec_info *info, char *mod_cmdline)<br>
+ * 1MB) so that available memory passed in kernel command line will be<br>
+ * aligned to 1MB. This is because kernel create_mapping() wants memory<br>
+ * regions to be aligned to SECTION_SIZE.<br>
++ * The SECTION_SIZE of LPAE kernel is '1UL << 21' defined in pgtable-3level.h<br>
+ */<br>
+- elfcorehdr = add_buffer_phys_virt(info, buf, bufsz, bufsz, 1 << 20,<br>
++ elfcorehdr = add_buffer_phys_virt(info, buf, bufsz, bufsz, 1 << align_bit_shift,<br>
+ crash_reserved_mem.start,<br>
+ crash_reserved_mem.end, -1, 0);<br>
+<br>
+--<br>
+1.9.1<br>
+<br>
diff --git a/meta/recipes-kernel/kexec/<a href="http://kexec-tools_2.0.12.bb" rel="noreferrer" target="_blank">ke<wbr>xec-tools_2.0.12.bb</a> b/meta/recipes-kernel/kexec/<a href="http://kexec-tools_2.0.12.bb" rel="noreferrer" target="_blank">ke<wbr>xec-tools_2.0.12.bb</a><br>
index 59376c8..3e38923 100644<br>
--- a/meta/recipes-kernel/kexec/<a href="http://kexec-tools_2.0.12.bb" rel="noreferrer" target="_blank">ke<wbr>xec-tools_2.0.12.bb</a><br>
+++ b/meta/recipes-kernel/kexec/<a href="http://kexec-tools_2.0.12.bb" rel="noreferrer" target="_blank">ke<wbr>xec-tools_2.0.12.bb</a><br>
@@ -8,6 +8,7 @@ SRC_URI += " \<br>
file://0002-powerpc-change-<wbr>the-memory-size-limit.patch \<br>
file://0001-purgatory-Pass-r-<wbr>directly-to-linker.patch \<br>
file://0001-vmcore-dmesg-<wbr>Define-_GNU_SOURCE.patch \<br>
+ file://kexec-ARM-fix-add_<wbr>buffer_phys_virt-align-issue.<wbr>patch \<br>
"<br>
<br>
SRC_URI[md5sum] = "<wbr>10ddaae0e86af54407b164a1f5a39c<wbr>c3"<br>
<span class="HOEnZb"><font color="#888888">--<br>
1.9.1<br>
<br>
--<br>
______________________________<wbr>_________________<br>
Openembedded-core mailing list<br>
<a href="mailto:Openembedded-core@lists.openembedded.org">Openembedded-core@lists.<wbr>openembedded.org</a><br>
<a href="http://lists.openembedded.org/mailman/listinfo/openembedded-core" rel="noreferrer" target="_blank">http://lists.openembedded.org/<wbr>mailman/listinfo/openembedded-<wbr>core</a><br>
</font></span></blockquote></div><br></div>