summaryrefslogtreecommitdiffstats
path: root/bsps/microblaze/microblaze_fpga/start/_interrupt_handler.S
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--bsps/microblaze/microblaze_fpga/start/_interrupt_handler.S (renamed from c/src/lib/libbsp/microblaze/microblaze_fpga/startup/_interrupt_handler.S)15
1 files changed, 15 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/microblaze/microblaze_fpga/startup/_interrupt_handler.S b/bsps/microblaze/microblaze_fpga/start/_interrupt_handler.S
index 50326c1a93..b817503922 100644
--- a/c/src/lib/libbsp/microblaze/microblaze_fpga/startup/_interrupt_handler.S
+++ b/bsps/microblaze/microblaze_fpga/start/_interrupt_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,18 @@
.align 2
_interrupt_handler:
+#ifndef __rtems__
rtid r14, 0
nop
+#else /* __rtems__ */
+ /* Subtract stack frame */
+ addik r1, r1, -52
+
+ swi r5, r1, 8
+
+ /* Indicate unknown interrupt source */
+ addi r5, r0, 0xFF
+
+ braid _ISR_Handler
+ nop
+#endif /* __rtems__ */