]> git.baikalelectronics.ru Git - kernel.git/commit
microblaze: Add support for error injection
authorAppana Durga Kedareswara rao <appana.durga.rao@xilinx.com>
Mon, 27 Jun 2022 06:40:24 +0000 (12:10 +0530)
committerMichal Simek <michal.simek@amd.com>
Mon, 26 Sep 2022 12:13:29 +0000 (14:13 +0200)
commitabf3ca3f986037622805b68f009f4b9ccaab2388
treed4350a714f8ff5fa339ba06dffce6e5cdcc5151d
parent5e9e9ab646e463a918e48d29b1981f4271cab13e
microblaze: Add support for error injection

To inject the error using the tmr inject IP reset vectors need to be placed
in lmb(bram) due to the limitation in HW when this code runs out of DDR.
Below code adds the error inject code to the .init.ivt section to copy
it in machine_early_init to lmb/Bram location. C_BASE_VECTORS which allow
moving reset vectors out of 0 location is not currently supported by
Microblaze architecture, that's why all the time reset vectors with
injection code is all the time copied to address 0.

As of now getting this functionality working CPU switches to real mode
and simply jumps to bram, which causes triggering of fault which continues
to call_xmb_manager_break break handler which will at the end calls the
error count callback function and performs recovery.

Signed-off-by: Appana Durga Kedareswara rao <appana.durga.rao@xilinx.com>
Link: https://lore.kernel.org/r/20220627064024.771037-4-appana.durga.rao@xilinx.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
arch/microblaze/include/asm/xilinx_mb_manager.h
arch/microblaze/kernel/entry.S