Subversion Repositories minsoc

Compare Revisions

  • This comparison shows the changes necessary to convert path
    from Rev 74 to Rev 69
    Reverse comparison

Rev 74 → Rev 69

105,8 → 105,8
l.ori r1,r1,lo(_stack)
/* Jump to main */
l.movhi r2,hi(CLABEL(reset))
l.ori r2,r2,lo(CLABEL(reset))
l.movhi r2,hi(reset)
l.ori r2,r2,lo(reset)
l.jr r2
14,8 → 14,8
$(EXCPT_HNDLR): $(SUPPORT_DIR)/except.S $(OR1200_HDR)
$(OR32_TOOL_PREFIX)-gcc $(GCC_OPT) -c -o $@ $<
$(OR32_TOOL_PREFIX)-gcc $(GCC_OPT) -c -DIC=0 -DDC=0 -o $@ $<
$(OR32_TOOL_PREFIX)-gcc $(GCC_OPT) -c -DIC=1 -DDC=1 -o $@ $<
20,10 → 20,6
/* 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)
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 CLABEL(handler) ;\
l.j handler ;\
.org 0x000

powered by: WebSVN 2.1.0

© copyright 1999-2024, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.