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

Denis Orlov denorl2009 at gmail.com
Mon Jun 5 13:10:31 PDT 2023


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.

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(-)

-- 
2.41.0




More information about the barebox mailing list