summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/sh
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1998-09-29 12:40:33 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1998-09-29 12:40:33 +0000
commit21bfd93aaff71a70ca426adb5ccd8397e7d8e5ef (patch)
treee40c0ed97a4fb9be2d60851600abc4adc22976a3 /c/src/lib/libcpu/sh
parentPatch from Eric Norum <eric@skatter.usask.ca>: (diff)
downloadrtems-21bfd93aaff71a70ca426adb5ccd8397e7d8e5ef.tar.bz2
Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
Please find enclosed a patch which enables me to build the bare-bsp for sh-rtems. Changes: 1. Add preinstall to libbsp/bare/include/Makefile.in 2. Removed FORCEIT, add preinstall to libbsp/sh/gensh1/include/Makefile.in 3. Disabled support of set_vector from sh code (shared/setvec.c is still present but isn't used anymore), set_vector replaced with standard rtems functions. Problems still present: 1. Support of spin-delays in bare bsp 2. Proper support of cpu frequency To configure I used: <srcdir>/configure \ --target=sh-rtems \ --prefix=<instdir>/sh-bare \ --enable-bare-cpu-model=sh7032 \ --enable-bare-cpu-cflags='-Wall -m1 -DMHZ=20 -DCPU_CONSOLE_DEVNAME="\"/dev/null\""' --enable-rtemsbsp=bare \ --disable-networking \ --disable-cxx \ --disable-posix \ --disable-tests IMO, if there are no objections to this patch, a similar approach should be applied to all CPUs/BSPs (esp. hppa1.1, mips64orion, ppc403, because they apply set_vector inside of libcpu).
Diffstat (limited to 'c/src/lib/libcpu/sh')
-rw-r--r--c/src/lib/libcpu/sh/sh7032/clock/ckinit.c6
-rw-r--r--c/src/lib/libcpu/sh/sh7032/include/Makefile.in3
-rw-r--r--c/src/lib/libcpu/sh/sh7032/timer/timer.c6
3 files changed, 7 insertions, 8 deletions
diff --git a/c/src/lib/libcpu/sh/sh7032/clock/ckinit.c b/c/src/lib/libcpu/sh/sh7032/clock/ckinit.c
index 868d0cbf4b..885cdbd752 100644
--- a/c/src/lib/libcpu/sh/sh7032/clock/ckinit.c
+++ b/c/src/lib/libcpu/sh/sh7032/clock/ckinit.c
@@ -152,7 +152,7 @@ void Install_clock(
*/
if ( BSP_Configuration.ticks_per_timeslice ) {
- Old_ticker = (rtems_isr_entry) set_vector( Clock_isr, CLOCK_VECTOR, 1 );
+ rtems_interrupt_catch( Clock_isr, CLOCK_VECTOR, &Old_ticker );
/*
* Hardware specific initialize goes here
*/
@@ -280,8 +280,10 @@ rtems_device_driver Clock_control(
}
else if (args->command == rtems_build_name('N', 'E', 'W', ' '))
{
+ rtems_isr_entry ignored ;
rtems_interrupt_disable( isrlevel );
- (void) set_vector( args->buffer, CLOCK_VECTOR, 1 );
+ rtems_interrupt_catch( args->buffer, CLOCK_VECTOR, &ignored );
+
rtems_interrupt_enable( isrlevel );
}
}
diff --git a/c/src/lib/libcpu/sh/sh7032/include/Makefile.in b/c/src/lib/libcpu/sh/sh7032/include/Makefile.in
index 8b531dfb69..1a0b064c05 100644
--- a/c/src/lib/libcpu/sh/sh7032/include/Makefile.in
+++ b/c/src/lib/libcpu/sh/sh7032/include/Makefile.in
@@ -26,6 +26,3 @@ all: install
install:
test -d $(PROJECT_INCLUDE)/sh || $(MKDIR) $(PROJECT_INCLUDE)/sh
$(INSTALL) -m 444 $(H_FILES) $(PROJECT_INCLUDE)/sh
-
-all: FORCEIT
- cd ../../../../libbsp/$(RTEMS_CPU)/$(RTEMS_BSP)/include; $(MAKE) all
diff --git a/c/src/lib/libcpu/sh/sh7032/timer/timer.c b/c/src/lib/libcpu/sh/sh7032/timer/timer.c
index 8aa6cb9b27..ddf8bfc06b 100644
--- a/c/src/lib/libcpu/sh/sh7032/timer/timer.c
+++ b/c/src/lib/libcpu/sh/sh7032/timer/timer.c
@@ -62,10 +62,10 @@ rtems_boolean Timer_driver_Find_average_overhead;
void Timer_initialize( void )
{
- rtems_unsigned8 temp8;
+ rtems_unsigned8 temp8;
rtems_unsigned16 temp16;
rtems_unsigned32 level;
- rtems_isr* ignored;
+ rtems_isr *ignored;
/*
* Timer has never overflowed. This may not be necessary on some
@@ -117,7 +117,7 @@ void Timer_initialize( void )
write16( temp16, INTC_IPRC);
/* initialize ISR */
- ignored = set_vector( timerisr, ITU1_VECTOR, 0);
+ _CPU_ISR_install_raw_handler( ITU1_VECTOR, timerisr, &ignored );
_CPU_ISR_Enable( level);
/* start timer 1 */