| Commit message (Collapse) | Author | Files | Lines |
|
Adjust build support files to new directory layout.
This patch is a part of the BSP source reorganization.
Update #3285.
|
|
Use RTEMS_SYSINIT_ITEM() instead.
Update #2408.
|
|
|
|
Rework CPU counter support to enable use of the GR740 up-counter via
%asr22 and %asr23.
|
|
|
|
|
|
|
|
Provide it also if RTEMS_MULTIPROCESSING is defined.
|
|
|
|
|
|
|
|
Add _LEON3_Get_current_processor().
|
|
Add a CPU counter interface to allow access to a free-running counter.
It is useful to measure short time intervals. This can be used for
example to enable profiling of critical low-level functions.
Add two busy wait functions rtems_counter_delay_ticks() and
rtems_counter_delay_nanoseconds() implemented via the CPU counter.
|
|
Do not return a status.
|
|
|
|
Script does what is expected and tries to do it as
smartly as possible.
+ remove occurrences of two blank comment lines
next to each other after Id string line removed.
+ remove entire comment blocks which only exited to
contain CVS Ids
+ If the processing left a blank line at the top of
a file, it was removed.
|
|
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>
|
|
|
|
PR 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>
|
|
* amba/amba.c, include/tm27.h, shmsupp/lock.c, startup/bspstart.c,
startup/spurious.c:
Use "__asm__" instead of "asm" for improved c99-compliance.
|
|
* Makefile.am, amba/amba.c, console/console.c, console/debugputs.c,
startup/bspstart.c: Rework initialization order so AMBA bus is
scanned earlier. This lets us look for UARTs earlier and support
printk as early as bsp_start() returning.
|
|
|
|
* Makefile.am, startup/bspstart.c:
Use ../../sparc/shared/bsppretaskinghook.c.
* console/console.c: Remove sis comment.
|
|
* Makefile.am, startup/bspstart.c: Use shared bsp_get_work_area() into
its own file and use BSP Framework to perform more initialization.
|
|
|
|
added support for an optional separate heap area.
|
|
* Makefile.am, configure.ac, startup/bspstart.c: Add capability for
bootcard.c BSP Initialization Framework to ask the BSP where it has
memory for the RTEMS Workspace and C Program Heap. These collectively
are referred to as work area. If the BSP supports this, then it does
not have to include code to split the available memory between the
two areas. This reduces the amount of code in the BSP specific
bspstart.c file. Additionally, the shared framework can initialize
the C Library, call rtems_debug_enable(), and dirty the work area
memory. Until most/all BSPs support this new capability, if the BSP
supports this, it should call
RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION from its configure.ac. When
the transition is complete, this autoconf macro can be removed.
|
|
* startup/bspstart.c: Refactored and renamed initialization routines to
rtems_initialize_data_structures, rtems_initialize_before_drivers,
rtems_initialize_device_drivers, and
rtems_initialize_start_multitasking. This opened the sequence up so
that bootcard() could provide a more robust and flexible framework
which is easier to explain and understand. This also lays the
groundwork for sharing the division of available memory between the
RTEMS workspace and heap and the C library initialization across all
BSPs.
|
|
* clock/ckinit.c, include/bsp.h, startup/bspstart.c: Eliminate copies
of the Configuration Table. Use the RTEMS provided accessor macros to
obtain configuration fields.
|
|
* amba/amba.c, clock/ckinit.c, console/console.c, include/bsp.h,
startup/bspstart.c, timer/timer.c: Move interrupt_stack_size field
from CPU Table to Configuration Table. Eliminate CPU Table from all
ports. Delete references to CPU Table in all forms.
|
|
* amba/amba.c, startup/bspstart.c: Moved most of the remaining CPU
Table fields to the Configuration Table. This included
pretasking_hook, predriver_hook, postdriver_hook, idle_task,
do_zero_of_workspace, extra_mpci_receive_server_stack,
stack_allocate_hook, and stack_free_hook. As a side-effect of this
effort some multiprocessing code was made conditional and some style
clean up occurred.
|
|
* include/bsp.h, startup/bspstart.c: LEON2 and LEON3 Data cache
snooping detection on startup, for drivers. (LEON2,3 are configurable
processors, they can be with or without DCache snooping. Caches
without snooping needs the drivers to flush cache or use the sparc
instruction lda to force cache miss...)
|
|
* include/bsp.h, startup/bspstart.c, startup/spurious.c: hello and
ticker now run using runtest.
|
|
* console/debugputs.c, include/bsp.h, leon_smc91111/leon_smc91111.c,
startup/bspstart.c, startup/spurious.c: Remove debug print methods
that are redundant with prntk and replace their use with printk.
|
|
* startup/bspstart.c: Remove assignments of
Cpu_table.do_zero_of_workspace to TRUE since TRUE is the default
value in boot_card.c
|
|
* clock/ckinit.c, startup/bspstart.c: Use common clock driver template
and eliminate all fast idle code specific to this BSP. This
eliminates a fair amount of code in the BSP clock driver and
bsp_startup. The LEON3 has to do a scan of the AMBA bus to find the
timer so I added the new hook Clock_driver_support_find_timer to
support this. In general, there was some clean up to the file headers
of various files.
|
|
|
|
|
|
|
|
* bspstart.c, gnatcommon.c: Convert to using c99 fixed size types.
|
|
* bspstart.c: Obsoleting HP PA-RISC port and removing all references.
|
|
* bspclean.c, bspstart.c: URL for license changed.
|
|
* ChangeLog, .cvsignore, Makefile.am, bspclean.c, bspstart.c,
gnatcommon.c, start.S: New files. Largely moved from ERC32
BSP to be able to be shared with LEON and other SPARC BSPs.
|
|
* startup/bspstart.c: assoc.h, error.h, libio_.h, libio.h,
and libcsupport.h moved from libc to lib/include/rtems and
now must be referenced as <rtems/XXX.h>. Header file order
was cleaned up while doing this.
|
|
|
|
|
|
is now correct enough where this is not necessary. This was in to
cover up the deficiencies in figuring out how much memory a GNAT/RTEMS
application required. There is a good stab at this now.
|
|
|
|
code in each BSP's bspstart.c. These changes were:
+ confdefs.h now knows libio's semaphore requirements
+ shared/main.c now copies Configuration to BSP_Configuration
+ shared/main.c fills in the Cpu_table with default values
This removed the need for rtems_libio_config() and the constant
BSP_LIBIO_MAX_FDS in every BSP. Plus now the maximum number of open
files can now be set on the gcc command line.
|