On Tue, Jul 14, 2026 at 05:08:04PM +0000, Yao Zi wrote:
> On Wed, Jul 01, 2026 at 11:55:03AM -0600, Tom Rini wrote:
> > On Wed, Jul 01, 2026 at 11:18:03AM +0000, Yao Zi wrote:
> > > From: Jiaxun Yang <[email protected]>
> > > 
> > > Provide a generic CPU type with some common routines
> > > that expected to be implemented at CPU level.
> > > 
> > > Signed-off-by: Jiaxun Yang <[email protected]>
> > > Signed-off-by: Yao Zi <[email protected]>
> > > ---
> > > 
> > > (No changes from v1)
> > > 
> > >  arch/loongarch/Kconfig              |  1 +
> > >  arch/loongarch/cpu/generic/Kconfig  | 13 +++++++++++++
> > >  arch/loongarch/cpu/generic/Makefile |  7 +++++++
> > >  arch/loongarch/cpu/generic/cpu.c    | 22 ++++++++++++++++++++++
> > >  arch/loongarch/cpu/generic/dram.c   | 21 +++++++++++++++++++++
> > >  5 files changed, 64 insertions(+)
> > >  create mode 100644 arch/loongarch/cpu/generic/Kconfig
> > >  create mode 100644 arch/loongarch/cpu/generic/Makefile
> > >  create mode 100644 arch/loongarch/cpu/generic/cpu.c
> > >  create mode 100644 arch/loongarch/cpu/generic/dram.c
> > > 
> > > diff --git a/arch/loongarch/Kconfig b/arch/loongarch/Kconfig
> > > index 109d37d8e2c7..5254afb2cd05 100644
> > > --- a/arch/loongarch/Kconfig
> > > +++ b/arch/loongarch/Kconfig
> > > @@ -12,6 +12,7 @@ endchoice
> > >  # board-specific options below
> > >  
> > >  # platform-specific options below
> > > +source "arch/loongarch/cpu/generic/Kconfig"
> > >  
> > >  # architecture-specific options below
> > >  choice
> > > diff --git a/arch/loongarch/cpu/generic/Kconfig 
> > > b/arch/loongarch/cpu/generic/Kconfig
> > > new file mode 100644
> > > index 000000000000..ac7556d6d4d0
> > > --- /dev/null
> > > +++ b/arch/loongarch/cpu/generic/Kconfig
> > > @@ -0,0 +1,13 @@
> > > +# SPDX-License-Identifier: GPL-2.0+
> > > +#
> > > +# Copyright (C) 2024 Jiaxun yang <[email protected]>
> > > +#
> > > +
> > > +config GENERIC_LOONGARCH
> > > + bool
> > > + select SYS_CACHE_SHIFT_6
> > > + imply CPU
> > > + imply CPU_LOONGARCH
> > > + imply LOONGARCH_TIMER
> > > + imply CMD_CPU
> > 
> > Which of these "imply" values can ever really be turned off? CMD_CPU?
> > Yes, others, I don't know.
> 
> CPU* are all optional, but to turn them off, we must also turn off
> DISPLAY_CPUINFO, which is broken without CONFIG_CPU since the
> implementation of print_cpuinfo() is guarded by CONFIG_IS_ENABLED(CPU).
> I think we should reflect the dependency in Kconfig?

So if you're using the CPU driver model implementation, then you should
have:
        select CPU if DISPLAY_CPUINFO
to cover that.

> For LOONGARCH_TIMER, it's necessary for delay functions to operate, but
> if a platform makes use of a non-standard in-core timer implementation
> in the future, being able to turn LOONGARCH_TIMER off in the board
> configuration might help in code size. But I don't have a strong opinion
> for this.

OK, this seems like the kind of thing to handle if or when the use case
comes up. Until such a core exists we don't know what other assumptions
it will invalidate.

-- 
Tom

Attachment: signature.asc
Description: PGP signature

Reply via email to