mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* linux-next: manual merge of the risc-v tree with the risc-v-fixes tree
@ 2023-04-20 12:40 broonie
  2023-04-20 13:23 ` Alexandre Ghiti
  0 siblings, 1 reply; 9+ messages in thread
From: broonie @ 2023-04-20 12:40 UTC (permalink / raw)
  To: Palmer Dabbelt, Paul Walmsley
  Cc: Alexandre Ghiti, Linux Kernel Mailing List,
	Linux Next Mailing List, Palmer Dabbelt

Hi all,

Today's linux-next merge of the risc-v tree got a conflict in:

  arch/riscv/mm/init.c

between commit:

  ef69d2559fe91 ("riscv: Move early dtb mapping into the fixmap region")

from the risc-v-fixes tree and commits:

  8589e346bbb67 ("riscv: Move the linear mapping creation in its own function")
  3335068f87217 ("riscv: Use PUD/P4D/PGD pages for the linear mapping")

from the risc-v tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging.  You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

diff --cc arch/riscv/mm/init.c
index 0f14f4a8d179a,7bd66795165da..0000000000000
--- a/arch/riscv/mm/init.c
+++ b/arch/riscv/mm/init.c
@@@ -1070,26 -1112,36 +1092,47 @@@ asmlinkage void __init setup_vm(uintptr
  	pt_ops_set_fixmap();
  }
  
- static void __init setup_vm_final(void)
+ static void __init create_linear_mapping_range(phys_addr_t start,
+ 					       phys_addr_t end)
  {
+ 	phys_addr_t pa;
  	uintptr_t va, map_size;
- 	phys_addr_t pa, start, end;
- 	u64 i;
  
- 	/* Setup swapper PGD for fixmap */
 +#if !defined(CONFIG_64BIT)
 +	/*
 +	 * In 32-bit, the device tree lies in a pgd entry, so it must be copied
 +	 * directly in swapper_pg_dir in addition to the pgd entry that points
 +	 * to fixmap_pte.
 +	 */
 +	unsigned long idx = pgd_index(__fix_to_virt(FIX_FDT));
 +
 +	set_pgd(&swapper_pg_dir[idx], early_pg_dir[idx]);
 +#endif
- 	create_pgd_mapping(swapper_pg_dir, FIXADDR_START,
- 			   __pa_symbol(fixmap_pgd_next),
- 			   PGDIR_SIZE, PAGE_TABLE);
++
+ 	for (pa = start; pa < end; pa += map_size) {
+ 		va = (uintptr_t)__va(pa);
+ 		map_size = best_map_size(pa, end - pa);
+ 
+ 		create_pgd_mapping(swapper_pg_dir, va, pa, map_size,
+ 				   pgprot_from_va(va));
+ 	}
+ }
+ 
+ static void __init create_linear_mapping_page_table(void)
+ {
+ 	phys_addr_t start, end;
+ 	u64 i;
+ 
+ #ifdef CONFIG_STRICT_KERNEL_RWX
+ 	phys_addr_t ktext_start = __pa_symbol(_start);
+ 	phys_addr_t ktext_size = __init_data_begin - _start;
+ 	phys_addr_t krodata_start = __pa_symbol(__start_rodata);
+ 	phys_addr_t krodata_size = _data - __start_rodata;
+ 
+ 	/* Isolate kernel text and rodata so they don't get mapped with a PUD */
+ 	memblock_mark_nomap(ktext_start,  ktext_size);
+ 	memblock_mark_nomap(krodata_start, krodata_size);
+ #endif
  
  	/* Map all memory banks in the linear mapping */
  	for_each_mem_range(i, &start, &end) {

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: linux-next: manual merge of the risc-v tree with the risc-v-fixes tree
  2023-04-20 12:40 linux-next: manual merge of the risc-v tree with the risc-v-fixes tree broonie
@ 2023-04-20 13:23 ` Alexandre Ghiti
  2023-04-21 11:40   ` Mark Brown
  2023-04-21 11:59   ` Mark Brown
  0 siblings, 2 replies; 9+ messages in thread
From: Alexandre Ghiti @ 2023-04-20 13:23 UTC (permalink / raw)
  To: broonie
  Cc: Palmer Dabbelt, Paul Walmsley, Linux Kernel Mailing List,
	Linux Next Mailing List, Palmer Dabbelt

Hi,

On Thu, Apr 20, 2023 at 2:40 PM <broonie@kernel.org> wrote:
>
> Hi all,
>
> Today's linux-next merge of the risc-v tree got a conflict in:
>
>   arch/riscv/mm/init.c
>
> between commit:
>
>   ef69d2559fe91 ("riscv: Move early dtb mapping into the fixmap region")
>
> from the risc-v-fixes tree and commits:
>
>   8589e346bbb67 ("riscv: Move the linear mapping creation in its own function")
>   3335068f87217 ("riscv: Use PUD/P4D/PGD pages for the linear mapping")
>
> from the risc-v tree.
>
> I fixed it up (see below) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging.  You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.
>
> diff --cc arch/riscv/mm/init.c
> index 0f14f4a8d179a,7bd66795165da..0000000000000
> --- a/arch/riscv/mm/init.c
> +++ b/arch/riscv/mm/init.c
> @@@ -1070,26 -1112,36 +1092,47 @@@ asmlinkage void __init setup_vm(uintptr
>         pt_ops_set_fixmap();
>   }
>
> - static void __init setup_vm_final(void)
> + static void __init create_linear_mapping_range(phys_addr_t start,
> +                                              phys_addr_t end)
>   {
> +       phys_addr_t pa;
>         uintptr_t va, map_size;
> -       phys_addr_t pa, start, end;
> -       u64 i;
>
> -       /* Setup swapper PGD for fixmap */
>  +#if !defined(CONFIG_64BIT)
>  +      /*
>  +       * In 32-bit, the device tree lies in a pgd entry, so it must be copied
>  +       * directly in swapper_pg_dir in addition to the pgd entry that points
>  +       * to fixmap_pte.
>  +       */
>  +      unsigned long idx = pgd_index(__fix_to_virt(FIX_FDT));
>  +
>  +      set_pgd(&swapper_pg_dir[idx], early_pg_dir[idx]);
>  +#endif

This does not look correct, fixmap setup should not be in
create_linear_mapping_range() function.
Please find below the diff I would apply:

diff --cc arch/riscv/mm/init.c
index 0f14f4a8d179,7bd66795165d..a19146ab9341
--- a/arch/riscv/mm/init.c
+++ b/arch/riscv/mm/init.c
@@@ -1070,23 -1112,63 +1092,74 @@@ asmlinkage void __init setup_vm(uintptr
        pt_ops_set_fixmap();
  }

- static void __init setup_vm_final(void)
+ static void __init create_linear_mapping_range(phys_addr_t start,
+                                              phys_addr_t end)
  {
+       phys_addr_t pa;
        uintptr_t va, map_size;
-       phys_addr_t pa, start, end;
+
+       for (pa = start; pa < end; pa += map_size) {
+               va = (uintptr_t)__va(pa);
+               map_size = best_map_size(pa, end - pa);
+
+               create_pgd_mapping(swapper_pg_dir, va, pa, map_size,
+                                  pgprot_from_va(va));
+       }
+ }
+
+ static void __init create_linear_mapping_page_table(void)
+ {
+       phys_addr_t start, end;
        u64 i;

+ #ifdef CONFIG_STRICT_KERNEL_RWX
+       phys_addr_t ktext_start = __pa_symbol(_start);
+       phys_addr_t ktext_size = __init_data_begin - _start;
+       phys_addr_t krodata_start = __pa_symbol(__start_rodata);
+       phys_addr_t krodata_size = _data - __start_rodata;
+
+       /* Isolate kernel text and rodata so they don't get mapped with a PUD */
+       memblock_mark_nomap(ktext_start,  ktext_size);
+       memblock_mark_nomap(krodata_start, krodata_size);
+ #endif
+
+       /* Map all memory banks in the linear mapping */
+       for_each_mem_range(i, &start, &end) {
+               if (start >= end)
+                       break;
+               if (start <= __pa(PAGE_OFFSET) &&
+                   __pa(PAGE_OFFSET) < end)
+                       start = __pa(PAGE_OFFSET);
+               if (end >= __pa(PAGE_OFFSET) + memory_limit)
+                       end = __pa(PAGE_OFFSET) + memory_limit;
+
+               create_linear_mapping_range(start, end);
+       }
+
+ #ifdef CONFIG_STRICT_KERNEL_RWX
+       create_linear_mapping_range(ktext_start, ktext_start + ktext_size);
+       create_linear_mapping_range(krodata_start,
+                                   krodata_start + krodata_size);
+
+       memblock_clear_nomap(ktext_start,  ktext_size);
+       memblock_clear_nomap(krodata_start, krodata_size);
+ #endif
+ }
+
+ static void __init setup_vm_final(void)
+ {
        /* Setup swapper PGD for fixmap */
 +#if !defined(CONFIG_64BIT)
 +      /*
 +       * In 32-bit, the device tree lies in a pgd entry, so it must be copied
 +       * directly in swapper_pg_dir in addition to the pgd entry that points
 +       * to fixmap_pte.
 +       */
 +      unsigned long idx = pgd_index(__fix_to_virt(FIX_FDT));
 +
 +      set_pgd(&swapper_pg_dir[idx], early_pg_dir[idx]);
 +#endif
++
        create_pgd_mapping(swapper_pg_dir, FIXADDR_START,
                           __pa_symbol(fixmap_pgd_next),
                           PGDIR_SIZE, PAGE_TABLE);

> -       create_pgd_mapping(swapper_pg_dir, FIXADDR_START,
> -                          __pa_symbol(fixmap_pgd_next),
> -                          PGDIR_SIZE, PAGE_TABLE);
> ++
> +       for (pa = start; pa < end; pa += map_size) {
> +               va = (uintptr_t)__va(pa);
> +               map_size = best_map_size(pa, end - pa);
> +
> +               create_pgd_mapping(swapper_pg_dir, va, pa, map_size,
> +                                  pgprot_from_va(va));
> +       }
> + }
> +
> + static void __init create_linear_mapping_page_table(void)
> + {
> +       phys_addr_t start, end;
> +       u64 i;
> +
> + #ifdef CONFIG_STRICT_KERNEL_RWX
> +       phys_addr_t ktext_start = __pa_symbol(_start);
> +       phys_addr_t ktext_size = __init_data_begin - _start;
> +       phys_addr_t krodata_start = __pa_symbol(__start_rodata);
> +       phys_addr_t krodata_size = _data - __start_rodata;
> +
> +       /* Isolate kernel text and rodata so they don't get mapped with a PUD */
> +       memblock_mark_nomap(ktext_start,  ktext_size);
> +       memblock_mark_nomap(krodata_start, krodata_size);
> + #endif
>
>         /* Map all memory banks in the linear mapping */
>         for_each_mem_range(i, &start, &end) {

Thanks!

Alex

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: linux-next: manual merge of the risc-v tree with the risc-v-fixes tree
  2023-04-20 13:23 ` Alexandre Ghiti
@ 2023-04-21 11:40   ` Mark Brown
  2023-04-21 11:59   ` Mark Brown
  1 sibling, 0 replies; 9+ messages in thread
From: Mark Brown @ 2023-04-21 11:40 UTC (permalink / raw)
  To: Alexandre Ghiti
  Cc: Palmer Dabbelt, Paul Walmsley, Linux Kernel Mailing List,
	Linux Next Mailing List, Palmer Dabbelt

[-- Attachment #1: Type: text/plain, Size: 447 bytes --]

On Thu, Apr 20, 2023 at 03:23:55PM +0200, Alexandre Ghiti wrote:

> This does not look correct, fixmap setup should not be in
> create_linear_mapping_range() function.
> Please find below the diff I would apply:

OK, if it's opportune (basically doesn't require redoing huge amounts of
work) I'll replace the merge with your suggestion but I'm not sure if
that'll happen or not.  Probably best to highlight when sending the pull
request to Linus.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: linux-next: manual merge of the risc-v tree with the risc-v-fixes tree
  2023-04-20 13:23 ` Alexandre Ghiti
  2023-04-21 11:40   ` Mark Brown
@ 2023-04-21 11:59   ` Mark Brown
  1 sibling, 0 replies; 9+ messages in thread
From: Mark Brown @ 2023-04-21 11:59 UTC (permalink / raw)
  To: Alexandre Ghiti
  Cc: Palmer Dabbelt, Paul Walmsley, Linux Kernel Mailing List,
	Linux Next Mailing List, Palmer Dabbelt

[-- Attachment #1: Type: text/plain, Size: 301 bytes --]

On Thu, Apr 20, 2023 at 03:23:55PM +0200, Alexandre Ghiti wrote:

> This does not look correct, fixmap setup should not be in
> create_linear_mapping_range() function.
> Please find below the diff I would apply:

There's actually another conflict in the riscv tree come up today so
I'll roll this in.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* linux-next: manual merge of the risc-v tree with the risc-v-fixes tree
@ 2026-06-08 10:59 Mark Brown
  0 siblings, 0 replies; 9+ messages in thread
From: Mark Brown @ 2026-06-08 10:59 UTC (permalink / raw)
  To: Palmer Dabbelt, Paul Walmsley
  Cc: Linux Kernel Mailing List, Linux Next Mailing List, Nam Cao,
	Paul Walmsley

[-- Attachment #1: Type: text/plain, Size: 4871 bytes --]

Hi all,

Today's linux-next merge of the risc-v tree got a conflict in:

  arch/riscv/kernel/unaligned_access_speed.c

between commit:

  1e4fcbec3c714 ("riscv: Fix fast_unaligned_access_speed_key not getting initialized")

from the risc-v-fixes tree and commits:

  aad60bdd0b5a6 ("riscv: Fix fast_unaligned_access_speed_key not getting initialized")
  65e25b3affc92 ("riscv: misaligned: Fix fast_unaligned_access_speed_key init")

from the risc-v tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging.  You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

diff --combined arch/riscv/kernel/unaligned_access_speed.c
index 11c781a4de733,bb57eb5d19dfe..0000000000000
--- a/arch/riscv/kernel/unaligned_access_speed.c
+++ b/arch/riscv/kernel/unaligned_access_speed.c
@@@ -27,8 -27,6 +27,6 @@@ DEFINE_PER_CPU(long, vector_misaligned_
  static long unaligned_scalar_speed_param = RISCV_HWPROBE_MISALIGNED_SCALAR_UNKNOWN;
  static long unaligned_vector_speed_param = RISCV_HWPROBE_MISALIGNED_VECTOR_UNKNOWN;
  
- static cpumask_t fast_misaligned_access;
- 
  static u64 __maybe_unused
  measure_cycles(void (*func)(void *dst, const void *src, size_t len),
  	       void *dst, void *src, size_t len)
@@@ -131,13 -129,10 +129,10 @@@ static int check_unaligned_access(struc
  	 * Set the value of fast_misaligned_access of a CPU. These operations
  	 * are atomic to avoid race conditions.
  	 */
- 	if (ret) {
+ 	if (ret)
  		per_cpu(misaligned_access_speed, cpu) = RISCV_HWPROBE_MISALIGNED_SCALAR_FAST;
- 		cpumask_set_cpu(cpu, &fast_misaligned_access);
- 	} else {
+ 	else
  		per_cpu(misaligned_access_speed, cpu) = RISCV_HWPROBE_MISALIGNED_SCALAR_SLOW;
- 		cpumask_clear_cpu(cpu, &fast_misaligned_access);
- 	}
  
  	return 0;
  }
@@@ -192,49 -187,24 +187,24 @@@ static void __init check_unaligned_acce
  
  DEFINE_STATIC_KEY_FALSE(fast_unaligned_access_speed_key);
  
- static void modify_unaligned_access_branches(cpumask_t *mask, int weight)
+ static void modify_unaligned_access_branches(const cpumask_t *mask)
  {
- 	if (cpumask_weight(mask) == weight)
+ 	bool fast = true;
+ 	int cpu;
+ 
+ 	for_each_cpu(cpu, mask) {
+ 		if (per_cpu(misaligned_access_speed, cpu) != RISCV_HWPROBE_MISALIGNED_SCALAR_FAST) {
+ 			fast = false;
+ 			break;
+ 		}
+ 	}
+ 
+ 	if (fast)
  		static_branch_enable_cpuslocked(&fast_unaligned_access_speed_key);
  	else
  		static_branch_disable_cpuslocked(&fast_unaligned_access_speed_key);
  }
  
- static void set_unaligned_access_static_branches_except_cpu(int cpu)
- {
- 	/*
- 	 * Same as set_unaligned_access_static_branches, except excludes the
- 	 * given CPU from the result. When a CPU is hotplugged into an offline
- 	 * state, this function is called before the CPU is set to offline in
- 	 * the cpumask, and thus the CPU needs to be explicitly excluded.
- 	 */
- 
- 	cpumask_t fast_except_me;
- 
- 	cpumask_and(&fast_except_me, &fast_misaligned_access, cpu_online_mask);
- 	cpumask_clear_cpu(cpu, &fast_except_me);
- 
- 	modify_unaligned_access_branches(&fast_except_me, num_online_cpus() - 1);
- }
- 
- static void set_unaligned_access_static_branches(void)
- {
- 	/*
- 	 * This will be called after check_unaligned_access_all_cpus so the
- 	 * result of unaligned access speed for all CPUs will be available.
- 	 *
- 	 * To avoid the number of online cpus changing between reading
- 	 * cpu_online_mask and calling num_online_cpus, cpus_read_lock must be
- 	 * held before calling this function.
- 	 */
- 
- 	cpumask_t fast_and_online;
- 
- 	cpumask_and(&fast_and_online, &fast_misaligned_access, cpu_online_mask);
- 
- 	modify_unaligned_access_branches(&fast_and_online, num_online_cpus());
- }
- 
  static int riscv_online_cpu(unsigned int cpu)
  {
  	int ret = cpu_online_unaligned_access_init(cpu);
@@@ -266,14 -236,19 +236,19 @@@
  #endif
  
  exit:
- 	set_unaligned_access_static_branches();
+ 	modify_unaligned_access_branches(cpu_online_mask);
  
  	return 0;
  }
  
  static int riscv_offline_cpu(unsigned int cpu)
  {
- 	set_unaligned_access_static_branches_except_cpu(cpu);
+ 	cpumask_t mask;
+ 
+ 	cpumask_copy(&mask, cpu_online_mask);
+ 	cpumask_clear_cpu(cpu, &mask);
+ 
+ 	modify_unaligned_access_branches(&mask);
  
  	return 0;
  }
@@@ -430,7 -405,7 +405,7 @@@ static int __init check_unaligned_acces
  				  riscv_online_cpu_vec, NULL);
  
  	cpus_read_lock();
- 	set_unaligned_access_static_branches();
+ 	modify_unaligned_access_branches(cpu_online_mask);
  	cpus_read_unlock();
  
  	return 0;

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* linux-next: manual merge of the risc-v tree with the risc-v-fixes tree
@ 2024-06-28 13:48 Mark Brown
  0 siblings, 0 replies; 9+ messages in thread
From: Mark Brown @ 2024-06-28 13:48 UTC (permalink / raw)
  To: Palmer Dabbelt, Paul Walmsley
  Cc: Alexandre Ghiti, Linux Kernel Mailing List,
	Linux Next Mailing List, Palmer Dabbelt, Samuel Holland

[-- Attachment #1: Type: text/plain, Size: 1622 bytes --]

Hi all,

Today's linux-next merge of the risc-v tree got a conflict in:

  arch/riscv/kernel/patch.c

between commit:

  edf2d546bfd6f ("riscv: patch: Flush the icache right after patching to avoid illegal insns")

from the risc-v-fixes tree and commit:

  47742484ee162 ("riscv: Remove extra variable in patch_text_nosync()")

from the risc-v tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging.  You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

diff --cc arch/riscv/kernel/patch.c
index ab03732d06c46,5b3f6406e8c44..0000000000000
--- a/arch/riscv/kernel/patch.c
+++ b/arch/riscv/kernel/patch.c
@@@ -200,10 -186,11 +202,9 @@@ NOKPROBE_SYMBOL(patch_insn_set)
  
  int patch_text_set_nosync(void *addr, u8 c, size_t len)
  {
- 	u32 *tp = addr;
  	int ret;
  
- 	ret = patch_insn_set(tp, c, len);
+ 	ret = patch_insn_set(addr, c, len);
 -	if (!ret)
 -		flush_icache_range((uintptr_t)addr, (uintptr_t)addr + len);
  
  	return ret;
  }
@@@ -232,10 -222,11 +236,9 @@@ NOKPROBE_SYMBOL(patch_insn_write)
  
  int patch_text_nosync(void *addr, const void *insns, size_t len)
  {
- 	u32 *tp = addr;
  	int ret;
  
- 	ret = patch_insn_write(tp, insns, len);
+ 	ret = patch_insn_write(addr, insns, len);
 -	if (!ret)
 -		flush_icache_range((uintptr_t)addr, (uintptr_t)addr + len);
  
  	return ret;
  }

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: linux-next: manual merge of the risc-v tree with the risc-v-fixes tree
  2021-06-09  0:26 Stephen Rothwell
@ 2021-06-09  0:37 ` Palmer Dabbelt
  0 siblings, 0 replies; 9+ messages in thread
From: Palmer Dabbelt @ 2021-06-09  0:37 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Paul Walmsley, jszhang, linux-kernel, linux-next, vitaly.wool

On Tue, 08 Jun 2021 17:26:08 PDT (-0700), Stephen Rothwell wrote:
> Hi all,
>
> Today's linux-next merge of the risc-v tree got a conflict in:
>
>   arch/riscv/mm/init.c
>
> between commit:
>
>   8700a6b6fee2 ("riscv: fix typo in init.c")
>
> from the risc-v-fixes tree and commit:
>
>   010623568222 ("riscv: mm: init: Consolidate vars, functions")
>
> from the risc-v tree.
>
> Note that 8700a6b6fee2 supposedly fixes 010623568222, but 010623568222
> is not an ancestor of 8700a6b6fee2.
>
> I fixed it up (I just used the version from 8700a6b6fee2) and can
> carry the fix as necessary. This is now fixed as far as linux-next is
> concerned, but any non trivial conflicts should be mentioned to your
> upstream maintainer when your tree is submitted for merging.  You may
> also want to consider cooperating with the maintainer of the conflicting
> tree to minimise any particularly complex conflicts.

Sorry about that, this one was supposed to go on for-next not fixes.  It 
was causing my mail client to crash so I was kind of focused on that 
instead of the actual code...

It's on for-nex now.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* linux-next: manual merge of the risc-v tree with the risc-v-fixes tree
@ 2021-06-09  0:26 Stephen Rothwell
  2021-06-09  0:37 ` Palmer Dabbelt
  0 siblings, 1 reply; 9+ messages in thread
From: Stephen Rothwell @ 2021-06-09  0:26 UTC (permalink / raw)
  To: Palmer Dabbelt, Paul Walmsley
  Cc: Jisheng Zhang, Linux Kernel Mailing List,
	Linux Next Mailing List, Palmer Dabbelt, Vitaly Wool

[-- Attachment #1: Type: text/plain, Size: 856 bytes --]

Hi all,

Today's linux-next merge of the risc-v tree got a conflict in:

  arch/riscv/mm/init.c

between commit:

  8700a6b6fee2 ("riscv: fix typo in init.c")

from the risc-v-fixes tree and commit:

  010623568222 ("riscv: mm: init: Consolidate vars, functions")

from the risc-v tree.

Note that 8700a6b6fee2 supposedly fixes 010623568222, but 010623568222
is not an ancestor of 8700a6b6fee2.

I fixed it up (I just used the version from 8700a6b6fee2) and can
carry the fix as necessary. This is now fixed as far as linux-next is
concerned, but any non trivial conflicts should be mentioned to your
upstream maintainer when your tree is submitted for merging.  You may
also want to consider cooperating with the maintainer of the conflicting
tree to minimise any particularly complex conflicts.

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* linux-next: manual merge of the risc-v tree with the risc-v-fixes tree
@ 2020-10-07 23:13 Stephen Rothwell
  0 siblings, 0 replies; 9+ messages in thread
From: Stephen Rothwell @ 2020-10-07 23:13 UTC (permalink / raw)
  To: Palmer Dabbelt, Paul Walmsley, Paul Walmsley
  Cc: Ard Biesheuvel, Atish Patra, Guo Ren, Linux Kernel Mailing List,
	Linux Next Mailing List, Palmer Dabbelt

[-- Attachment #1: Type: text/plain, Size: 1186 bytes --]

Hi all,

Today's linux-next merge of the risc-v tree got a conflict in:

  arch/riscv/kernel/vmlinux.lds.S

between commit:

  84814460eef9 ("riscv: Fixup bootup failure with HARDENED_USERCOPY")

from the risc-v-fixes tree and commit:

  cb7d2dd5612a ("RISC-V: Add PE/COFF header for EFI stub")

from the risc-v tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging.  You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

-- 
Cheers,
Stephen Rothwell

diff --cc arch/riscv/kernel/vmlinux.lds.S
index 34d00d9e6eac,9795359cb9da..000000000000
--- a/arch/riscv/kernel/vmlinux.lds.S
+++ b/arch/riscv/kernel/vmlinux.lds.S
@@@ -66,8 -71,11 +70,13 @@@ SECTION
  		_etext = .;
  	}
  
+ #ifdef CONFIG_EFI
+ 	. = ALIGN(PECOFF_SECTION_ALIGNMENT);
+ 	__pecoff_text_end = .;
+ #endif
+ 
 +	INIT_DATA_SECTION(16)
 +
  	/* Start of data section */
  	_sdata = .;
  	RO_DATA(SECTION_ALIGN)

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2026-06-08 11:00 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-20 12:40 linux-next: manual merge of the risc-v tree with the risc-v-fixes tree broonie
2023-04-20 13:23 ` Alexandre Ghiti
2023-04-21 11:40   ` Mark Brown
2023-04-21 11:59   ` Mark Brown
  -- strict thread matches above, loose matches on Subject: below --
2026-06-08 10:59 Mark Brown
2024-06-28 13:48 Mark Brown
2021-06-09  0:26 Stephen Rothwell
2021-06-09  0:37 ` Palmer Dabbelt
2020-10-07 23:13 Stephen Rothwell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®