Added definitions of STDOUT_FILENO and STDERR_FILENO in bsp.h.
Removed the tools subdirectory in c/src/lib/libbsp/patmos/pasim. The tools subdirectory provide additional tools that aid in using the target board, namely a script to automate running the RTEMS Test Suites on the BSP.
For functions boot_card and abort_trap, included the __attribute__ ((used)) attribute in the file headers, and removed the attribute in the actual function declaration.
Fixed some hard_reset code, mostly related to the assembly nomenclature.
In CPU_Context_Switch and CPU_Context_Restore routines, added instruction to reset r0, and spilled cache in CPU_Context_Restore.
Reviewed the CPU_Context_Initialize routine.
Removed the CPU_Minimum_Stack structure from the Patmos CPU, and reviewed all the Patmos context areas (general, floating point, interrupt). Removed structure CPU_Trap_table_entry, macro _CPU_Context_Initialization_at_thread_begin. Adapted the _CPU_Fatal_halt macro to Patmos.
Substituted the whole timer.c with the content retrieved from the no_cpu/no_bsp folder.
Removed the timing test suite (times file) from the Pasim BSP.
Added bsp_specs to the Pasim BSP.
Fixed the storage of the hard_reset function in register r30 in the hard_reset function.
Removed function bspidle.S that defines the idle thread from the Pasim BSP.
Removed snooping function from bspstart.c in Pasim.
PR 2015/bsps
Since the configuration struct is always present one can let
DATA initialize it to reduce footprint, at the same time it
is made weak to let the user able to configure the SHM driver
without editing the driver code.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* console/console.c: char_ready() was never returning true so console
never processed input data
* console/console.c: added printk() support to default device
* include/bsp.h: Added #define for MOT_162BUG_VEC_ADDRESS
* startup/bspclean.c: Modified to use MOT_162BUG_VEC_ADDRESS
* startup/bspstart.c: Modified to use MOT_162BUG_VEC_ADDRESS
* make/custom/mvme162.cfg: Modified to use "RTEMS_CPU_MODEL=68lc040"
and "CPU_CFLAGS = -mcpu=68040 -msoft-float" so BSP will always
work with all board variations.
* README: Added notes on user required configuration changes and
information about board models and variants
* README.models: New file that contains a detailed list of MVME162
models and variants.
Signed-off-by: Vic Hoover <victor.hoover.ctr@navy.mil>
GRETH driver updated, 10-15% performance improvements for GBIT MAC,
unnecessary RX interrupts not taken which under heavy load saves approx.
1500 interrupts/s, one task removed saving about 5kb memory and 1 bug
solved.
BUG: RX interrupt was enabled before the RX-daemon was created which could
result in a faulty call to rtems_event_send.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
Deadlock may arise when the EDCL bug link is used to tunnel
console output over Ethernet, when Ethernet is down one should
avoid using console (only during debugging of LEON targets)
Author: Marko Isomaki <marko@gaisler.com>
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
PR 2010/bsps
The previous code only checked if d-cache snooping was implemented,
however snooping may be available but not enabled which may lead
to driver bugs.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
2009/bsps
All LEON3/4 systems have a CPU-id, if on a single-CPU system the
ID is always zero. On a multicore system it ranges from 0 to 15.
The CPU index should always by updated even in a non-MP RTEMS OS
since the CPU running RTEMS may not always be CPU0. For example
when RTEMS runs on CPU1 and Linux on CPU0 in a mixed ASMP system.
The old code executed within the IRQ controller initialization code
makes no sense since the ASR register is a CPU register, it has
nothing to do with AMBA initialization either.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
The SHM code always wakes one CPU more that configured, however
this has never been a problem since RTEMS will be running on all CPUs
or only two cores were available.
PR 2006/bsps
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* irq/irq.c: Removed printk() before the interrupt initialization
because it somehow destroys the interrupt context.
* make/custom/nds.cfg: Enable Thumb interwork.
* startup/bspstart.c: Set default exception handler.