forked from Imagelibrary/rtems
@@ -28,10 +28,6 @@
|
||||
#include <rtems/timecounter.h>
|
||||
#include <rtems/score/sparcimpl.h>
|
||||
|
||||
#if SIMSPARC_FAST_IDLE==1
|
||||
#define CLOCK_DRIVER_USE_FAST_IDLE 1
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The Real Time Clock Counter Timer uses this trap type.
|
||||
*/
|
||||
|
||||
@@ -30,19 +30,6 @@ of test message) and then exit. In this case, the program returns control
|
||||
to the simulator command line before the program has even queued the output
|
||||
to the uart. Thus sis has no chance of getting the data out.])
|
||||
|
||||
RTEMS_BSPOPTS_SET([SIMSPARC_FAST_IDLE],[*],[])
|
||||
RTEMS_BSPOPTS_HELP([SIMSPARC_FAST_IDLE],
|
||||
[If defined, speed up the clock ticks while the idle task is running so
|
||||
time spent in the idle task is minimized. This significantly reduces
|
||||
the wall time required to execute the RTEMS test suites.])
|
||||
|
||||
RTEMS_BSPOPTS_SET([ENABLE_SIS_QUIRKS],[sis],[1])
|
||||
RTEMS_BSPOPTS_SET([ENABLE_SIS_QUIRKS],[*],[0])
|
||||
RTEMS_BSPOPTS_HELP([ENABLE_SIS_QUIRKS],
|
||||
[If defined, then the SIS simulator specific code in the
|
||||
BSP will be enabled. In particular, SIS requires special
|
||||
initialization not used on real ERC32 hardware.])
|
||||
|
||||
RTEMS_BSPOPTS_SET([BSP_POWER_DOWN_AT_FATAL_HALT],[*],[])
|
||||
RTEMS_BSPOPTS_HELP([BSP_POWER_DOWN_AT_FATAL_HALT],
|
||||
[If defined, CPU is spinning on fatal exit. Otherwise generate system
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
#
|
||||
# Configuration file for the SPARC/ERC32 Simulator SIS
|
||||
#
|
||||
|
||||
include $(RTEMS_ROOT)/make/custom/erc32.cfg
|
||||
@@ -52,15 +52,9 @@ void benchmark_timer_initialize(void)
|
||||
|
||||
}
|
||||
|
||||
#if ENABLE_SIS_QUIRKS
|
||||
#define AVG_OVERHEAD 8 /* It typically takes 3.0 microseconds */
|
||||
/* to start/stop the timer. */
|
||||
#define LEAST_VALID 9 /* Don't trust a value lower than this */
|
||||
#else
|
||||
#define AVG_OVERHEAD 12 /* It typically takes 3.0 microseconds */
|
||||
/* to start/stop the timer. */
|
||||
#define LEAST_VALID 13 /* Don't trust a value lower than this */
|
||||
#endif
|
||||
|
||||
benchmark_timer_t benchmark_timer_read(void)
|
||||
{
|
||||
|
||||
@@ -27,10 +27,6 @@
|
||||
#include <rtems/timecounter.h>
|
||||
#include <rtems/score/sparcimpl.h>
|
||||
|
||||
#if SIMSPARC_FAST_IDLE==1
|
||||
#define CLOCK_DRIVER_USE_FAST_IDLE 1
|
||||
#endif
|
||||
|
||||
static rtems_timecounter_simple leon2_tc;
|
||||
|
||||
static uint32_t leon2_tc_get( rtems_timecounter_simple *tc )
|
||||
|
||||
@@ -30,12 +30,6 @@ of test message) and then exit. In this case, the program returns control
|
||||
to the simulator command line before the program has even queued the output
|
||||
to the uart. Thus sis has no chance of getting the data out.])
|
||||
|
||||
RTEMS_BSPOPTS_SET([SIMSPARC_FAST_IDLE],[*],[])
|
||||
RTEMS_BSPOPTS_HELP([SIMSPARC_FAST_IDLE],
|
||||
[If defined, speed up the clock ticks while the idle task is running so
|
||||
time spent in the idle task is minimized. This significantly reduces
|
||||
the wall time required to execute the RTEMS test suites.])
|
||||
|
||||
RTEMS_BSPOPTS_SET([BSP_POWER_DOWN_AT_FATAL_HALT],[*],[])
|
||||
RTEMS_BSPOPTS_HELP([BSP_POWER_DOWN_AT_FATAL_HALT],
|
||||
[If defined, CPU is spinning on fatal exit. Otherwise generate system
|
||||
|
||||
@@ -36,10 +36,6 @@
|
||||
*/
|
||||
#ifndef RTEMS_DRVMGR_STARTUP
|
||||
|
||||
#if SIMSPARC_FAST_IDLE==1
|
||||
#define CLOCK_DRIVER_USE_FAST_IDLE 1
|
||||
#endif
|
||||
|
||||
/* LEON3 Timer system interrupt number */
|
||||
static int clkirq;
|
||||
|
||||
|
||||
@@ -27,12 +27,6 @@ RTEMS_BSPOPTS_HELP([CONSOLE_USE_INTERRUPTS],
|
||||
Under the simulator (especially when FAST_UART is defined), polled seems
|
||||
to operate better.])
|
||||
|
||||
RTEMS_BSPOPTS_SET([SIMSPARC_FAST_IDLE],[*],[])
|
||||
RTEMS_BSPOPTS_HELP([SIMSPARC_FAST_IDLE],
|
||||
[If defined, speed up the clock ticks while the idle task is running so
|
||||
time spent in the idle task is minimized. This significantly reduces
|
||||
the wall time required to execute the RTEMS test suites.])
|
||||
|
||||
RTEMS_BSPOPTS_SET([BSP_LEON3_SMP],[*],[1])
|
||||
RTEMS_BSPOPTS_HELP([BSP_LEON3_SMP],
|
||||
[Always defined when on a LEON3 to enable the LEON3 support for
|
||||
|
||||
@@ -305,62 +305,6 @@ cpu0:
|
||||
mov %sp, %fp ! Set frame pointer
|
||||
nop
|
||||
|
||||
#if ENABLE_SIS_QUIRKS==1
|
||||
|
||||
#include <erc32.h>
|
||||
|
||||
/* Check if MEC is initialised. If not, this means that we are
|
||||
running on the simulator. Initiate some of the parameters
|
||||
that are done by the boot-prom otherwise.
|
||||
*/
|
||||
|
||||
set SYM(ERC32_MEC), %g3 ! g3 = base address of peripherals
|
||||
ld [%g3], %g2
|
||||
set 0xfe080000, %g1
|
||||
andcc %g1, %g2, %g0
|
||||
bne 2f
|
||||
|
||||
/* Set the correct memory size in MEC memory config register */
|
||||
|
||||
set SYM(PROM_SIZE), %l0
|
||||
set 0, %l1
|
||||
srl %l0, 18, %l0
|
||||
1:
|
||||
tst %l0
|
||||
srl %l0, 1, %l0
|
||||
bne,a 1b
|
||||
inc %l1
|
||||
sll %l1, 8, %l1
|
||||
|
||||
set SYM(RAM_SIZE), %l0
|
||||
srl %l0, 19, %l0
|
||||
1:
|
||||
tst %l0
|
||||
srl %l0, 1, %l0
|
||||
bne,a 1b
|
||||
inc %l1
|
||||
sll %l1, 10, %l1
|
||||
|
||||
! set the Memory Configuration
|
||||
st %l1, [ %g3 + ERC32_MEC_MEMORY_CONFIGURATION_OFFSET ]
|
||||
!DISABLE THE HARDWARE WATCHDOG
|
||||
st %g0, [ %g3 + ERC32_MEC_WATCHDOG_TRAP_DOOR_SET_OFFSET ]
|
||||
!Reduce the number of wait states to 0 for all memory areas.
|
||||
st %g0, [ %g3 + ERC32_MEC_WAIT_STATE_CONFIGURATION_OFFSET ]
|
||||
|
||||
set SYM(RAM_START), %l1 ! Cannot use RAM_END due to bug in linker
|
||||
set SYM(RAM_SIZE), %l2
|
||||
add %l1, %l2, %sp
|
||||
st %sp, [%g5]
|
||||
|
||||
|
||||
set SYM(CLOCK_SPEED), %g5 ! Use 14 MHz in simulator
|
||||
set 14, %g1
|
||||
st %g1, [%g5]
|
||||
|
||||
2:
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Copy the initialized data to RAM
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user