summaryrefslogtreecommitdiffstats
path: root/bsps/microblaze
diff options
context:
space:
mode:
authorKinsey Moore <kinsey.moore@oarcorp.com>2022-02-18 10:05:25 -0600
committerJoel Sherrill <joel@rtems.org>2022-02-23 08:35:45 -0600
commitdbdf38ea7b2160fe1237a6cc5d3b23dea522c8ca (patch)
tree409219b24ab34af35a22730a152b8317ac64e21c /bsps/microblaze
parentcpukit/libdebugger: Add pure swbreak capability (diff)
downloadrtems-dbdf38ea7b2160fe1237a6cc5d3b23dea522c8ca.tar.bz2
microblaze: Decouple exceptions from interrupts
Exception handling should be enabled at all times during execution to ensure that exceptions are not ignored which would cause further problems. This separates use of the exception enable bit from use of the interrupt enable bit in the machine status register so that they can be manipulated independently.
Diffstat (limited to 'bsps/microblaze')
-rw-r--r--bsps/microblaze/microblaze_fpga/start/crtinit.S3
1 files changed, 3 insertions, 0 deletions
diff --git a/bsps/microblaze/microblaze_fpga/start/crtinit.S b/bsps/microblaze/microblaze_fpga/start/crtinit.S
index a9779404b2..d56bee3b19 100644
--- a/bsps/microblaze/microblaze_fpga/start/crtinit.S
+++ b/bsps/microblaze/microblaze_fpga/start/crtinit.S
@@ -81,6 +81,9 @@ _crtinit:
#ifndef __rtems__
brlid r15, main /* Execute the program */
#else
+ mfs r3, rmsr
+ ori r3, r3, 0x100 /* Set Exception Enable MSR flag */
+ mts rmsr, r3
brlid r15, boot_card
#endif /* __rtems__ */
addi r5, r0, 0