URL
https://opencores.org/ocsvn/minsoc/minsoc/trunk
Subversion Repositories minsoc
Compare Revisions
- This comparison shows the changes necessary to convert path
/minsoc/trunk/sw/support
- from Rev 69 to Rev 74
- ↔ Reverse comparison
Rev 69 → Rev 74
/reset.S
105,8 → 105,8
l.ori r1,r1,lo(_stack) |
|
/* Jump to main */ |
l.movhi r2,hi(reset) |
l.ori r2,r2,lo(reset) |
l.movhi r2,hi(CLABEL(reset)) |
l.ori r2,r2,lo(CLABEL(reset)) |
l.jr r2 |
l.nop |
|
/except.S
16,7 → 16,7
/* Furthermore, if this would be a function and l.j handler would be outside of this, the return register set here would be use upon return of this function. */ |
/* However, the desired behavior is to finish the handler and let the return of the service routine simply restore the registers and return to the interrupted procedure. */ |
#define intr_handler(handler) \ |
l.nop ;\ |
l.nop ;\ |
l.addi r1,r1,-244 /*free 29 words (29 x 4 = 112) + 4 because stack points to contained data (stack is r1)*/;\ |
/*plus 128 bytes not to mess with the previous frame pointer (32 register x 4 bytes = 128 bytes ) (required by C++ multiple threading) */;\ |
l.sw 0x18(r1),r9 /*save register r9(return addr) to stack*/;\ |
25,7 → 25,7
;\ |
l.movhi r9,hi(end_except) /*set return addr to end_except instruction*/;\ |
l.ori r9,r9,lo(end_except)/*set return addr to end_except instruction*/;\ |
l.j handler ;\ |
l.j CLABEL(handler) ;\ |
l.nop |
|
.org 0x000 |
/or1200.h
20,6 → 20,10
/* This file is also used by microkernel test bench. Among |
others it is also used in assembly file(s). */ |
|
#define __CLABEL(prefix, label) prefix ## label |
#define _CLABEL(prefix, label) __CLABEL(prefix, label) |
#define CLABEL(label) _CLABEL(__USER_LABEL_PREFIX__, label) |
|
/* Definition of special-purpose registers (SPRs) */ |
|
#define MAX_GRPS (32) |
/common.mk
14,8 → 14,8
$(EXCPT_HNDLR): $(SUPPORT_DIR)/except.S $(OR1200_HDR) |
$(OR32_TOOL_PREFIX)-gcc $(GCC_OPT) -c -o $@ $< |
|
$(RESET_NOCACHE): $(SUPPORT_DIR)/reset.S $(BOARD_HDR) |
$(RESET_NOCACHE): $(SUPPORT_DIR)/reset.S $(OR1200_HDR) $(BOARD_HDR) |
$(OR32_TOOL_PREFIX)-gcc $(GCC_OPT) -c -DIC=0 -DDC=0 -o $@ $< |
|
$(RESET_ICDC): $(SUPPORT_DIR)/reset.S $(BOARD_HDR) |
$(RESET_ICDC): $(SUPPORT_DIR)/reset.S $(OR1200_HDR) $(BOARD_HDR) |
$(OR32_TOOL_PREFIX)-gcc $(GCC_OPT) -c -DIC=1 -DDC=1 -o $@ $< |