summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/sh/sh7045/score/ispsh7045.c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2001-08-16 21:08:28 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2001-08-16 21:08:28 +0000
commit7ae512513f37ccce1d5beeb4807b5b4b765025d7 (patch)
tree72a15dffde7261d72011432627201d87ded2cdac /c/src/lib/libcpu/sh/sh7045/score/ispsh7045.c
parent2001-08-01 Radzislaw Galler <rgaller@et.put.poznan.pl> (diff)
downloadrtems-7ae512513f37ccce1d5beeb4807b5b4b765025d7.tar.bz2
2001-08-10 Radzislaw Galler <rgaller@et.put.poznan.pl>
* score/cpu_asm.c (sh_set_irq_priority): Changed interrupt vector number range check and handling of interrupt priority regs to conform SH2 specs. * sci/sci_termios.c: New file. * include/sci_termios.h: New file. * include/Makefile.am (EXTRA_DIST): Added sci_termios.h. (include_sh_HEADERS): Added sci_termios.h. * score/ispsh7045.c (isp): Calling an ISR with immediate argument casued negative sign extension for vector numbers of 128 and above. This was fixed. * sci/sci.c: Cleaned initialization of SCI registers; added necessary setup for new TERMIOS console cooperation
Diffstat (limited to '')
-rw-r--r--c/src/lib/libcpu/sh/sh7045/score/ispsh7045.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/c/src/lib/libcpu/sh/sh7045/score/ispsh7045.c b/c/src/lib/libcpu/sh/sh7045/score/ispsh7045.c
index 44aeaff8f1..85aa9d20e6 100644
--- a/c/src/lib/libcpu/sh/sh7045/score/ispsh7045.c
+++ b/c/src/lib/libcpu/sh/sh7045/score/ispsh7045.c
@@ -123,9 +123,10 @@ asm (".global _"Str(name)"\n\t" \
" sts.l mach,@-r15 \n\t" \
" sts.l macl,@-r15 \n\t" \
" mov r15,r14 \n\t" \
+ " mov.l "Str(name)"_v, r2 \n\t" \
" mov.l "Str(name)"_k, r1\n\t" \
" jsr @r1 \n\t" \
- " mov #"Str(number)", r4\n\t" \
+ " mov r2,r4 \n\t" \
" mov r14,r15 \n\t" \
" lds.l @r15+,macl \n\t" \
" lds.l @r15+,mach \n\t" \
@@ -143,7 +144,9 @@ asm (".global _"Str(name)"\n\t" \
" nop \n\t" \
" .align 2 \n\t" \
#name"_k: \n\t" \
- ".long "Str(func));
+ ".long "Str(func)"\n\t" \
+ #name"_v: \n\t" \
+ ".long "Str(number));
/************************************************
* Dummy interrupt service procedure for