| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
|
| |
|
| |
|
|
|
|
| |
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
|
|
|
|
| |
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The UART indexing was rather a mess when MP was enabled. The changes
introduces two weak variables syscon_uart_index and debug_uart_index
so that the user can override the default system debug console (printk)
and system console UART (/dev/console).
The two weak variables is updated on boot to reflect the "real" UART
index.
MINOR DEVICE-FS-NAME UART
0 /dev/console Default /dev/console_a, user selectable
1 /dev/console_a APBUART[0] (missing by default)
2 /dev/console_b APBUART[1]
...
/dev/console_a is by default renamed /dev/console and assigned minor=0,
but user can select /dev/console_['a'+N] to be renamed to /dev/console
by setting syscon_uart_index=N.
On a MP system the console renamed to /dev/console is selected by CPU
index (LEON3_Cpu_Index). /dev/console_['a' + LEON3_Cpu_Index] is
renamed unless overrided. Resource sharing is performed by the user,
one should not open/access a console that another OS instance uses.
This patch also moves the initialization of the UART to the open()
call, note that before APBUART[0] was always enabled as debug uart
even on MP systems. The debug UART is initialized at boot time.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
|
| |
|
| |
|
|
|
|
| |
Add defines MPC55XX_HAS_SIU and MPC55XX_HAS_SIU_LITE.
|
| |
|
| |
|
|
|
|
|
|
| |
Do not use the e300 core decrementer auto-reload feature. We have to
use the normal decrementer handler since otherwise it is impossible to
pass test sptests/spnsext01.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
The clock driver used previously the bsp_clicks_per_usec value. For a
33333333Hz time base frequency this leads to a relative error of one per
cent for example due to integer truncation.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- 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>
|
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|