| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit covers at least PR2020, 2022, and 2023. This
patch adds all of the code for both BSPs, modifications
to libcpu/powerpc for the ppc440, and some updates to the
BSPs from follow up review and testing.
These BSPs should be good baselines for future development.
The configurations used by Ric are custom and have a non-standard
NIC. They also do not have a UART. Thus the current console
driver just prints to a RAM buffer.
The NIC and UART support are left for future work. When the UART
support is added, moving the existing "to RAM" console driver to
a shared location is likely desirable because boards with no debug
UART port are commonly deployed. This would let printk() go to RAM.
|
|\
| |
| |
| | |
Add IRQ support components needed by new BSD code.
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
This fix is critical. The previous implementation leads to system
corruption.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Change the meaning of the compare result to simplify comparison of
integer keys.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- RTD316 is a PC-104 board with one Z85C30 SCC for two synchronous
or asynchronous serial ports.
http://www.rtd.com/PC104/UM/network/CM316HR.htm
- Exar 17D15X is a chip with 2, 4, or 8 NS16550 compatible
serial ports with a PCI interface. It may be found on
many multi-port serial ports including:
http://www.rtd.com/PC104/UM/network/CM17320HR.htm
|
| |
| |
| |
| |
| |
| | |
Removed old LEON2 definitions never used in LEON3 leon.h.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
|
| |
| |
| |
| | |
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
|
| |
| |
| |
| | |
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
|
|\ \
| |/
|/|
| | |
c/src/lib/libbsp/powerpc/psim/startup/linkcmds
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If bsp_early_malloc() is called early during boot room will be
allocated after BSS END. If the function is called after boot
is will call malloc() instead. The returned memory is not freeable
and always 8-byte aligned.
If the bsp_early_malloc() isn't called the function is not
dragged in and the workspace will be unmodified in size.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
|
| |
| |
| |
| | |
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
|
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| | |
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Adds to confdefs a way to specify rtems_resource_unlimited for classic and
posix objects using a new macro CONFIGURE_OBJECTS_UNLIMITED.
Use CONFIGURE_OBJECTS_ALLOCATION_SIZE to declare the allocation size for
extending the set of objects at runtime. Updates the unlimited sample
to demonstrate how to use the new macros. Also adds new documentation in
the C User's Manual regarding configuring with unlimited objects.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When data cache snooping is not present the cache needs
flushing, the SPARC LEON CPUs does not have to ability
to flush individual cache rows and flushing all cache is
expensive. Instead the LDA instruction is used to force
cache miss on individual loads during the IP-align copy
operation required anyway.
GRETH GBIT non-snooping systems are still unsupported,
since it use zero-copy (can deal with unaligned DMA).
Let the bsp.h select if the GRETH driver is supported.
Currently only the LEON2/LEON3 platforms BSPs builds the
driver.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Moved the intelligence whether the driver is supported or not
completely to the BSP, now that bsp.h is included (even though it
is a driver... hmm). The ERC32 was never supported, so HAS_SMC91111
is not added to erc32/include/bsp.h.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
|
| |
| |
| |
| | |
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
|
| |
| |
| |
| | |
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The low level routines can be used in different occasions, it will be
required when accessing PCI.
Note the difference between byteorder.h (inlined functions) and access.S
where the functions will be declared in the library archive librtemscpu.a.
Function names starting with _ are in library and can be referenced by
function pointers.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
|
| |
| |
| |
| |
| | |
Add the trap vector to the interrupt frame. Also rename the assembly
macro that accesses the field to be consistent with similar macros.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The compaction process needs erased blocks. It is only possible to
erase an entire segment. Thus in order to make a progress we always
need enough erased blocks to empty a used or available segment which can
be erased in turn. A (possibly the worst case) lower bound of erased
blocks is the block count of the largest segment. The number of
unavailable blocks specified by the configuration will be used to
determine the erase blocks starvation situation. The number of
unavailable blocks must be greater than or equal to the number of blocks
in the largest segment.
|
| | |
|
| | |
|