bsps: Convert README to MarkDown

This commit is contained in:
Amar Takhar
2024-08-05 21:37:42 +00:00
parent 3139d38137
commit 28180a1fa9
36 changed files with 401 additions and 242 deletions
@@ -1,5 +1,9 @@
Generic or1k
============
This BSP can run on or1ksim, QEMU, jor1k [1] and OpenRISC supported FPGA boards.
```shell
$ git clone git@github.com:openrisc/or1ksim.git
$ cd or1ksim
$ mkdir builddir_or1ksim
@@ -8,6 +12,7 @@ $ ../configure --target=or1k-elf --prefix=/opt/or1ksim
$ make all
$ make install
$ export PATH=/opt/or1ksim/bin:$PATH
```
Configuration file "sim.cfg" should be provided for complex board
configurations at the current directory (which you run or1ksim from) or at
@@ -19,16 +24,21 @@ rtems-tools/sim-scripts.
From command line type:
```shell
$ or1k-elf-sim -f sim.cfg $PATH_TO_RTEMS_EXE
```
From QEMU:
```shell
$ qemu-system-or32 -serial mon:stdio -serial /dev/null -net none -nographic \
-m 128M -kernel $PATH_TO_RTEMS_EXE
```
from sim-scripts:
```shell
$ or1ksim $PATH_TO_RTEMS_EXE
$ qemu-or1k $PATH_TO_RTEMS_EXE
```
[1] http://s-macke.github.io/jor1k/demos/rtems.html
@@ -1,9 +1,6 @@
Some information about this BSP
================================
Beatnik
=======
ACKNOWLEDGEMENTS
----------------
Acknowledgements:
Valuable information was obtained from the following drivers
netbsd: Allegro Networks Inc; Wasabi Systems Inc.
linux: MontaVista, Software, Inc; Chris Zankel, Mark A. Greer.
@@ -17,6 +14,7 @@ Acknowledgements:
inspiring discussions and Dayle Kotturi (SLAC) for her contributions, support
and extensive testing.
LICENSE
-------
See ./LICENSE file.
@@ -26,6 +24,7 @@ me (most notably, the ethernet drivers if_gfe [netbsd port] and
if_em [freebsd port]). Consult individual file headers for copyright
and authorship information.
BUILD INFO
----------
(relevant only if you received this BSP unbundled from the RTEMS distribution)
@@ -41,6 +40,7 @@ BUILD INFO
- configure with your favorite options. BSP name is 'beatnik'
I recommend passing RTEMS_CFLAGS=-g to 'configure'
TARGET
------
Even though this BSP is binary compatible with the MVME5500 it's primary
@@ -59,8 +59,9 @@ play with but we don't want to build and support an additional BSP for them.
An important detail -- hardware cache snooping -- was borrowed from
Shuchen Kate Feng's gfe driver port, though.
HARDWARE SUPPORT
===============
---------------
(some of the headers mentioned below contain more
detailed information)
@@ -1,7 +1,6 @@
#
# README
#
gen5200
=======
```
BSP NAME: gen5200
BOARD: various boards based on MPC5200 Controller:
MicroSys PM520 with Carrier board CR825
@@ -11,9 +10,11 @@ CPU: PowerPC MPC5200
COPROCESSORS: Hardware FPU
MODE: 32 bit mode, I and D cache enabled
DEBUG MONITOR: None
```
PERIPHERALS
===========
-----------
```
TIMERS: GPT
SERIAL PORTS: 3 PSCs
2 CAN IFs
@@ -24,42 +25,47 @@ VIDEO: none
SCSI: none
IDE: 1 CompactFlash Slot supported
NETWORKING: 1 FEC Fast Ethernet
```
DRIVER INFORMATION
==================
------------------
```
CLOCK DRIVER: using one GPT
IOSUPP DRIVER: none
SHMSUPP: none
TIMER DRIVER: Timebase register (lower 32 bits only)
```
STDIO
=====
-----
```
PORT: PSC1
ELECTRICAL: RS-232
BAUD: 9600
BITS PER CHARACTER: 8
PARITY: None
STOP BITS: 1
```
NOTES
=====
-----
```
On-chip resources:
PSC1 /dev/console /dev/tty00
PSC2 /dev/tty01
PSC3 /dev/tty02
```
Board description
-----------------
```
Clock rate: external clock: 33MHz
Bus width: 32 bit Flash, 32 bit SDRAM
FLASH: 8MByte
RAM: 64MByte SDRAM
```
Debugging/ Code loading:
------------------------
Tested using the Lauterbach TRACE32 ICD debugger.
@@ -1,3 +1,6 @@
MCP750
======
```
BSP NAME: MCP750
BOARD: MCP750 from motorola
BUS: PCI
@@ -7,9 +10,11 @@ COPROCESSORS: N/A
MODE: 32 bit mode
DEBUG MONITOR: PPCBUG mode
```
PERIPHERALS
===========
-----------
```
TIMERS: PPC internal Timebase register
RESOLUTION: ???
SERIAL PORTS: simulated via bug
@@ -18,27 +23,31 @@ DMA: none
VIDEO: none
SCSI: none
NETWORKING: DEC21140
```
DRIVER INFORMATION
==================
------------------
```
CLOCK DRIVER: PPC internal
IOSUPP DRIVER: N/A
SHMSUPP: N/A
TIMER DRIVER: PPC internal
TTY DRIVER: PPC internal
```
STDIO
=====
-----
```
PORT: Console port 0
ELECTRICAL: na
BAUD: na
BITS PER CHARACTER: na
PARITY: na
STOP BITS: na
```
Notes
=====
-----
Based on papyrus bsp which only really supports
the PowerOpen ABI with an ELF assembler.
@@ -1,3 +1,6 @@
Motorola PowerPC
================
The code in this directory has been taken WITH PERMISSION from
Gabriel Paubert, paubert@iram.es. The main reason for having
a separate bootloader for PreP compliant firmware is that the
@@ -35,11 +38,9 @@ initialization (e.g printk, ...).
Eric Valette (valette@crf.canon.fr)
**************************************************
2003/5/7, Greg Menke, gregory.menke@gsfc.nasa.gov
Reworked the pci bus 0 initialization a little and added support for
configuring an arbitrary number of other busses & their respective
bridges. Also added support for configuring IO ranges below 0x10000,
which I think is reasonable given this is a PowerPC bsp.
@@ -1,3 +1,6 @@
mpc55xxevb
==========
Supported MCUs:
o MPC5516
@@ -1,3 +1,6 @@
mpc8260ads
==========
```
BSP NAME: mpc8260ads
BOARD: Motorola MPC8260 ADS Evaluation board
BUS: N/A
@@ -6,9 +9,11 @@ CPU: PowerPC MPC8260
COPROCESSORS: Hardware FPU (except on revision 2J24M)
MODE: 32 bit mode, I and D cache disabled
DEBUG MONITOR: None
```
PERIPHERALS
===========
-----------
```
TIMERS: Decrementer
RESOLUTION: 0.1 microsecond
SERIAL PORTS: 4 SCCs (SSC1 and 2 are connectd to RS232 drivers)
@@ -19,25 +24,31 @@ DMA: Each serial port
VIDEO: none
SCSI: none
NETWORKING: IP over HDLC (8 Mbps) on SCC3 (MPC8260)
```
DRIVER INFORMATION
==================
------------------
```
CLOCK DRIVER: Decrementer
IOSUPP DRIVER: SCC1, SCC2
SHMSUPP: none
TIMER DRIVER: Timebase register (lower 32 bits only)
```
STDIO
=====
-----
```
PORT: SCC2
ELECTRICAL: RS-232
BAUD: 9600
BITS PER CHARACTER: 8
PARITY: None
STOP BITS: 1
```
NOTES
=====
-----
```
On-chip resources:
SCC1 console
SCC2 console
@@ -82,11 +93,10 @@ On-chip resources:
IRQ5
IRQ6
IRQ7
```
Board description
-----------------
Clock rate: 40MHz (board can run up 66MHz with alternate OSC)
Bus width: 32 bit Flash, 64 bit SDRAM
FLASH: 8M SIMM
@@ -99,7 +109,6 @@ The processor is marked with "XPC8260ZU166 166/133/66 MHz"
Board Configuration:
--------------------
The evaluation board has a number of configurable options:
DIP switch settings used:
@@ -112,7 +121,6 @@ A 40MHz oscillator is fitted to U16.
Board Connections:
------------------
Connect a serial terminal to PA3 (SCC2) configured for 9600,n,8,1 to
get console I/O. A 9way male-female straight-through cable is required to
connect to a PC.
@@ -131,7 +139,6 @@ Ground (GND) (n/a) Pin c1
Debugging/ Code loading:
------------------------
Tested using the Metrowerks debugger and Macraigor OCDemon (Raven).
The OCD connects via the parallel port and allows you to download code
to the board. It may be possible to use some other debugger if you
@@ -139,9 +146,9 @@ don't already have Metrowerks CodeWarrior.
Verification
-------------------------------
Timing tests
------------
```
*** TESTING IN PROGRESS - DO NOT BELIEVE THESE RESULTS ***
Single processor tests: Passed
@@ -321,11 +328,4 @@ Network tests:
TCP throughput (as measured by ttcp):
Receive: 1324 kbytes/sec
Transmit: 1037 kbytes/sec
```
@@ -1,10 +1,5 @@
Some information about this BSP
================================
ACKNOWLEDGEMENTS
----------------
Acknowledgements:
mvme3100
========
Valuable information was obtained from the following drivers
linux: (BCM54xx) Maciej W. Rozycki, Amy Fong.
@@ -24,8 +19,9 @@ Note that not all files that are part of this BSP were written by
myself. Consult individual file headers for copyright
and authorship information.
HARDWARE SUPPORT
===============
---------------
(some of the headers mentioned below contain more
detailed information)
@@ -1,3 +1,5 @@
mvme5500
========
Please reference README.booting for the boot/load process.
For the priority setting of the Interrupt Requests (IRQs), please
@@ -29,6 +31,7 @@ LICENSE
-------
See ./LICENSE file.
```
BSP NAME: mvme5500
BOARD: MVME5500 by Motorola
BUS: PCI
@@ -38,9 +41,11 @@ COPROCESSORS: N/A
MODE: 32/64 bit mode (support 32 bit for now)
DEBUG MONITOR: MOTLoad
SYSTEM CONTROLLER: GT64260B
```
PERIPHERALS
===========
-----------
```
TIMERS: Eight, 32 bit programmable
SERIAL PORTS: 2 NS 16550 on GT64260B
REAL-TIME CLOCK: MK48T37V
@@ -52,23 +57,28 @@ NETWORKING: Port 1: Intel 82544EI Gigabit Ethernet Controller
10/100/1000Mb/s routed to front panel RJ-45
Port 2: 10/100 Mb ethernet unit integrated on the
Marvell's GT64260 system controller
```
DRIVER INFORMATION
==================
------------------
```
CLOCK DRIVER: PPC internal
IOSUPP DRIVER: N/A
SHMSUPP: N/A
TIMER DRIVER: PPC internal
TTY DRIVER: PPC internal
```
STDIO
=====
-----
```
PORT: Console port 0
ELECTRICAL: na
BAUD: na
BITS PER CHARACTER: na
PARITY: na
STOP BITS: na
```
Jumpers
@@ -89,11 +99,10 @@ In fact, (if I did not miss anything) the mvme5500 board should function
properly if one keeps all the jumpers at factory configuration.
One can leave out the jumper on J30 to disable EEPROM programming.
Notes
=====
BSP BAT usage
----------------------
-------------
```
DBAT0 and IBAT0
0x00000000
0x0fffffff 1st 256M, for MEMORY access (caching enabled)
@@ -101,6 +110,7 @@ DBAT0 and IBAT0
DBAT1 and IBAT1
0x00000000
0x0fffffff 2nd 256M, for MEMORY access (caching enabled)
```
UPDATE: (2004/5).
The BSP now uses page tables for mapping the entire 512MB
@@ -117,6 +127,7 @@ The default VME configuration uses DBAT0 to map
more PCI memory space for use by the universe VME
bridge:
```
DBAT0
0x90000000 PCI memory space <-> VME
0x9fffffff
@@ -125,5 +136,4 @@ Port VME-Addr Size PCI-Adrs Mode:
0: 0x20000000 0x0F000000 0x90000000 A32, Dat, Sup
1: 0x00000000 0x00FF0000 0x9F000000 A24, Dat, Sup
2: 0x00000000 0x00010000 0x9FFF0000 A16, Dat, Sup
```
@@ -1,3 +1,6 @@
psim
====
```
BSP NAME: psim
BOARD: PowerPC Simulator in GDB (psim)
BUS: N/A
@@ -7,9 +10,11 @@ COPROCESSORS: N/A
MODE: 32 bit mode
DEBUG MONITOR: BUG mode (emulates Motorola debug monitor)
```
PERIPHERALS
===========
-----------
```
TIMERS: PPC internal Timebase register
RESOLUTION: ???
SERIAL PORTS: simulated via bug
@@ -18,26 +23,31 @@ DMA: none
VIDEO: none
SCSI: none
NETWORKING: none
```
DRIVER INFORMATION
==================
------------------
```
CLOCK DRIVER: PPC internal
IOSUPP DRIVER: N/A
SHMSUPP: N/A
TIMER DRIVER: PPC internal
TTY DRIVER: PPC internal
```
STDIO
=====
-----
```
PORT: Console port 0
ELECTRICAL: na
BAUD: na
BITS PER CHARACTER: na
PARITY: na
STOP BITS: na
```
Notes
=====
-----
The device tree for this BSP is included with rtems-tools and automated
testing of psim is supported by the RTEMS Tester. See
rtems-tools/tester/rtems/testing/bsps/psim-device-tree for specifics. This
@@ -1,3 +1,6 @@
mpci
====
This shared memory driver support code works with a modified version
of the PowerPC Simulator. The modifications are not yet merged
into the mainsteam distribution.
@@ -1,3 +1,5 @@
qemuppc
=======
This BSP is designed to operate on the PPC simulator provided by qemu.
We are using the Courverture Project's qemu source tree.
@@ -17,9 +19,11 @@ directory with their modified qemu is:
My BASE is /home/joel/qemu-coverage. I configured like this
from within the qemu source tree.
```shell
./configure --prefix=/home/joel/qemu-coverage/install
make
make install
```
This gives all simulated targets supported.
@@ -1,16 +1,13 @@
RTEMS ALTIVEC SUPPORT
=====================
1. History
----------
altivec
=======
Altivec support was developed and maintained as a user-extension
outside of RTEMS. This extension is still available (unbundled)
from Till Straumann <strauman@slac.stanford.edu>; it is useful
if an application desires 'lazy switching' of the altivec context.
2. Modes
--------
Modes
-----
Altivec support -- the unbundled extension, that is -- can be used
in two ways:
@@ -25,7 +22,7 @@ and mode 'a' ONLY. For mode 'b' you need the unbundled extension
(which is completely independent of this code).
Mode 'a' (All tasks are AltiVec-enabled)
- - - - - - - - - - - - - - - - - - - - -
----------------------------------------
The major disadvantage of this mode is that additional overhead is
involved: tasks that never use the vector unit still save/restore
@@ -41,7 +38,7 @@ The advantage is complete transparency to the user and full ABI
compatibility (exept for ISRs and exception handlers), see below.
Mode 'b' (Only dedicated tasks are AltiVec-enabled)
- - - - - - - - - - - - - - - - - - - - - - - - - -
---------------------------------------------------
The advantage of this mode of operation is that the vector-registers
are only saved/restored when a different, altivec-enabled task becomes
@@ -52,9 +49,9 @@ Note that this mode of operation is not supported by the code
in this directory -- you need the unbundled altivec extension
mentioned above.
3. Compiler Options
-------------------
Compiler Options
-----------------
```
Three compiler options affect AltiVec: -maltivec, -mabi=altivec and
-mvrsave=yes/no.
@@ -81,9 +78,10 @@ Three compiler options affect AltiVec: -maltivec, -mabi=altivec and
If 'IGNORE_VRSAVE' is undefined then the code *does*
use the VRSAVE information but I found that this does
not execute noticeably faster.
```
IMPORTANT NOTES
===============
---------------
AFAIK, RTEMS uses the EABI which requires a stack alignment of only 8 bytes
which is NOT enough for AltiVec (which requires 16-byte alignment).
@@ -111,15 +109,16 @@ Compiling with -mvrsave=yes does not produce incompatible code but
may have a performance impact (since extra code is produced to maintain
VRSAVE).
4. Multilib Variants
--------------------
Multilib Variants
-----------------
The default GCC configuration for RTEMS contains a -mcpu=7400 multilib
variant which is the correct one to choose.
5. BSP 'custom' file.
---------------------
BSP 'custom' file.
------------------
Now that you have the necessary newlib and libgcc etc. variants
you also need to build RTEMS accordingly.
@@ -128,15 +127,15 @@ select the desired variant:
for mode 'a':
```shell
CPU_CFLAGS = ... -mcpu=7400
```
Note that since -maltivec globally defines __ALTIVEC__ RTEMS automatially
enables code that takes care of switching the AltiVec context as necessary.
This is transparent to application code.
6. BSP support
--------------
It is the BSP's responsibility to initialize MSR_VE, VSCR and VRSAVE
during early boot, ideally before any C-code is executed (because it
may, theoretically, use vector instructions).
@@ -153,9 +152,8 @@ The BSP must
in VRSAVE in this case).
- clear VSCR
7. PSIM note
------------
PSIM note
---------
PSIM supports the AltiVec instruction set with the exception of
the 'data stream' instructions for cache prefetching. The RTEMS
altivec support includes run-time checks to skip these instruction
@@ -164,7 +162,9 @@ when executing on PSIM.
Note that AltiVec support within PSIM must be enabled at 'configure'
time by passing the 'configure' option
```shell
--enable-sim-float=altivec
```
Note also that PSIM's AltiVec support has many bugs. It is recommended
to apply the patches filed as an attachment with gdb bug report #2461
@@ -175,10 +175,14 @@ building RTEMS/psim:
edit make/custom/psim.cfg and change
```shell
CPU_CFLAGS = ... -mcpu=603e
```
to
```shell
CPU_CFLAGS = ... -mcpu=7400
```
This change must be performed *before* configuring RTEMS/psim.
@@ -1,10 +1,13 @@
Exceptions
==========
BSP support middleware for 'new-exception' style PPC.
T. Straumann, 12/2007
EXPLANATION OF SOME TERMS
=========================
-------------------------
In this README we refer to exceptions and sometimes
to 'interrupts'. Interrupts simply are asynchronous
@@ -22,8 +25,9 @@ Asynchronous exceptions/interrupts, OTOH, use a dedicated
interrupt stack and defer scheduling until after the last
nested ISR has finished.
RATIONALE
=========
---------
The 'new-exception' processing API works at a rather
low level. It provides functions for
installing low-level code (which must be written in
@@ -111,9 +115,9 @@ that they could is beyond doubt...):
only deal with EE]). See separate section titled
'race condition...' below for a detailed explanation.
STRUCTURE
=========
STRUCTURE
---------
The middleware uses exception 'categories' or
'flavors' as defined in raw_exception.h.
@@ -167,10 +171,11 @@ The middleware consists of the following parts:
the BSP.
USAGE
=====
-----
BSP writers must provide the following routines
(declared in irq_supp.h):
Interrupt controller (PIC) support:
```c
BSP_setup_the_pic() - initialize PIC hardware
BSP_enable_irq_at_pic() - enable/disable given irq at PIC; IGNORE if
BSP_disable_irq_at_pic() irq number out of range!
@@ -194,6 +199,7 @@ USAGE
BSP_panic("cannot initialize exceptions");
}
BSP_rtems_irq_mngt_set();
```
Note that BSP_rtems_irq_mngt_set() hooks the C_dispatch_irq_handler()
to the external and decrementer (PIT exception for bookE; a decrementer
@@ -237,24 +243,24 @@ USAGE
- add
```shell
../../../libcpu/@RTEMS_CPU@/@exceptions@/bspsupport/vectors.h
../../../libcpu/@RTEMS_CPU@/@exceptions@/bspsupport/irq_supp.h
```
to 'include_bsp_HEADERS'
- add
```shell
../../../libcpu/@RTEMS_CPU@/@exceptions@/exc_bspsupport.rel
../../../libcpu/@RTEMS_CPU@/@exceptions@/irq_bspsupport.rel
```
to 'libbsp_a_LIBADD'
(irq.c is in a separate '.rel' so that you can get support
for exceptions only).
CAVEATS
=======
-------
On classic PPCs, early (and late) parts of the low-level
exception handling code run with the MMU disabled which mean
that the default caching attributes (write-back) are in effect
@@ -283,7 +289,7 @@ this situation is not detected).
RACE CONDITION WHEN DEALING WITH CRITICAL INTERRUPTS
====================================================
----------------------------------------------------
The problematic race condition is as follows:
@@ -411,8 +417,8 @@ RACE CONDITION WHEN DEALING WITH CRITICAL INTERRUPTS
use OS primitives and currently there are no
asynchronous machine-checks defined.
Epilogue:
Epilogue
--------
You have to disable all asynchronous exceptions which may cause a context
switch before the restoring of the SRRs and the RFI. Reason:
@@ -1,3 +1,6 @@
vme
===
libbsp/shared/vmeUniverse/VME.h: VME API; BSP and bridge-chip independent
VMEConfig.h: defines BSP specific constants for VME configuration
vmeconfig.c configures the VME bridge using the VME.h API calls
@@ -1,5 +1,5 @@
This is a README file for the Intec SS555 of RTEMS 4.6.0
Intec SS555
===========
The SS555 port was sponsored by Defence Research and Development
Canada - Suffield, and is Copyright (C) 2004, Real-Time Systems Inc.
@@ -11,7 +11,7 @@ querbach@realtime.bc.ca
Summary
-------
```
BSP NAME: ss555
BOARD: Intec Automation Inc. SS555
BUS: None
@@ -21,9 +21,11 @@ COPROCESSORS: Built-in Motorola TPU
MODE: 32 bit mode
DEBUG MONITOR: None
```
PERIPHERALS
===========
-----------
```
TIMERS: PIT / Timebase
RESOLUTION: 1 microsecond (4 MHz crystal / 4)
SERIAL PORTS: 2 SCI
@@ -32,18 +34,21 @@ DMA: None.
VIDEO: None.
SCSI: None.
NETWORKING: None.
```
DRIVER INFORMATION
==================
------------------
```
CLOCK DRIVER: yes
CONSOLE DRIVER: yes
SHMSUPP: N/A
TIMER DRIVER: yes
NETWORK DRIVER: no
```
NOTES
=====
-----
```
On-chip resources:
SCI1 serial port
SCI2 serial port (console)
@@ -71,24 +76,27 @@ On-chip resources:
IRQ_LVL5 SCI
IRQ_LVL6 PIT
IRQ_LVL7
```
Board description
-----------------
```
Clock rate: 40 MHz development/embeddable board
Bus width: 32-bit on-board RAM, 16-bit off-board I/O
FLASH: 512k on-chip
RAM: 512k 2-1-1-1 burst SRAM
```
Installation
------------
The ss555 port uses the Intec SS555's external RAM in two different ways,
depending on whether or not it is built for debugging by giving the
VARIANT=DEBUG switch to make:
```shell
make VARIANT=DEBUG all
```
1. In the debugging case, the linker script concanttenates the .text,
.data, and .bss sections starting at location zero, so they all can be
@@ -104,8 +112,7 @@ forming one large block from the two RAM devices.
Console driver
---------------
--------------
This BSP includes an termios-capable asynchronous serial line driver that
supports SCI1 and SCI2. The RTEMS console is selected at configuration time
with the CONSOLE_MINOR variable (see .../ss555/configure.ac). We default to
@@ -150,8 +157,7 @@ I/O and termios.
printk() and debug output
-----------------------
-------------------------
The implementation of printk() in RTEMS is mostly independent of most system
services. The printk() function can therefore be used to print messages to a
debug console, particularly when debugging startup code or device drivers,
@@ -173,7 +179,6 @@ rtems_initialize_executive_early().
Watchdog Timer
--------------
The MPC555 watchdog timer can be enabled at configuration time by defining
the WATCHDOG_TIMEOUT variable. This variable sets the watchdog timeout
period in steps of
@@ -188,14 +193,12 @@ timer is disabled.
Miscellaneous
-------------
Most code came from the mbx8xx port, except for the floating-point handling
which came from the mpc8260ads.
Host System
-----------
The port was developed on an x86 box running Debian 3.0. The toolchain was
built from the sources at rtems.org, except for the autotools which came
from the Debian distribution.
@@ -203,7 +206,7 @@ from the Debian distribution.
Test Configuration
------------------
```
Board: Intec SS555 v1.1
CPU: Motorola MPC555LFMZP40, mask 1K83H
Clock Speed: Crystal 4.0 MHz, CPU 40.0 MHz
@@ -212,11 +215,10 @@ Times Reported in: Microseconds
Timer Source: Timebase clock
GCC Flags: -O4 -fno-keep-inline-functions -mcpu=(821/860)
Console: Operates in polled mode on SMC2. No I/O through EPPC-Bug.
```
Test Results
------------
Single processor tests:
All tests passed, except that:
- sp09 aborts due to memory shortage
@@ -1,3 +1,6 @@
t32mppc
=======
Board support package for the Lauterbach Trace32 PowerPC simulator.
http://www.lauterbach.com
@@ -1,9 +1,9 @@
This is a README file for the tqm8xx BSP
tqm8xx
======
Summary
-------
```
BSP NAME: tqm8xx
BOARD: various boards based on TQ Components TQM8xx modules
BUS: No backplane.
@@ -13,9 +13,11 @@ COPROCESSORS: Built-in Motorola QUICC
MODE: 32 bit mode
BOOT MONITOR: TQMon
```
PERIPHERALS
===========
-----------
```
TIMERS: PIT / Timebase
RESOLUTION: 1 microsecond / frequency = clock-speed / 16
SERIAL PORTS: 1-4 SCCs, 1-2 SMC
@@ -25,18 +27,22 @@ VIDEO: <none>
SCSI: <none>
NETWORKING: Ethernet 10 Mbps on SCC1 and/or
10/100Mbps on FEC (for MPC866T)
```
DRIVER INFORMATION
==================
------------------
```
CLOCK DRIVER: yes
CONSOLE DRIVER: yes
SHMSUPP: N/A
TIMER DRIVER: yes
NETWORK DRIVER: yes
```
NOTES
=====
-----
```
On-chip resources:
SCC1 network or serial port
SCC2 serial port
@@ -79,25 +85,19 @@ On-chip resources:
IRQ_LVL5
IRQ_LVL6
IRQ_LVL7
```
Board description
-----------------
```
Clock rate: 50MHz - 133MHz.
Bus width: 32 bit Flash, 32 bit DRAM
FLASH: 2-8MB
RAM: 32-256MB SDRAM
```
Installation
------------
<tbd>
Port Description
Console driver
---------------
This BSP contains a console driver for polled and interrupt-driven
operation. It supports SCCs and SMCs.
During BSP configuration, various variables can be set to activate a
@@ -108,13 +108,9 @@ CONS_MODE_UNUSED, CONS_MODE_POLLED or CONS_MODE_IRQ
The driver always uses termios.
printk() and debug output
-----------------------
<tbd>
Floating-point
--------------
The MPC8xx do not have floating-point units. All code should
get compiled with the appropriate -mcpu flag. The nof variants of the gcc
runtime libraries should be used for linking.
@@ -123,15 +119,15 @@ runtime libraries should be used for linking.
Miscellaneous
-------------
All development was based on the mbx8xx and gen68360 port.
Test Configuration
------------------
Board: pghplus (
```
Board: pghplus
CPU: Motorola MPC866T
Clock Speed: 133MHz
RAM: 64MByte
Cache Configuration: Instruction cache on; data cache on, copyback mode.
```
@@ -1,5 +1,6 @@
# Adapted from vitex BSP
virtex
======
```
BSP NAME: Virtex
BOARD: Xilinx ML-403 and (hopefully) any vitex/PPC based board
BUS: N/A
@@ -9,9 +10,11 @@ COPROCESSORS: N/A
MODE: 32 bit mode
DEBUG MONITOR:
```
PERIPHERALS
===========
-----------
```
TIMERS: 405GP internal
SERIAL PORTS: Xilinx consolelite
REAL-TIME CLOCK: none
@@ -19,38 +22,41 @@ DMA: Xilinx vitex internal
VIDEO: none
SCSI: none
NETWORKING: Xilinx TEMAC
```
DRIVER INFORMATION
==================
------------------
```
CLOCK DRIVER: PPC Decrementer
IOSUPP DRIVER: N/A
SHMSUPP: N/A
TIMER DRIVER: N/A
TTY DRIVER: consoleelite
```
STDIO
=====
-----
```
PORT: Console port 0
ELECTRICAL: RS-232
BAUD: as defined in FPGA design
BITS PER CHARACTER: 8
PARITY: None
STOP BITS: 1
Notes
=====
```
Board description
-----------------
```
clock rate: 234 MHz
ROM: 16MByte FLASH
RAM: 64MByte DRAM
```
Virtex only supports single processor operations.
Configuration
-------------
This board support package is written for a typical virtex/PPC FPGA
system. The rough features of such a board are described above.
@@ -68,6 +74,7 @@ For adapting this BSP to other boards, you can specify several configuration
options at the configure command line (use "./configure --help" in this
directory). Here is an example for the top-level configure invocation:
```shell
/path/to/rtems/sources/configure \
--target=powerpc-rtems4.11 \
--enable-rtemsbsp=virtex \
@@ -79,3 +86,4 @@ directory). Here is an example for the top-level configure invocation:
VIRTEX_RAM_ORIGIN=0xfffc0000 \
VIRTEX_RAM_LENGTH=0x3ffec \
VIRTEX_RESET_ORIGIN=0xffffffec
```
@@ -1,5 +1,8 @@
# Adapted from virtex BSP
virtex4
=======
Adapted from virtex BSP
```
BSP NAME: virtex4
BOARD: N/A
BUS: N/A
@@ -9,9 +12,11 @@ COPROCESSORS: N/A
MODE: 32 bit mode
DEBUG MONITOR:
```
PERIPHERALS
===========
-----------
```
TIMERS: 405 internal
SERIAL PORTS: none
REAL-TIME CLOCK: none
@@ -19,32 +24,35 @@ DMA: Xilinx virtex internal
VIDEO: none
SCSI: none
NETWORKING: none
```
DRIVER INFORMATION
==================
------------------
```
CLOCK DRIVER: PPC Decrementer
IOSUPP DRIVER: N/A
SHMSUPP: N/A
TIMER DRIVER: N/A
TTY DRIVER: N/A
```
STDIO
=====
-----
PORT: N/A
ELECTRICAL: N/A
BAUD: N/A
BITS PER CHARACTER: N/A
PARITY: N/A
STOP BITS: N/A
Notes
=====
```
Board description
-----------------
```
clock rate: 350 MHz
ROM: N/A
RAM: 128MByte DRAM
```
Virtex only supports single processor operations.
@@ -1,5 +1,8 @@
# Adapted from virtex BSP
virtex5
=======
Adapted from virtex BSP
```
BSP NAME: virtex5
BOARD: N/A
BUS: N/A
@@ -9,9 +12,11 @@ COPROCESSORS: N/A
MODE: 32 bit mode
DEBUG MONITOR:
```
PERIPHERALS
===========
-----------
```
TIMERS: 440 internal
SERIAL PORTS: none
REAL-TIME CLOCK: none
@@ -19,26 +24,28 @@ DMA: Xilinx virtex internal
VIDEO: none
SCSI: none
NETWORKING: none
```
DRIVER INFORMATION
==================
------------------
```
CLOCK DRIVER: PPC Decrementer
IOSUPP DRIVER: N/A
SHMSUPP: N/A
TIMER DRIVER: N/A
TTY DRIVER: N/A
```
STDIO
=====
-----
```
PORT: N/A
ELECTRICAL: N/A
BAUD: N/A
BITS PER CHARACTER: N/A
PARITY: N/A
STOP BITS: N/A
Notes
=====
```
Board description
-----------------
@@ -1,6 +1,8 @@
# Author: Ralf Corsepius (corsepiu@faw.uni-ulm.de)
#
gensh1
======
Author: Ralf Corsepius (corsepiu@faw.uni-ulm.de)
```
BSP NAME: generic SH1 (gensh1)
BOARD: n/a
BUS: n/a
@@ -10,9 +12,11 @@ COPROCESSORS: none
MODE: n/a
DEBUG MONITOR: gdb
```
PERIPHERALS
===========
-----------
```
TIMERS: on-chip
RESOLUTION: cf. Hitachi SH 703X Hardware Manual (Phi/4)
SERIAL PORTS: on-chip (with 2 ports)
@@ -21,27 +25,31 @@ DMA: not used
VIDEO: none
SCSI: none
NETWORKING: none
```
DRIVER INFORMATION
==================
------------------
```
CLOCK DRIVER: on-chip timer
IOSUPP DRIVER: default
SHMSUPP: default
TIMER DRIVER: on-chip timer
TTY DRIVER: /dev/null (stub)
```
STDIO
=====
-----
```
PORT: /dev/null (stub)
ELECTRICAL: n/a
BAUD: n/a
BITS PER CHARACTER: n/a
PARITY: n/a
STOP BITS: n/a
```
NOTES
=====
-----
(1) The stub console driver (null) is enabled by default.
(2) The driver for the on-chip serial devices (sci) is still in its infancy
@@ -1,8 +1,12 @@
# Author: Ralf Corsepius (corsepiu@faw.uni-ulm.de)
# Adapted by: John Mills (jmills@tga.com)
# Corrections: Radzislaw Galler (rgaller@et.put.poznan.pl)
gensh2
======
Author: Ralf Corsepius (corsepiu@faw.uni-ulm.de)
Adapted by: John Mills (jmills@tga.com)
Corrections: Radzislaw Galler (rgaller@et.put.poznan.pl)
```
BSP NAME: generic SH2 (gensh2)
BOARD: EVB7045F (note 2)
BUS: n/a
@@ -12,9 +16,11 @@ COPROCESSORS: none
MODE: n/a
DEBUG MONITOR: gdb
```
PERIPHERALS
===========
-----------
```
TIMERS: on-chip
RESOLUTION: cf. Hitachi SH 704X Hardware Manual (Phi/16)
SERIAL PORTS: on-chip (with 2 ports)
@@ -23,27 +29,31 @@ DMA: not used
VIDEO: none
SCSI: none
NETWORKING: none
```
DRIVER INFORMATION
==================
------------------
```
CLOCK DRIVER: on-chip timer
IOSUPP DRIVER: default
SHMSUPP: default
TIMER DRIVER: on-chip timer
TTY DRIVER: /dev/console
```
STDIO
=====
-----
```
PORT: /dev/sci0
ELECTRICAL: SCI0
BAUD: 9600
BITS PER CHARACTER: 8
PARITY: NONE
STOP BITS: 1
```
NOTES
=====
-----
(1) The present 'hw_init.c' file provides 'early_hw_init'(void) which
is normally called from 'start.S' to provide such minimal HW setup
as is conveniently written in 'C' and can make use of global
@@ -1,8 +1,12 @@
# Author: Alexandra Kossovsky <sasha@oktet.ru>
# Victor Vengerov <vvv@oktet.ru>
# OKTET Ltd, http://www.oktet.ru
#
gensh4
======
Author: Alexandra Kossovsky <sasha@oktet.ru>
Victor Vengerov <vvv@oktet.ru>
OKTET Ltd, http://www.oktet.ru
```
BSP NAME: generic SH4 (gensh4)
BOARD: n/a
BUS: n/a
@@ -12,9 +16,11 @@ COPROCESSORS: none
MODE: n/a
DEBUG MONITOR: gdb (sh-ipl-g+ loader/stub)
```
PERIPHERALS
===========
-----------
```
TIMERS: on-chip
SERIAL PORTS: on-chip (with 2 ports)
REAL-TIME CLOCK: none
@@ -22,27 +28,31 @@ DMA: not used
VIDEO: none
SCSI: none
NETWORKING: none
```
DRIVER INFORMATION
==================
------------------
```
CLOCK DRIVER: on-chip timer
IOSUPP DRIVER: default
SHMSUPP: n/a
TIMER DRIVER: on-chip timer
TTY DRIVER: /dev/console
```
STDIO
=====
-----
```
PORT: /dev/console
ELECTRICAL: n/a
BAUD: n/a
BITS PER CHARACTER: n/a
PARITY: n/a
STOP BITS: n/a
```
NOTES
=====
-----
(1) Driver for the on-chip serial devices is tested only with 1st serial
port. We cannot test it on serial port with FIFO.
@@ -88,4 +98,3 @@ NOTES
(7) This project was done in cooperation with Transas company
http://www.transas.com
@@ -1,16 +1,20 @@
shsim
=====
Simple BSP for the SH simulator built into gdb.
Simulator Invocation
====================
--------------------
```shell
sh-rtems[elf|]-gdb <executable>
(gdb) target sim
(gdb) set archi [sh|sh2]
(gdb) load <executable>
(gdb) run
```
Status
======
------
* The simulator invocation procedure outlined above produces error messages
with gdb-5.0, nevertheless seems to work. With gdb versions > 5.0 these
error messages are gone. I.e. if you plan to seriously work with the gdb
@@ -1,3 +1,6 @@
serial
======
This is the serial controller portion of the libchip library. This
directory contains the source code for reusable console driver
support code. Each individual driver is configured using the
@@ -1,6 +1,5 @@
/* $FreeBSD$ */
/*-
EFI
===
Files in this directory and subdirectories are subject to the following
copyright unless superceded or supplemented by additional specific license
terms found in the file headers of individual files.
@@ -32,5 +31,3 @@ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE. THE EFI SPECIFICATION AND ALL
OTHER INFORMATION ON THIS WEB SITE ARE PROVIDED "AS IS" WITH NO
WARRANTIES, AND ARE SUBJECT TO CHANGE WITHOUT NOTICE.
*/
@@ -1,3 +1,5 @@
shmdr
=====
The mpci.h file provided in here is too simple for an MPCI with
multiple ways to get to a node.
@@ -1,7 +1,9 @@
#
# Description of SIS as related to this BSP
#
erc32
=====
Description of SIS as related to this BSP
```
BSP NAME: sis
BOARD: any based on the European Space Agency's ERC32
BUS: N/A
@@ -12,9 +14,11 @@ COPROCESSORS: on-chip 602 compatible FPU
MODE: 32 bit mode
DEBUG MONITOR: none
```
PERIPHERALS
===========
-----------
```
TIMERS:
NAME: General Purpose Timer
RESOLUTION: 50 nanoseconds - 12.8 microseconds
@@ -28,27 +32,31 @@ DMA: on-chip
VIDEO: none
SCSI: none
NETWORKING: none
```
DRIVER INFORMATION
==================
------------------
```
CLOCK DRIVER: ERC32 internal Real Time Clock Timer
IOSUPP DRIVER: N/A
SHMSUPP: N/A
TIMER DRIVER: ERC32 internal General Purpose Timer
CONSOLE DRIVER: ERC32 internal UART
```
STDIO
=====
-----
```
PORT: Channel A
ELECTRICAL: na since using simulator
BAUD: na
BITS PER CHARACTER: na
PARITY: na
STOP BITS: na
```
Notes
=====
-----
ERC32 BSP only supports single processor operations.
A nice feature of this BSP is that the RAM and PROM size are set in the
@@ -63,8 +71,8 @@ against sis v1.7.
Memory Map
==========
----------
```
0x00000000 - 0x00000000 + _PROM_SIZE code and initialized data
0x01f80000 on chip peripherals
0x00000000 - 0x02000000 + _RAM_SIZE destination for initialized data
@@ -75,4 +83,5 @@ Memory Map
The C heap is assigned all memory between the end of the BSS and the
RTEMS Workspace. The size of the RTEMS Workspace is based on that
specified in the application's configuration table.
```
@@ -1,7 +1,9 @@
#
# Description of SIS as related to this BSP
#
leon2
=====
Description of SIS as related to this BSP
```
BSP NAME: sis
BOARD: any based on the European Space Agency's ERC32
BUS: N/A
@@ -12,9 +14,11 @@ COPROCESSORS: on-chip 602 compatible FPU
MODE: 32 bit mode
DEBUG MONITOR: none
```
PERIPHERALS
===========
-----------
```
TIMERS:
NAME: General Purpose Timer
RESOLUTION: 50 nanoseconds - 12.8 microseconds
@@ -28,27 +32,31 @@ DMA: on-chip
VIDEO: none
SCSI: none
NETWORKING: none
```
DRIVER INFORMATION
==================
------------------
```
CLOCK DRIVER: ERC32 internal Real Time Clock Timer
IOSUPP DRIVER: N/A
SHMSUPP: N/A
TIMER DRIVER: ERC32 internal General Purpose Timer
CONSOLE DRIVER: ERC32 internal UART
```
STDIO
=====
-----
```
PORT: Channel A
ELECTRICAL: na since using simulator
BAUD: na
BITS PER CHARACTER: na
PARITY: na
STOP BITS: na
```
Notes
=====
-----
ERC32 BSP only supports single processor operations.
A nice feature of this BSP is that the RAM and PROM size are set in the
@@ -63,8 +71,8 @@ against sis v1.7.
Memory Map
==========
----------
```
0x00000000 - 0x00000000 + _PROM_SIZE code and initialized data
0x01f80000 on chip peripherals
0x00000000 - 0x02000000 + _RAM_SIZE destination for initialized data
@@ -75,4 +83,5 @@ Memory Map
The C heap is assigned all memory between the end of the BSS and the
RTEMS Workspace. The size of the RTEMS Workspace is based on that
specified in the application's configuration table.
```
@@ -1,22 +1,19 @@
#
# LEON3 BSP README
#
#
#
leon3
=====
```
BSP NAME: leon3
BUS: AMBA Plug & Play
CPU FAMILY: sparc
CPU: LEON3
```
DRIVERS
=======
Timer Driver, Console Driver, Opencores Ethernet Driver
Notes
=====
Notes
-----
This BSP supports single LEON3-processor system with minimum peripheral
configuration of one UART. BSP reads system configuration area to get
information such as memory mapping and usage of interrupt resources and
@@ -32,4 +29,3 @@ Interrupt request signal can not be shared with other devices.
Ethernet MAC core can be mapped in arbitrary memory address space and use
arbitrary interrupt request signal. Interrupt request signal can not be
shared with other devices.
@@ -1,3 +1,5 @@
mpci
====
This should describe how to use SHM in a multiprocessor LEON3
configuration.
@@ -1,3 +1,6 @@
niagara
=======
```
BSP NAME: niagara
BOARD:
BUS: n/a
@@ -7,9 +10,11 @@ COPROCESSORS:
MODE: n/a
DEBUG MONITOR:
```
PERIPHERALS
===========
-----------
```
TIMERS: TICK and STICK registers (ASRs 4 and 24)
RESOLUTION: CPU clock resolution
SERIAL PORTS:
@@ -18,33 +23,38 @@ DMA: none
VIDEO: none
SCSI: none
NETWORKING: none
```
DRIVER INFORMATION
==================
------------------
```
CLOCK DRIVER:
IOSUPP DRIVER:
SHMSUPP:
TIMER DRIVER:
TTY DRIVER:
```
STDIO
=====
-----
```
PORT:
ELECTRICAL:
BAUD:
BITS PER CHARACTER:
PARITY:
STOP BITS:
```
NOTES
=====
Board description
-----------------
```
clock rate:
bus width:
ROM:
RAM:
```
This BSP is designed to operate on the UltraSPARC T1 (Niagara) SPARC64
and similar processors.
@@ -62,4 +72,3 @@ https://www.simics.net/
M5:
An open-source simulator.
http://www.m5sim.org/wiki/index.php/Main_Page
@@ -1,3 +1,6 @@
HelenOS
=======
The sources in this directory are from the HelenOS project.
See: http://www.helenos.org
@@ -1,3 +1,6 @@
usiii
=====
```
BSP NAME: usiii
BOARD:
BUS: n/a
@@ -7,9 +10,11 @@ COPROCESSORS:
MODE: n/a
DEBUG MONITOR:
```
PERIPHERALS
===========
-----------
```
TIMERS: TICK register (ASR 4)
RESOLUTION: CPU clock resolution
SERIAL PORTS:
@@ -18,26 +23,28 @@ DMA: none
VIDEO: none
SCSI: none
NETWORKING: none
```
DRIVER INFORMATION
==================
------------------
```
CLOCK DRIVER:
IOSUPP DRIVER:
SHMSUPP:
TIMER DRIVER:
TTY DRIVER:
```
STDIO
=====
-----
```
PORT:
ELECTRICAL:
BAUD:
BITS PER CHARACTER:
PARITY:
STOP BITS:
NOTES
=====
```
Board description
-----------------
@@ -54,4 +61,3 @@ This BSP has been run on the Simics simulator with the serengeti target.
Simics:
A commercially available simulator licensed by Virtutech.
https://www.simics.net/
@@ -1,3 +1,5 @@
gdbv850sim
==========
This directory contains a family of BSPs for the v850 simulator
found in the GNU Debugger. A variant is provided for each CPU
model option flag found in the GCC SVN head as of 30 May 2012.