2018-08-02 15:25:33

by Zong Li

[permalink] [raw]
Subject: [PATCH] RISC-V: Add preprocessor directives for boot_sec_cpu

The boot_sec_cpu is for hutplug CPU on SMP system. It should
be conditional compiling. Otherwise, it causes undefined reference
to `smp_callin' when compiling uniprocessor kernel.

Signed-off-by: Zong Li <[email protected]>
---
arch/riscv/kernel/head.S | 2 ++
1 file changed, 2 insertions(+)

diff --git a/arch/riscv/kernel/head.S b/arch/riscv/kernel/head.S
index 11066d5..9b6f601 100644
--- a/arch/riscv/kernel/head.S
+++ b/arch/riscv/kernel/head.S
@@ -154,6 +154,7 @@ END(_start)
.section .text
.global boot_sec_cpu

+#ifdef CONFIG_HOTPLUG_CPU
boot_sec_cpu:
/* clear all pending flags */
csrw sip, zero
@@ -162,6 +163,7 @@ boot_sec_cpu:
fence

tail smp_callin
+#endif

__PAGE_ALIGNED_BSS
/* Empty zero page */
--
2.7.4



2018-08-02 18:44:02

by Atish Patra

[permalink] [raw]
Subject: Re: [PATCH] RISC-V: Add preprocessor directives for boot_sec_cpu

On 8/2/18 8:23 AM, Zong Li wrote:
> The boot_sec_cpu is for hutplug CPU on SMP system. It should
> be conditional compiling. Otherwise, it causes undefined reference
> to `smp_callin' when compiling uniprocessor kernel.
>
> Signed-off-by: Zong Li <[email protected]>
> ---
> arch/riscv/kernel/head.S | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/riscv/kernel/head.S b/arch/riscv/kernel/head.S
> index 11066d5..9b6f601 100644
> --- a/arch/riscv/kernel/head.S
> +++ b/arch/riscv/kernel/head.S
> @@ -154,6 +154,7 @@ END(_start)
> .section .text
> .global boot_sec_cpu
>
> +#ifdef CONFIG_HOTPLUG_CPU
> boot_sec_cpu:
> /* clear all pending flags */
> csrw sip, zero
> @@ -162,6 +163,7 @@ boot_sec_cpu:
> fence
>
> tail smp_callin
> +#endif
>
> __PAGE_ALIGNED_BSS
> /* Empty zero page */
>

Thanks for the fix. If you don't mind, I would like to merge it on top
of my cpu hotplug patch and resubmit together to avoid confusion.


Regards,
Atish


2018-08-03 00:29:11

by Zong Li

[permalink] [raw]
Subject: Re: [PATCH] RISC-V: Add preprocessor directives for boot_sec_cpu

Atish Patra <[email protected]> 於 2018年8月3日 週五 上午2:14寫道:
>
> On 8/2/18 8:23 AM, Zong Li wrote:
> > The boot_sec_cpu is for hutplug CPU on SMP system. It should
> > be conditional compiling. Otherwise, it causes undefined reference
> > to `smp_callin' when compiling uniprocessor kernel.
> >
> > Signed-off-by: Zong Li <[email protected]>
> > ---
> > arch/riscv/kernel/head.S | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/arch/riscv/kernel/head.S b/arch/riscv/kernel/head.S
> > index 11066d5..9b6f601 100644
> > --- a/arch/riscv/kernel/head.S
> > +++ b/arch/riscv/kernel/head.S
> > @@ -154,6 +154,7 @@ END(_start)
> > .section .text
> > .global boot_sec_cpu
> >
> > +#ifdef CONFIG_HOTPLUG_CPU
> > boot_sec_cpu:
> > /* clear all pending flags */
> > csrw sip, zero
> > @@ -162,6 +163,7 @@ boot_sec_cpu:
> > fence
> >
> > tail smp_callin
> > +#endif
> >
> > __PAGE_ALIGNED_BSS
> > /* Empty zero page */
> >
>
> Thanks for the fix. If you don't mind, I would like to merge it on top
> of my cpu hotplug patch and resubmit together to avoid confusion.
>
OK, just take it:)