summaryrefslogtreecommitdiffstats
path: root/bsps/microblaze/microblaze_fpga/start/_exception_handler.S
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--bsps/microblaze/microblaze_fpga/start/_exception_handler.S (renamed from c/src/lib/libbsp/microblaze/microblaze_fpga/startup/_exception_handler.S)14
1 files changed, 14 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/microblaze/microblaze_fpga/startup/_exception_handler.S b/bsps/microblaze/microblaze_fpga/start/_exception_handler.S
index dd9fee22f6..1d96b694a7 100644
--- a/c/src/lib/libbsp/microblaze/microblaze_fpga/startup/_exception_handler.S
+++ b/bsps/microblaze/microblaze_fpga/start/_exception_handler.S
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: BSD-3-Clause */
+
/* Copyright (c) 2001, 2009 Xilinx, Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without
@@ -34,5 +36,17 @@
.align 2
_exception_handler:
+#ifndef __rtems__
rtsd r17, 0
nop
+#else /* __rtems__ */
+ /* Subtract stack frame */
+ addik r1, r1, -52
+
+ swi r5, r1, 8
+
+ addi r5, r0, 0xFFFF
+
+ braid _ISR_Handler
+ nop
+#endif /* __rtems__ */