Am 03.10.2016 um 19:51 schrieb Daniel Schwierzeck: > 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_v2 > > Changes in v2: > - invoke UHI exception operation for all exception vectors but > the EJTAG debug exception > - use EHB after setting cp0 status > - reordered macros in genex.S to allow side-by-side diff with Linux's > arch/mips/include/asm/stackframe.h > - sync'ed genex.S with Linux v4.8-rc8 to incorporate changes for > MIPS r6 > - add execution_hazard_barrier() after clearing c0 status.BEV > > 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 | 174 ++++++++++++++++++---------- > arch/mips/include/asm/asm-offsets.h | 5 + > arch/mips/include/asm/mipsregs.h | 1 + > arch/mips/include/asm/system.h | 8 ++ > 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 | 224 > ++++++++++++++++++++++++++++++++++++ > arch/mips/lib/stack.c | 19 +++ > arch/mips/lib/traps.c | 106 +++++++++++++++++ > arch/mips/mach-ath79/Kconfig | 2 + > arch/mips/mach-pic32/Kconfig | 1 + > common/board_r.c | 4 +- > 14 files changed, 581 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 >
applied to u-boot-mips/next -- - Daniel
signature.asc
Description: OpenPGP digital signature
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot