[PATCH 00/17] MIPS: fix and improve 64BIT support

Denis Orlov denorl2009 at gmail.com
Tue Jun 6 01:43:40 PDT 2023


Hello Ahmad,

On Tue, 6 Jun 2023 at 11:02, Ahmad Fatoum <a.fatoum at pengutronix.de> wrote:
>
> Hello Denis,
>
> On 05.06.23 22:10, Denis Orlov wrote:
> > The existing 64BIT support for MIPS was somewhat incomplete with no
> > board having MIPS64 CPUs specified to be available as targets. Define
> > Malta as supporting those and fix all the compilation and linking
> > errors. Make some optional features available with 64BIT too.
>
> Would be cool to test this in CI. Could you add:
>
>   - a defconfig that enables this board (I'd call it mips64_defconfig
>     and if another MIPS64 SoC is added, we will add it there, like
>     we do now for e.g. multi_v8_defconfig on ARM)
>
>   - a Labgrid env file that configures QEMU appropriately
>     See test/mips/qemu-malta_defconfig.yaml for an example

Good idea, will do that and send another patch a bit later.

>
> If you like, you can go further and send a patch adding it to
> CI's test-labgrid-pytest.yml workflow, but I can do that too.

Yeah, that sounds interesting, will also try to do that.

Regards,
Denis

>
> Cheers,
> Ahmad
>
> >
> > Denis Orlov (17):
> >   MIPS: malta: allow to choose MIPS64 target CPU in config
> >   MIPS: malta: use CKSEG instead of KSEG macros
> >   MIPS: reloc: fix relocation with CONFIG_64BIT enabled
> >   MIPS: o32: provide ta0..ta3 register definitions
> >   MIPS: pbl: use o32/n64 compatible register definitions
> >   MIPS: pbl: fix linking errors with CONFIG_64BIT
> >   MIPS: use MIPS32/MIPS64 generic instruction macros
> >   MIPS: malta: fix GT64120 base virtual address on 64BIT
> >   MIPS: fix addresses of exception vectors in 64-bit mode
> >   MIPS: fix *ADDR macro usage warnings on CONFIG_64BIT
> >   MIPS: Makefile: sign-extend TEXT_BASE value on CONFIG_64BIT
> >   MIPS: enable 64-bit kernel segment addressing on CONFIG_64BIT
> >   MIPS: traps: fix passing wrong sp when returning from exception
> >   MIPS: pbl_macros: use generic load/store macros in
> >     copy_to_link_location
> >   MIPS: add 64-bit support for optimized string functions
> >   MIPS: make setjmp/longjmp/initjmp available in 64BIT builds
> >   MIPS: main_entry-pbl: fix conversion warnings on CONFIG_64BIT
> >
> >  arch/mips/Kconfig                             |  6 +-
> >  arch/mips/Makefile                            | 14 +++--
> >  arch/mips/boards/qemu-malta/lowlevel.S        |  4 +-
> >  arch/mips/boot/main_entry-pbl.c               | 11 ++--
> >  arch/mips/boot/main_entry.c                   |  2 +-
> >  arch/mips/boot/start.S                        |  4 +-
> >  arch/mips/include/asm/asm.h                   | 10 +--
> >  arch/mips/include/asm/debug_ll_ns16550.h      |  6 +-
> >  arch/mips/include/asm/dma.h                   | 16 ++---
> >  arch/mips/include/asm/io.h                    |  2 +-
> >  arch/mips/include/asm/pbl_macros.h            | 62 +++++++++++--------
> >  arch/mips/include/asm/pbl_nmon.h              | 10 +--
> >  arch/mips/include/asm/regdef.h                |  6 ++
> >  arch/mips/include/asm/setjmp.h                |  2 +-
> >  arch/mips/lib/genex.S                         |  8 +--
> >  arch/mips/lib/memcpy.S                        | 37 +++++++++--
> >  arch/mips/lib/reloc.c                         |  7 +--
> >  arch/mips/lib/setjmp.S                        | 48 +++++++-------
> >  arch/mips/lib/traps.c                         |  2 +-
> >  .../mach-malta/include/mach/mach-gt64120.h    |  2 +-
> >  arch/mips/mach-malta/pci.c                    |  2 +-
> >  21 files changed, 156 insertions(+), 105 deletions(-)
> >
>
> --
> Pengutronix e.K.                           |                             |
> Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
> 31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
> Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
>



More information about the barebox mailing list