Re: [PATCH v7 3/4] arm64: Make use of memblock_isolate_memory for the linear mapping

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Andrew,

On 3/13/23 10:43, Andrew Jones wrote:
On Fri, Mar 10, 2023 at 10:45:38AM +0100, Alexandre Ghiti wrote:
In order to isolate the kernel text mapping, we used some sort of hack
to isolate the kernel text range which consisted in marking this region
as not mappable with memblock_mark_nomap. Simply use the newly introduced
memblock_isolate_memory function which does exactly the same but does not
uselessly mark the region as not mappable.

Signed-off-by: Alexandre Ghiti <alexghiti@xxxxxxxxxxxx>
---
  arch/arm64/mm/mmu.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c
index 6f9d8898a025..408dc852805c 100644
--- a/arch/arm64/mm/mmu.c
+++ b/arch/arm64/mm/mmu.c
@@ -552,7 +552,7 @@ static void __init map_mem(pgd_t *pgdp)
  	 * So temporarily mark them as NOMAP to skip mappings in
  	 * the following for-loop
  	 */
The comment above doesn't apply anymore.


Yep, noticed this one after sending, thanks anyway!



-	memblock_mark_nomap(kernel_start, kernel_end - kernel_start);
+	memblock_isolate_memory(kernel_start, kernel_end - kernel_start);
#ifdef CONFIG_KEXEC_CORE
  	if (crash_mem_map) {
@@ -568,6 +568,7 @@ static void __init map_mem(pgd_t *pgdp)
  	for_each_mem_range(i, &start, &end) {
  		if (start >= end)
  			break;
+
Mark nomap is also used for the crash kernel. Does the new API not work
for it?


Seems you're right, I missed it.

Thanks,

Alex



Thanks,
drew

  		/*
  		 * The linear map must allow allocation tags reading/writing
  		 * if MTE is present. Otherwise, it has the same attributes as
@@ -589,7 +590,6 @@ static void __init map_mem(pgd_t *pgdp)
  	 */
  	__map_memblock(pgdp, kernel_start, kernel_end,
  		       PAGE_KERNEL, NO_CONT_MAPPINGS);
-	memblock_clear_nomap(kernel_start, kernel_end - kernel_start);
/*
  	 * Use page-level mappings here so that we can shrink the region
--
2.37.2


_______________________________________________
linux-riscv mailing list
linux-riscv@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/linux-riscv
_______________________________________________
linux-riscv mailing list
linux-riscv@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/linux-riscv




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux