diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 1998-09-29 12:40:33 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 1998-09-29 12:40:33 +0000 |
commit | 21bfd93aaff71a70ca426adb5ccd8397e7d8e5ef (patch) | |
tree | e40c0ed97a4fb9be2d60851600abc4adc22976a3 /c/src/lib/libcpu/sh/sh7032/clock | |
parent | Patch from Eric Norum <eric@skatter.usask.ca>: (diff) | |
download | rtems-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/sh7032/clock')
-rw-r--r-- | c/src/lib/libcpu/sh/sh7032/clock/ckinit.c | 6 |
1 files changed, 4 insertions, 2 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 ); } } |