The comment in configure.ac is probably inherited from the LEON2
BSP. The LEON3 console driver implements a "flush" mechanism on
console_close() in order to solve the problem described with
sis/LEON2.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
The drivers are updated to use the new AMBA layer, however the
backwards-compatibility interface (ambapp_old) is used.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
The old layer had some limitations/problems for multiple AHB
buses since the data structure containing all AMBA devices
were allocated before scanning.
The new layer create devices as they are found and memory is
allocated using malloc() or bsp_early_malloc() during booting.
The old 8 functions for finding a specific AHB-Slave or
APB-Slave device has been replaced with one function,
ambapp_for_each(), which iterates over all devices matching
the specified search options and calls a user provided
function. The new way lowers the footprint and makes searching
more flexible.
The frequency information is now supported, if the frequency
of one device is reported by the user.
More AHB-to-AHB bridges are supported.
The API has been split into several parts in order to lower the
footprint.
The API also introduces the AMBAPP CORE concept, where one
ambapp_core can be created from one AHB Master, AHB Slave
and one APB Slave, at least one device is required for creating
a core.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
Do not use the unavailable block count as the erased blocks starvation
threshold. Use instead the block count of the largest segment. This
improves the starvation resolution gain of available blocks.
Since the CBS scheduler is inspired by AQuoSA project for Linux, additional API
(qreslib) compliant with Linux has been created.
Sptest for qreslib included.
Adds documentation on the scheduler options and scheduler selection
to the User's Manual to reflect changes made in the development of
pluggable scheduling with EDF and CBS schedulers.
The new function rtems_bdbuf_set_block_size() must be used to set the
block size of a disk device. It will check if the block size is valid
and set the new fields block_to_media_block_shift and bds_per_group of
the rtems_disk_device structure. This helps to avoid complex arithmetic
operations in the block device buffer get and read path.
New macros
o _Objects_Maximum_per_allocation(),
o rtems_resource_is_unlimited(), and
o rtems_resource_maximum_per_allocation().
New function
o _Objects_Is_unlimited().
In the Red-Black Tree Heap the administration data structures are not
contained in the managed memory area. This can be used for example in a
task stack allocator which protects the task stacks from access by other
tasks.
New functions
o _RBTree_Next_unprotected(),
o _RBTree_Next(),
o _RBTree_Successor_unprotected(),
o _RBTree_Predecessor_unprotected(),
o rtems_rbtree_successor_unprotected(), and
o rtems_rbtree_predecessor_unprotected().
Change prototype of
o _RBTree_Successor(),
o _RBTree_Predecessor(),
o rtems_rbtree_successor(), and
o rtems_rbtree_predecessor().
Fixed a bug where the vector number is used to clean and unmask
the IRQ at the IRQ controller, the irq number must be used.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
The ISR code is updated to use argument instead of global greth
structure, now that the greth private is available in the ISR.
The shared-irq routines will unmask the IRQ, so the forced LEON3
BSP unmask/clear IRQ is removed.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
The implementation use IRQ number instead of vector number since
some IRQs does not have a unique vector, for example the extended
interrupts all enter the same trap vector entry.
Added support for the LEON3 extended interrupt controller when using
the shared IRQ layer.
ERC32 patches untested.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
Regenerate