mbox series

[v3,00/12] MIPS Virt board support

Message ID 20230404093351.4233-1-jiaxun.yang@flygoat.com (mailing list archive)
Headers show
Series MIPS Virt board support | expand

Message

Jiaxun Yang April 4, 2023, 9:33 a.m. UTC
Hi all,

This patchset adds support for the MIPS Virt board, which is based
on my QEMU patch [1].

It can work with all CPUs from MIPS Technologies, and also Loongson-2E,
Loongson-2F, Cavium Octeon, R4000.

Thanks to generic platform, there is nothing much to do for the platform
support, mostly decoupling CPU features with platform features, except for
last two patches.

Note that due to QEMU limitation, SMP support is currently broken for all
processors other than MIPS I6400/I6500. This is because QEMU is now treatiing
secundary CPUs as a VPE (MIPS Release 6 VP). I'm going to fix that after getting
virt board support merged in QEMU.

Thanks.

- Jiaxun
[1]: https://lore.kernel.org/qemu-devel/20230308000745.56394-1-philmd@linaro.org/

Jiaxun Yang (12):
  MIPS: Move declaration of bcache ops to cache.c
  MIPS: smp-cps: Disable coherence setup for unsupported ISA
  MIPS: mips-cm: Check availability of config registers
  MIPS: Octeon: Opt-out 4k_cache feature
  MIPS: cpu-features: Enable octeon_cache by cpu_type
  MIPS: c-octeon: Provide alternative SMP cache flush function
  MIPS: Octeon: Allow CVMSEG to be disabled
  MIPS: Loongson: Move arch cflags to MIPS top level Makefile
  MIPS: Loongson: Don't select platform features with CPU
  MIPS: Octeon: Disable CVMSEG by default on other platforms
  MIPS: Add board config for virt board
  MIPS: generic: Enable all CPUs supported by virt board in Kconfig

 arch/mips/Kconfig                           |  6 ++--
 arch/mips/Makefile                          | 38 +++++++++++++++++++++
 arch/mips/cavium-octeon/Kconfig             |  3 +-
 arch/mips/configs/generic/board-virt.config | 38 +++++++++++++++++++++
 arch/mips/include/asm/cache.h               |  2 ++
 arch/mips/include/asm/cpu-features.h        | 21 ++++++++++--
 arch/mips/include/asm/processor.h           |  7 +++-
 arch/mips/kernel/asm-offsets.c              |  3 ++
 arch/mips/kernel/cps-vec.S                  |  5 +++
 arch/mips/kernel/cpu-probe.c                |  2 ++
 arch/mips/kernel/mips-cm.c                  |  9 +++--
 arch/mips/kernel/smp-cps.c                  |  5 +++
 arch/mips/loongson2ef/Kconfig               |  3 ++
 arch/mips/loongson2ef/Platform              | 35 -------------------
 arch/mips/loongson64/Platform               | 16 ---------
 arch/mips/mm/c-octeon.c                     |  5 +++
 arch/mips/mm/c-r4k.c                        | 14 --------
 arch/mips/mm/cache.c                        | 19 +++++++++++
 18 files changed, 158 insertions(+), 73 deletions(-)
 create mode 100644 arch/mips/configs/generic/board-virt.config

Comments

Thomas Bogendoerfer April 5, 2023, 8:26 a.m. UTC | #1
On Tue, Apr 04, 2023 at 10:33:39AM +0100, Jiaxun Yang wrote:
> Hi all,
> 
> This patchset adds support for the MIPS Virt board, which is based
> on my QEMU patch [1].
> 
> It can work with all CPUs from MIPS Technologies, and also Loongson-2E,
> Loongson-2F, Cavium Octeon, R4000.
> 
> Thanks to generic platform, there is nothing much to do for the platform
> support, mostly decoupling CPU features with platform features, except for
> last two patches.
> 
> Note that due to QEMU limitation, SMP support is currently broken for all
> processors other than MIPS I6400/I6500. This is because QEMU is now treatiing
> secundary CPUs as a VPE (MIPS Release 6 VP). I'm going to fix that after getting
> virt board support merged in QEMU.
> 
> Thanks.
> 
> - Jiaxun
> [1]: https://lore.kernel.org/qemu-devel/20230308000745.56394-1-philmd@linaro.org/
> 
> Jiaxun Yang (12):
>   MIPS: Move declaration of bcache ops to cache.c
>   MIPS: smp-cps: Disable coherence setup for unsupported ISA
>   MIPS: mips-cm: Check availability of config registers
>   MIPS: Octeon: Opt-out 4k_cache feature
>   MIPS: cpu-features: Enable octeon_cache by cpu_type
>   MIPS: c-octeon: Provide alternative SMP cache flush function
>   MIPS: Octeon: Allow CVMSEG to be disabled
>   MIPS: Loongson: Move arch cflags to MIPS top level Makefile
>   MIPS: Loongson: Don't select platform features with CPU
>   MIPS: Octeon: Disable CVMSEG by default on other platforms
>   MIPS: Add board config for virt board
>   MIPS: generic: Enable all CPUs supported by virt board in Kconfig
> 
>  arch/mips/Kconfig                           |  6 ++--
>  arch/mips/Makefile                          | 38 +++++++++++++++++++++
>  arch/mips/cavium-octeon/Kconfig             |  3 +-
>  arch/mips/configs/generic/board-virt.config | 38 +++++++++++++++++++++
>  arch/mips/include/asm/cache.h               |  2 ++
>  arch/mips/include/asm/cpu-features.h        | 21 ++++++++++--
>  arch/mips/include/asm/processor.h           |  7 +++-
>  arch/mips/kernel/asm-offsets.c              |  3 ++
>  arch/mips/kernel/cps-vec.S                  |  5 +++
>  arch/mips/kernel/cpu-probe.c                |  2 ++
>  arch/mips/kernel/mips-cm.c                  |  9 +++--
>  arch/mips/kernel/smp-cps.c                  |  5 +++
>  arch/mips/loongson2ef/Kconfig               |  3 ++
>  arch/mips/loongson2ef/Platform              | 35 -------------------
>  arch/mips/loongson64/Platform               | 16 ---------
>  arch/mips/mm/c-octeon.c                     |  5 +++
>  arch/mips/mm/c-r4k.c                        | 14 --------
>  arch/mips/mm/cache.c                        | 19 +++++++++++
>  18 files changed, 158 insertions(+), 73 deletions(-)
>  create mode 100644 arch/mips/configs/generic/board-virt.config
> 
> -- 
> 2.39.2 (Apple Git-143)

series applied to mips-next.

Thomas.