[U-Boot] [PATCH 0/9] MIPS: improve start.S and add exception support

Daniel Schwierzeck daniel.schwierzeck at gmail.com
Sun Sep 25 20:05:23 CEST 2016


Fix and optinmize initialization of cp0 registers. Also add
the possibilty to setup the initial stack and global data in
SRAM to provide a C environment for lowlevel_init(). This
could be used on the QCA ath79 platform to rewrite and
optimize the low-level init code.

Add support for a dynamic exception vectors in RAM and add
initial exception handlers. The general exception handler
prints an oops message similar to Linux kernel and then hangs.
The EJTAG exception handler checks for SDBBP and delegates to
the SDBBP handler if necessary. Otherwise the debug mode
will be simply exited. The SDBBP handler currently only
prints the content of registers c0_depc and c0_debug. This
could be extended in the future to handle semi-hosting
according to the MIPS UHI specification.

This patch series is also available at:
git://git.denx.de/u-boot-mips.git mips_rework_start_v1


Daniel Schwierzeck (9):
  MIPS: make inclusion of ROM exception vectors configurable
  MIPS: fix ROM exception vectors
  MIPS: fix iand optimize setup of CP0 registers
  MIPS: factor out code for initial stack and global data
  MIPS: add possibility to setup initial stack and global data in SRAM
  MIPS: add asm-offsets for struct pt_regs
  MIPS: reserve space for exception vectors
  MIPS: add handling for generic and EJTAG exceptions
  common/board_f: enable initr_trap for MIPS

 arch/mips/Kconfig                   |  32 ++++++
 arch/mips/cpu/start.S               | 165 +++++++++++++++++----------
 arch/mips/include/asm/asm-offsets.h |   5 +
 arch/mips/include/asm/mipsregs.h    |   1 +
 arch/mips/include/asm/u-boot-mips.h |   4 +
 arch/mips/lib/Makefile              |   3 +
 arch/mips/lib/asm-offsets.c         |  61 ++++++++++
 arch/mips/lib/genex.S               | 214 ++++++++++++++++++++++++++++++++++++
 arch/mips/lib/stack.c               |  19 ++++
 arch/mips/lib/traps.c               | 104 ++++++++++++++++++
 arch/mips/mach-ath79/Kconfig        |   2 +
 arch/mips/mach-pic32/Kconfig        |   1 +
 common/board_r.c                    |   4 +-
 13 files changed, 552 insertions(+), 63 deletions(-)
 create mode 100644 arch/mips/include/asm/asm-offsets.h
 create mode 100644 arch/mips/lib/asm-offsets.c
 create mode 100644 arch/mips/lib/genex.S
 create mode 100644 arch/mips/lib/stack.c
 create mode 100644 arch/mips/lib/traps.c

-- 
2.9.3



More information about the U-Boot mailing list