ok,  I have sent the new patch for 2.0.14. Thanks

From: Burton, Ross [mailto:ross.bur...@intel.com]
Sent: 2017年1月6日 22:32
To: Bai, Haiqing
Cc: OE-core
Subject: Re: [OE-core] [PATCH] kexec: ARM: fix align issue of 
add_buffer_phys_virt() for LPAE kernel.

Can you rebase and resent the patch please then?

Cheers,
Ross

On 6 January 2017 at 02:40, Bai, Haiqing (Wind River) 
<haiqing....@windriver.com<mailto:haiqing....@windriver.com>> wrote:
Hi, Ross:

      I clone the branch (poky-contrib:ross/mut) and did’t find the fix in 
2.0.14,  so this fix is still required.  Thanks

B,R
Haiqing Bai
From: Burton, Ross [mailto:ross.bur...@intel.com<mailto:ross.bur...@intel.com>]
Sent: 2017年1月4日 22:32
To: Bai, Haiqing
Cc: OE-core
Subject: Re: [OE-core] [PATCH] kexec: ARM: fix align issue of 
add_buffer_phys_virt() for LPAE kernel.

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?

Ross

On 3 January 2017 at 09:05, Haiqing Bai 
<haiqing....@windriver.com<mailto:haiqing....@windriver.com>> wrote:
If LPAE is enabled, 3 level page table is used and the 'SECTION_SIZE'
is (1<<21), so add_buffer_phys_virt() should align to (1 << 21).

Signed-off-by: Haiqing Bai 
<haiqing....@windriver.com<mailto:haiqing....@windriver.com>>
---
 ...-ARM-fix-add_buffer_phys_virt-align-issue.patch | 52 ++++++++++++++++++++++
 meta/recipes-kernel/kexec/kexec-tools_2.0.12.bb<http://kexec-tools_2.0.12.bb>  
  |  1 +
 2 files changed, 53 insertions(+)
 create mode 100644 
meta/recipes-kernel/kexec/kexec-tools/kexec-ARM-fix-add_buffer_phys_virt-align-issue.patch

diff --git 
a/meta/recipes-kernel/kexec/kexec-tools/kexec-ARM-fix-add_buffer_phys_virt-align-issue.patch
 
b/meta/recipes-kernel/kexec/kexec-tools/kexec-ARM-fix-add_buffer_phys_virt-align-issue.patch
new file mode 100644
index 0000000..7d1f95e
--- /dev/null
+++ 
b/meta/recipes-kernel/kexec/kexec-tools/kexec-ARM-fix-add_buffer_phys_virt-align-issue.patch
@@ -0,0 +1,52 @@
+From 380019f68e19ac863cf32dc7ff6784e8fe1d751f Mon Sep 17 00:00:00 2001
+From: Haiqing Bai <haiqing....@windriver.com<mailto:haiqing....@windriver.com>>
+Date: Mon, 19 Dec 2016 14:52:02 +0800
+Subject: [PATCH] kexec: ARM: Fix add_buffer_phys_virt() align issue.
+
+When "CONFIG_ARM_LPAE" is enabled,3 level page table
+is used by MMU, the "SECTION_SIZE" is defined with
+(1 << 21), but 'add_buffer_phys_virt()' hardcode this
+to (1 << 20).
+
+Upstream-Status: Pending
+
+Suggested-By:fredrik.markst...@gmail.com<mailto:suggested-by%3afredrik.markst...@gmail.com>
+Signed-off-by: Haiqing Bai 
<haiqing....@windriver.com<mailto:haiqing....@windriver.com>>
+---
+ kexec/arch/arm/crashdump-arm.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/kexec/arch/arm/crashdump-arm.c b/kexec/arch/arm/crashdump-arm.c
+index 38a1401..e41b7fb 100644
+--- a/kexec/arch/arm/crashdump-arm.c
++++ b/kexec/arch/arm/crashdump-arm.c
+@@ -271,6 +271,7 @@ int load_crashdump_segments(struct kexec_info *info, char 
*mod_cmdline)
+       void *buf;
+       int err;
+       int last_ranges;
++      unsigned short align_bit_shift = 20;
+
+       /*
+        * First fetch all the memory (RAM) ranges that we are going to pass to
+@@ -295,6 +296,7 @@ int load_crashdump_segments(struct kexec_info *info, char 
*mod_cmdline)
+
+               /* for support LPAE enabled kernel*/
+               elf_info.class = ELFCLASS64;
++              align_bit_shift = 21;
+
+               err = crash_create_elf64_headers(info, &elf_info,
+                                        usablemem_rgns.ranges,
+@@ -315,8 +317,9 @@ int load_crashdump_segments(struct kexec_info *info, char 
*mod_cmdline)
+        * 1MB) so that available memory passed in kernel command line will be
+        * aligned to 1MB. This is because kernel create_mapping() wants memory
+        * regions to be aligned to SECTION_SIZE.
++         * The SECTION_SIZE of LPAE kernel is '1UL << 21' defined in 
pgtable-3level.h
+        */
+-      elfcorehdr = add_buffer_phys_virt(info, buf, bufsz, bufsz, 1 << 20,
++      elfcorehdr = add_buffer_phys_virt(info, buf, bufsz, bufsz, 1 << 
align_bit_shift,
+                                         crash_reserved_mem.start,
+                                         crash_reserved_mem.end, -1, 0);
+
+--
+1.9.1
+
diff --git 
a/meta/recipes-kernel/kexec/kexec-tools_2.0.12.bb<http://kexec-tools_2.0.12.bb> 
b/meta/recipes-kernel/kexec/kexec-tools_2.0.12.bb<http://kexec-tools_2.0.12.bb>
index 59376c8..3e38923 100644
--- 
a/meta/recipes-kernel/kexec/kexec-tools_2.0.12.bb<http://kexec-tools_2.0.12.bb>
+++ 
b/meta/recipes-kernel/kexec/kexec-tools_2.0.12.bb<http://kexec-tools_2.0.12.bb>
@@ -8,6 +8,7 @@ SRC_URI += " \
             
file://0002-powerpc-change-the-memory-size-limit.patch<file:///\\0002-powerpc-change-the-memory-size-limit.patch>
 \
             
file://0001-purgatory-Pass-r-directly-to-linker.patch<file:///\\0001-purgatory-Pass-r-directly-to-linker.patch>
 \
             
file://0001-vmcore-dmesg-Define-_GNU_SOURCE.patch<file:///\\0001-vmcore-dmesg-Define-_GNU_SOURCE.patch>
 \
+            
file://kexec-ARM-fix-add_buffer_phys_virt-align-issue.patch<file:///\\kexec-ARM-fix-add_buffer_phys_virt-align-issue.patch>
 \
          "

 SRC_URI[md5sum] = "10ddaae0e86af54407b164a1f5a39cc3"
--
1.9.1

--
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org<mailto:Openembedded-core@lists.openembedded.org>
http://lists.openembedded.org/mailman/listinfo/openembedded-core


-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to