From eb36d1198cdf9dc1e2f776ef6e1e38755f6d13c5 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 25 Apr 2018 15:06:08 +0200 Subject: bsps: Move documentation, etc. files to bsps This patch is a part of the BSP source reorganization. Update #3285. --- c/src/lib/libbsp/powerpc/beatnik/LICENSE | 52 ---- c/src/lib/libbsp/powerpc/beatnik/README | 183 ------------ c/src/lib/libbsp/powerpc/gen5200/README | 65 ---- c/src/lib/libbsp/powerpc/gen5200/README.IceCube | 34 --- .../lib/libbsp/powerpc/gen83xx/README.mpc8313erdb | 28 -- .../lib/libbsp/powerpc/gen83xx/README.mpc8349eamds | 42 --- c/src/lib/libbsp/powerpc/haleakala/README | 51 ---- c/src/lib/libbsp/powerpc/motorola_powerpc/BOOTING | 92 ------ c/src/lib/libbsp/powerpc/motorola_powerpc/README | 44 --- .../powerpc/motorola_powerpc/README.MVME2100 | 128 -------- .../powerpc/motorola_powerpc/README.MVME2300 | 39 --- .../powerpc/motorola_powerpc/README.MVME2400 | 29 -- .../powerpc/motorola_powerpc/README.OTHERBOARDS | 93 ------ .../powerpc/motorola_powerpc/README.dec21140 | 1 - .../libbsp/powerpc/motorola_powerpc/README.mtx603e | 58 ---- .../libbsp/powerpc/motorola_powerpc/README.qemu | 124 -------- c/src/lib/libbsp/powerpc/mpc55xxevb/README | 15 - c/src/lib/libbsp/powerpc/mpc8260ads/README | 331 --------------------- c/src/lib/libbsp/powerpc/mvme3100/KNOWN_PROBLEMS | 77 ----- c/src/lib/libbsp/powerpc/mvme3100/LICENSE | 49 --- c/src/lib/libbsp/powerpc/mvme3100/README | 134 --------- c/src/lib/libbsp/powerpc/mvme5500/LICENSE | 112 ------- c/src/lib/libbsp/powerpc/mvme5500/README | 129 -------- c/src/lib/libbsp/powerpc/mvme5500/README.VME | 19 -- c/src/lib/libbsp/powerpc/mvme5500/README.booting | 60 ---- c/src/lib/libbsp/powerpc/psim/README | 48 --- c/src/lib/libbsp/powerpc/psim/vectors/README | 21 -- c/src/lib/libbsp/powerpc/qemuppc/README | 28 -- c/src/lib/libbsp/powerpc/qoriq/README | 29 -- c/src/lib/libbsp/powerpc/ss555/README | 282 ------------------ c/src/lib/libbsp/powerpc/t32mppc/README | 5 - c/src/lib/libbsp/powerpc/t32mppc/configsim.t32 | 5 - c/src/lib/libbsp/powerpc/t32mppc/init.cmm | 19 -- c/src/lib/libbsp/powerpc/tqm8xx/README | 137 --------- c/src/lib/libbsp/powerpc/virtex/README | 81 ----- c/src/lib/libbsp/powerpc/virtex4/README | 86 ------ c/src/lib/libbsp/powerpc/virtex5/README | 86 ------ 37 files changed, 2816 deletions(-) delete mode 100644 c/src/lib/libbsp/powerpc/beatnik/LICENSE delete mode 100644 c/src/lib/libbsp/powerpc/beatnik/README delete mode 100644 c/src/lib/libbsp/powerpc/gen5200/README delete mode 100644 c/src/lib/libbsp/powerpc/gen5200/README.IceCube delete mode 100644 c/src/lib/libbsp/powerpc/gen83xx/README.mpc8313erdb delete mode 100644 c/src/lib/libbsp/powerpc/gen83xx/README.mpc8349eamds delete mode 100644 c/src/lib/libbsp/powerpc/haleakala/README delete mode 100644 c/src/lib/libbsp/powerpc/motorola_powerpc/BOOTING delete mode 100644 c/src/lib/libbsp/powerpc/motorola_powerpc/README delete mode 100644 c/src/lib/libbsp/powerpc/motorola_powerpc/README.MVME2100 delete mode 100644 c/src/lib/libbsp/powerpc/motorola_powerpc/README.MVME2300 delete mode 100644 c/src/lib/libbsp/powerpc/motorola_powerpc/README.MVME2400 delete mode 100644 c/src/lib/libbsp/powerpc/motorola_powerpc/README.OTHERBOARDS delete mode 100644 c/src/lib/libbsp/powerpc/motorola_powerpc/README.dec21140 delete mode 100644 c/src/lib/libbsp/powerpc/motorola_powerpc/README.mtx603e delete mode 100644 c/src/lib/libbsp/powerpc/motorola_powerpc/README.qemu delete mode 100644 c/src/lib/libbsp/powerpc/mpc55xxevb/README delete mode 100644 c/src/lib/libbsp/powerpc/mpc8260ads/README delete mode 100644 c/src/lib/libbsp/powerpc/mvme3100/KNOWN_PROBLEMS delete mode 100644 c/src/lib/libbsp/powerpc/mvme3100/LICENSE delete mode 100644 c/src/lib/libbsp/powerpc/mvme3100/README delete mode 100644 c/src/lib/libbsp/powerpc/mvme5500/LICENSE delete mode 100644 c/src/lib/libbsp/powerpc/mvme5500/README delete mode 100644 c/src/lib/libbsp/powerpc/mvme5500/README.VME delete mode 100644 c/src/lib/libbsp/powerpc/mvme5500/README.booting delete mode 100644 c/src/lib/libbsp/powerpc/psim/README delete mode 100644 c/src/lib/libbsp/powerpc/psim/vectors/README delete mode 100644 c/src/lib/libbsp/powerpc/qemuppc/README delete mode 100644 c/src/lib/libbsp/powerpc/qoriq/README delete mode 100644 c/src/lib/libbsp/powerpc/ss555/README delete mode 100644 c/src/lib/libbsp/powerpc/t32mppc/README delete mode 100644 c/src/lib/libbsp/powerpc/t32mppc/configsim.t32 delete mode 100644 c/src/lib/libbsp/powerpc/t32mppc/init.cmm delete mode 100644 c/src/lib/libbsp/powerpc/tqm8xx/README delete mode 100644 c/src/lib/libbsp/powerpc/virtex/README delete mode 100644 c/src/lib/libbsp/powerpc/virtex4/README delete mode 100644 c/src/lib/libbsp/powerpc/virtex5/README (limited to 'c/src/lib/libbsp/powerpc') diff --git a/c/src/lib/libbsp/powerpc/beatnik/LICENSE b/c/src/lib/libbsp/powerpc/beatnik/LICENSE deleted file mode 100644 index 2ac95733bd..0000000000 --- a/c/src/lib/libbsp/powerpc/beatnik/LICENSE +++ /dev/null @@ -1,52 +0,0 @@ -/* NOTE: The terms described in this LICENSE file apply only to the - * files created by the author (see below). Consult individual - * file headers for more details. Some files were ported from - * netbsd and/or freebsd and are covered by the respective - * file header copyright notices. E.g., the if_em driver is - * covered by it's own network/if_em/LICENSE. - */ - -/* - * Authorship - * ---------- - * This software ('beatnik' RTEMS BSP for MVME6100 and MVME5500) was - * created by Till Straumann , 2005-2007, - * Stanford Linear Accelerator Center, Stanford University. - * - * Acknowledgement of sponsorship - * ------------------------------ - * The 'beatnik' BSP was produced by - * the Stanford Linear Accelerator Center, Stanford University, - * under Contract DE-AC03-76SFO0515 with the Department of Energy. - * - * Government disclaimer of liability - * ---------------------------------- - * Neither the United States nor the United States Department of Energy, - * nor any of their employees, makes any warranty, express or implied, or - * assumes any legal liability or responsibility for the accuracy, - * completeness, or usefulness of any data, apparatus, product, or process - * disclosed, or represents that its use would not infringe privately owned - * rights. - * - * Stanford disclaimer of liability - * -------------------------------- - * Stanford University makes no representations or warranties, express or - * implied, nor assumes any liability for the use of this software. - * - * Stanford disclaimer of copyright - * -------------------------------- - * Stanford University, owner of the copyright, hereby disclaims its - * copyright and all other rights in this software. Hence, anyone may - * freely use it for any purpose without restriction. - * - * Maintenance of notices - * ---------------------- - * In the interest of clarity regarding the origin and status of this - * SLAC software, this and all the preceding Stanford University notices - * are to remain affixed to any copy or derivative of this software made - * or distributed by the recipient and are to be affixed to any copy of - * software made or distributed by the recipient that contains a copy or - * derivative of this software. - * - * ------------------ SLAC Software Notices, Set 4 OTT.002a, 2004 FEB 03 - */ diff --git a/c/src/lib/libbsp/powerpc/beatnik/README b/c/src/lib/libbsp/powerpc/beatnik/README deleted file mode 100644 index 7724cdc7b9..0000000000 --- a/c/src/lib/libbsp/powerpc/beatnik/README +++ /dev/null @@ -1,183 +0,0 @@ -Some information about this BSP -================================ - -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. - Matthew Dharm, rabeeh, Manish Lachwani, Ralf Baechle. - rtems: Brookhaven National Laboratory; Shuchen Kate Feng - This BSP also builds on top of the work of others who have contributed - to similar RTEMS (powerpc) BSPs, most notably Eric Valette, Eric Norum - and others. - - In particular, the Author wishes to thank Shuchen Kate Feng (BNL) for many - inspiring discussions and Dayle Kotturi (SLAC) for her contributions, support - and extensive testing. - -LICENSE -------- -See ./LICENSE file. - -Note that not all files that are part of this BSP were written by -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) - - prepare: - - get up-to date RTEMS release - - untar beatnik.tgz into c/src/lib/libbsp/powerpc - - copy beatnik.cfg into make/custom - - patch c/src/lib/libsp/powerpc/acinclude.ac - - run 'bootstrap' from top directory; make sure RTEMS - autoXXX are found first in your PATH - configure: - - 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 -target was and is the MVME6100 board which in some respects is quite different. -In particular, the discovery chip and the VME bridge exhibit significant -differences. -I am sometimes asked why this BSP provides yet another port of the gfe -and em BSD drivers (which had previously been ported for the mvme5500 -BSP by Shuchen Kate Feng [BNL]). The answer is simply a matter of time: -Once support for the 6100 board was completed I found it easier to use -the set of 'quick-and-dirty' wrappers (found in network/porting) that I had -developed for other projects and to do a new port from scratch using that -framework rather than modifying the mvme5500 BSP's drivers. mvme5500 support was -added to this BSP because we own a few of those boards we occasionally -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) - -NOTE: The BSP supports both, the mvme6100 and the mvme5500 boards. - It detects relevant hardware at run-time. - -WARNING: It is extremely important that a MOTLoad "waitProbe", "netShut" - sequence be executed before booting RTEMS. Otherwise, network - interface interrupt handlers installed by MOTLoad may cause memory - corruption - -CONSOLE: 2 serial devices, UART driver from 'shared' - no surprises - ("/dev/ttyS0", [="/dev/console"], "/dev/ttyS1"). (Only - /dev/ttyS0 is accessible from the front panel.) - -CLOCK: Decrementer, same as other PPC BSPs. (FIXME: a discovery timer - could be used.) - -PIC (interrupt controller) (bsp/irq.h): Marvell hostbridge - does not implement interrupt priorities. The driver supports - priorities in software (masking lower priority lines during - execution of higher priority ISR). I believe the design of the - IRQ subsystem is as efficient as possible with focus on low - latencies. - In addition to the rtems IRQ API, calls are available to - change IRQ priority and to enable/disable interrupts at the PIC. - -EXCEPTIONS: (bspException.h) Routines to install a user callback - for (PPC) exception handling. - -PCI (bsp/pci.h): The BSP hides the fact that there are effectively - two 'root' busses (AKA 'hoses') behind the discovery bridge. - Devices are addressed by bus/slot/function-triples and the PCI - subsystem transparently figures out what hose to use. - In addition to rtems' PCI API, a call is available to scan - all devices executing a user callback on each device. - BSP_pciConfigDump() is a convenience wrapper dumping essential - information (IDs, BAs, IRQ pin/line) to the console or a file. - -MEMORY MAP: CHRP; all addresses (MEM + I/O) read from PCI config. space - are CPU addresses. For sake of portability, drivers should still - use the _IO_BASE, PCI_MEM_BASE, PCI_DRAM_OFFSET constants. - -NVRAM: Address constants are defined in bsp.h - -FLASH (bsp/flashPgm.h): Routines to write flash. Highest level - wrapper writes a file to flash. - NOTE: Writing to flash is disabled by default; - call BSP_flashWriteEnable(). - -I2C (bsp.h, rtems/libi2c.h, libchip/i2c-xxx.h): temp. sensor and eeprom - are available as device files (bsp.h); lower-level interface is - provided by libi2c.h. - NOTE: The I2C devices are not registered and the driver is not - initialized by default. Call BSP_i2c_initialize() to do that; - this will create - /dev/i2c0.vpd-eeprom - /dev/i2c0.usr-eeprom - /dev/i2c0.ds1621 - You can then read the board temperature: - fd = open("/dev/i2c0.ds1621",O_RDONLY) - read(fd,&temp,1) - close(fd); - printf("Board Temp. is %idegC\n",(int)temp); - -VME: (bsp/VME.h, bsp/vme_am_defs.h, bsp/VMEDMA.h). - *always* use VME.h API, if possible; do *not* use chip drivers - (vmeUniverse.h, vmeTsi148.h) directly unless you know what you are - doing (i.e., if you need specific features provided by the particular - chip; currently, both of the mentioned chip drivers expose entry points - that are designed to be compatible). - - VMEConfig.h should not be used by applications as it makes them - dependent on BSP internals. VMEConfig.h is intended to be used - by BSP designers only. - - VME interrupt priorities: the VME bridge(s) do not implement - priorities in hardware. - However, on the 5500/6100 multiple physical interrupt - lines/wires connect the VME bridge to the PIC. Hence, it is possible - to assign the different wires different priorities at the PIC - (see above) and to route VME interrupts to different wires according - to their priority. You need to call driver specific routines - for this (vmeXXXIntRoute()), however (for driver-specific API - consult bsp/vmeUniverse.h, bsp/vmeTsi148.h). - - For VME DMA *always* use the bsp/VMEDMA.h API. DO NOT use - chip-specific features. Applications written using the bsp/VMEDMA.h - API are portable between the UniverseII and the Tsi148. - -HARDWARE TIMERS: (bsp/gt_timer.h). Programmable general-purpose (GPT) and - watchdog timers. Routines are provided to setup, start and stop - GPTs. The setup routine allows for specifying single-shot or periodic - mode and dispatches a user ISR when the GPT expires. - - The watchdog timer - when started - issues a hard-reset of the - board if not 'petted' within a configurable timeout period. - -NETWORK: (bsp/bsp_bsdnet_attach.h). The BSP offers a call to list - all available interfaces (name, description, 'attach'-method) - for the application to make a selection. - Alternatively, there are BSP_auto_network_driver_name and - BSP_auto_enet_attach(), the latter with the capability to configure - the first NIC with a 'live' link status. - All drivers (rewritten 'mve' for the mv64360 NIC (6100) and BSD ports - 'gfe'/'em' (5500)) support the SIOCSIFMEDIA/SIOCGIFMEDIA ioctls - (rtems/rtems_mii_ioctl.h provides helpers to convert strings from/to - control words). - -VPD: (bsp/vpd.h). The board's VPD (vital-product-data such as S/N, - MAC addresses and so forth) can be retrieved. - -BOOTING: BSP has a relocator-header. Clear MSR and jump to the first - instruction in the binary. R3 and R4, if non-null, point to the - start/end of an optional command line string that is copied into - BSP_commandline_string. The BSP is compatible with 'netboot'. - -Have fun. - --- Till Straumann , 2005-2007. diff --git a/c/src/lib/libbsp/powerpc/gen5200/README b/c/src/lib/libbsp/powerpc/gen5200/README deleted file mode 100644 index 2c3b08212b..0000000000 --- a/c/src/lib/libbsp/powerpc/gen5200/README +++ /dev/null @@ -1,65 +0,0 @@ -# -# README -# - -BSP NAME: gen5200 -BOARD: various boards based on MPC5200 Controller: - MicroSys PM520 with Carrier board CR825 -BUS: N/A -CPU FAMILY: ppc -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 - 1 I2C IF -REAL-TIME CLOCK: PCF8563 -DMA: for Ethernet and CompactFlash -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. - diff --git a/c/src/lib/libbsp/powerpc/gen5200/README.IceCube b/c/src/lib/libbsp/powerpc/gen5200/README.IceCube deleted file mode 100644 index 975adf0be2..0000000000 --- a/c/src/lib/libbsp/powerpc/gen5200/README.IceCube +++ /dev/null @@ -1,34 +0,0 @@ -IceCube is the nickname for the FreeScale MPC5200LITE evaluation board -which seems to be the basis for boards from a number of other vendors. -The most complete and up to date information will be found on the -RTEMS Wiki. We know of the following boards which are the IceCube: - - + FreeScale MPC5200LITE - + Embedded Planets EP52000 (does not ship with U-Boot) - -U-Boot supports this board very well. When using U-Boot the following -command sequence is used to transform an ELF file into a U-Boot image. - -powerpc-rtems4.8-objcopy -R -S -O binary hello.exe hello.bin -cat hello.bin | gzip -9 >hello.gz -/opt/embedded/tools/usr/bin/mkimage \ - -A ppc -O rtems -T kernel -a 0x10000 -e 0x10000 -n "RTEMS" \ - -d hello.gz hello.img - -These ttcp results were between an EP5200 and Dell Insprion 9400 -running Fedora 7. A private network was used. - ->>> ttcp -t -s 192.168.1.210 -ttcp-t: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp -> 192.168.1.210 -ttcp-t: socket -ttcp-t: connect -ttcp-t: 16777216 bytes in 1.58 real seconds = 10385.86 KB/sec +++ -ttcp-t: 2048 I/O calls, msec/call = 0.79, calls/sec = 1298.23 -ttcp-t: 0.0user 1.5sys 0:01real 100% 0i+0d 0maxrss 0+0pf 0+0csw ->>> ttcp -r -s -ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp -ttcp-r: socket -ttcp-r: accept from 192.168.1.210 -ttcp-r: 16777216 bytes in 1.78 real seconds = 9194.86 KB/sec +++ -ttcp-r: 3499 I/O calls, msec/call = 0.52, calls/sec = 1963.67 - diff --git a/c/src/lib/libbsp/powerpc/gen83xx/README.mpc8313erdb b/c/src/lib/libbsp/powerpc/gen83xx/README.mpc8313erdb deleted file mode 100644 index 1f529ae707..0000000000 --- a/c/src/lib/libbsp/powerpc/gen83xx/README.mpc8313erdb +++ /dev/null @@ -1,28 +0,0 @@ -SPI: - -In master mode SCS (SPI_D) cannot be used as GPIO[31]. Unfortunately this pin -is connected to the SD Card slot. See also [1] SPI 5. - -TSEC: - -The interrupt vector values are switched at the IPIC. See also [1] IPIC 1. - -REFERENCES: - -[1] MPC8313ECE Rev. 3, 3/2008: "MPC8313E PowerQUICC™ II Pro Integrated Host - Processor Device Errata" - -Example U-Boot Sequence -======================= -setenv ethact TSEC1 -setenv ipaddr 192.168.96.106 -setenv serverip 192.168.96.31 -tftp 1000000 ticker.img -bootm - -Making a U-Boot Image -===================== -powerpc-rtems4.9-objcopy -O binary ticker.exe ticker.bin -gzip -9 ticker.bin -mkimage -A ppc -O rtems -T kernel -C gzip -a 100 -e 10000 -n "RTEMS -Test" -d ticker.bin.gz ticker.img diff --git a/c/src/lib/libbsp/powerpc/gen83xx/README.mpc8349eamds b/c/src/lib/libbsp/powerpc/gen83xx/README.mpc8349eamds deleted file mode 100644 index 71be4b9eca..0000000000 --- a/c/src/lib/libbsp/powerpc/gen83xx/README.mpc8349eamds +++ /dev/null @@ -1,42 +0,0 @@ -BSP NAME: gen83xx -BOARD: Freescale MPC8349 board MPC8349EAMDS -BUS: PCI (unused) -CPU FAMILY: ppc -CPU: PowerPC e300 (SW compatible to 603e) -COPROCESSORS: N/A -MODE: 32 bit mode - -DEBUG MONITOR: U-Boot - -PERIPHERALS -=========== -TIMERS: PPC internal Timebase register - RESOLUTION: ??? -SERIAL PORTS: 2 internal PSCs -REAL-TIME CLOCK: (not yet supported) -DMA: none -VIDEO: none -SCSI: none -NETWORKING: 2xTSEC triple speed ethernet channels - -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 1 -ELECTRICAL: na -BAUD: 9600 -BITS PER CHARACTER: 8 -PARITY: N -STOP BITS: 1 - -Notes -===== - - \ No newline at end of file diff --git a/c/src/lib/libbsp/powerpc/haleakala/README b/c/src/lib/libbsp/powerpc/haleakala/README deleted file mode 100644 index 115ae63fb1..0000000000 --- a/c/src/lib/libbsp/powerpc/haleakala/README +++ /dev/null @@ -1,51 +0,0 @@ -# Adapted from Virtex BSP - -BSP NAME: Haleakala -BOARD: AMCC/UDTech Haleakala 405Exr eval board -BUS: N/A -CPU FAMILY: ppc -CPU: PowerPC 405EXr -COPROCESSORS: N/A -MODE: 32 bit mode - -DEBUG MONITOR: - -PERIPHERALS -=========== -TIMERS: 405EXr internal -SERIAL PORTS: 405EXr internal -REAL-TIME CLOCK: DS1338 -DMA: 405EXr internal -VIDEO: none -SCSI: none -NETWORKING: 405EXr internal - -DRIVER INFORMATION -================== -CLOCK DRIVER: PPC Decrementer -IOSUPP DRIVER: N/A -SHMSUPP: N/A -TIMER DRIVER: N/A -TTY DRIVER: shared - -STDIO -===== -PORT: Console port 0 -ELECTRICAL: RS-232 -BAUD: 9600-115200 -BITS PER CHARACTER: 8 -PARITY: None -STOP BITS: 1 - -Notes -===== - -Board description ------------------ -clock rate: 400 MHz -ROM: 64MByte FLASH -RAM: 256MByte DDR DRAM - - -Porting -------- diff --git a/c/src/lib/libbsp/powerpc/motorola_powerpc/BOOTING b/c/src/lib/libbsp/powerpc/motorola_powerpc/BOOTING deleted file mode 100644 index 16adda28df..0000000000 --- a/c/src/lib/libbsp/powerpc/motorola_powerpc/BOOTING +++ /dev/null @@ -1,92 +0,0 @@ -This file documents the on board monitor (PPCBUG) configuration used -to be able to boot the archives located in powerpc-rtems/c/mcp750/bin. -This information was provided by Eric Valette - -NOTE (by Till Straumann , 2003): -Apparently, PPCBug fails to shut down the network interface after -loading an image. This means that the ethernet chip is still able -to write into its descriptors and network buffer memory which -can result in the loaded system to be corrupted if that system -relocates itself!. The proper place to shut down the interface -would be PPCBug itself or a 'PPCBug startup script' - unfortunately, -PPCBug doesn't offer such a feature. Therefore, the bootloader -is by default compiled with the -#ifdef USE_PPCBUG -compile-time option ENABLED. It will then use a PPCBug system -call to shut down the ethernet chip during an early stage of -the boot process. -NOTE: THIS (i.e. the system call) WILL FAIL IF YOU USE SOFTWARE -OTHER THAN PPCBUG TO BOOT THE BSP. In such a case, you must -recompile with #undef USE_PPCBUG and make sure the ethernet -interface is quiet by other means. - ------------------------ ENV command-------------- -PPC1-Bug>env -Bug or System environment [B/S] = B? -Field Service Menu Enable [Y/N] = N? -Probe System for Supported I/O Controllers [Y/N] = Y? -Auto-Initialize of NVRAM Header Enable [Y/N] = Y? -Network PReP-Boot Mode Enable [Y/N] = Y? <==================== -SCSI Bus Reset on Debugger Startup [Y/N] = N? -Primary SCSI Bus Negotiations Type [A/S/N] = A? -Primary SCSI Data Bus Width [W/N] = N? -Secondary SCSI Identifier = "07"? -NVRAM Boot List (GEV.fw-boot-path) Boot Enable [Y/N] = Y? -NVRAM Boot List (GEV.fw-boot-path) Boot at power-up only [Y/N] = Y? -NVRAM Boot List (GEV.fw-boot-path) Boot Abort Delay = 5? -Auto Boot Enable [Y/N] = Y? -Auto Boot at power-up only [Y/N] = Y? -Auto Boot Scan Enable [Y/N] = Y? -Auto Boot Scan Device Type List = FDISK/CDROM/TAPE/HDISK/? -Auto Boot Controller LUN = 14? -Auto Boot Device LUN = 40? -Auto Boot Partition Number = 03? -Auto Boot Abort Delay = 7? -Auto Boot Default String [NULL for an empty string] = ? -ROM Boot Enable [Y/N] = N? -ROM Boot at power-up only [Y/N] = Y? -ROM Boot Abort Delay = 5? -ROM Boot Direct Starting Address = FFF00000? -ROM Boot Direct Ending Address = FFFFFFFC? -Network Auto Boot Enable [Y/N] = N? -Network Auto Boot at power-up only [Y/N] = N? -Network Auto Boot Controller LUN = 00? -Network Auto Boot Device LUN = 00? -Network Auto Boot Abort Delay = 5? -Network Auto Boot Configuration Parameters Offset (NVRAM) = 00001000? -Memory Size Enable [Y/N] = Y? -Memory Size Starting Address = 00000000? -Memory Size Ending Address = 02000000? -DRAM Speed in NANO Seconds = 60? -ROM First Access Length (0 - 31) = 10? -ROM Next Access Length (0 - 15) = 0? -DRAM Parity Enable [On-Detection/Always/Never - O/A/N] = O? -L2Cache Parity Enable [On-Detection/Always/Never - O/A/N] = O? -PCI Interrupts Route Control Registers (PIRQ0/1/2/3) = 0A050000? -Serial Startup Code Master Enable [Y/N] = N? -Serial Startup Code LF Enable [Y/N] = N? ----------------------NIOT --------------------------- -PPC1-Bug>niot -Controller LUN =00? -Device LUN =00? -Node Control Memory Address =03F9E000? -Client IP Address =194.2.81.157? -Server IP Address =194.2.81.241? -Subnet IP Address Mask =255.255.255.0? -Broadcast IP Address =255.255.255.255? -Gateway IP Address =194.2.81.254? -Boot File Name ("NULL" for None) =debug-ppc? -Argument File Name ("NULL" for None) =? -Boot File Load Address =001F0000? -Boot File Execution Address =001F0000? -Boot File Execution Delay =00000000? -Boot File Length =00000000? -Boot File Byte Offset =00000000? -BOOTP/RARP Request Retry =05? -TFTP/ARP Request Retry =05? -Trace Character Buffer Address =00000000? -BOOTP/RARP Request Control: Always/When-Needed (A/W)=W? -BOOTP/RARP Reply Update Control: Yes/No (Y/N) =Y? --------------------------------------------------------- - - diff --git a/c/src/lib/libbsp/powerpc/motorola_powerpc/README b/c/src/lib/libbsp/powerpc/motorola_powerpc/README deleted file mode 100644 index 5bd1011dbd..0000000000 --- a/c/src/lib/libbsp/powerpc/motorola_powerpc/README +++ /dev/null @@ -1,44 +0,0 @@ -BSP NAME: MCP750 -BOARD: MCP750 from motorola -BUS: PCI -CPU FAMILY: ppc -CPU: PowerPC 750 -COPROCESSORS: N/A -MODE: 32 bit mode - -DEBUG MONITOR: PPCBUG mode - -PERIPHERALS -=========== -TIMERS: PPC internal Timebase register - RESOLUTION: ??? -SERIAL PORTS: simulated via bug -REAL-TIME CLOCK: PPC internal Decrementer register -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. - diff --git a/c/src/lib/libbsp/powerpc/motorola_powerpc/README.MVME2100 b/c/src/lib/libbsp/powerpc/motorola_powerpc/README.MVME2100 deleted file mode 100644 index 6b06eb0f4f..0000000000 --- a/c/src/lib/libbsp/powerpc/motorola_powerpc/README.MVME2100 +++ /dev/null @@ -1,128 +0,0 @@ -The MVME2100 is a Motorola VMEbus board which is similar to the other -Motorola PowerPC boards supported by this BSP. But it does not support -the Motorola CPU Configuration Register. This makes it impossible to -dynamically probe and determine that you are executing on this board -variant. So this BSP variant must be explicitly built to only support -the MVME2100. The complete list of differences found so far is: - - * No CPU Configuration Register - * one COM port - * COM port is on PCI IRQ not ISA IRQ - * limited on RAM (32 or 64 MB) - * uses the EPIC interrupt controller on the MPC8240 - * does not have an ISA bus but has an ISA I/O address space - * cannot set DBAT2 in bspstart like other variants because - there are PCI/ISA Interrupt Acknowledge registers at this space - This BSP may have left some PCI memory uncovered - * PPCBug starts programs with vectors still in ROM - -Supported Features: - - Interrupt driven console using termios - - Network device driver - - Real-Time Clock driver - - Clock Tick Device Driver - -Things to address: - - Does not return to monitor - - Level 1 cache is disabled for now - - Check on trying to read CPU Configuration Register for CHRP/Prep for PCI - and report a failure if in the wrong mode. May be able to set the model - but it may be hard to test if we break PPCBug. - - Use NVRAM for network configuration information - -BSP Features Not Implemented: - - VMEbus mapped in but untested - - OpenPIC features not required for BSP are not supported - -Memory Map -========== - BAT Mapping - - ffff ffff |------------------------------------| ----- ffff ffff - | ROM/FLASH Bank 0 | | - fff0 0000 |------------------------------------| | - | System I/O | | - ffe0 0000 |------------------------------------| | - | Replicated ROM/FLASH Bank 0 | | - | Replicated System I/O | | - ff80 0000 |------------------------------------| | - | ROM/FLASH Bank 1 | DBAT3 - ff00 0000 |------------------------------------| - Supervisor R/W - | PCI Interrupt Acknowledge | - Cache Inhibited - fef0 0000 |------------------------------------| - Guarded - | PCI Configuration Data Register | | - fee0 0000 |------------------------------------| | - | PCI Configuration Address Register | | - fec0 0000 |------------------------------------| | - | PCI I/O Space | | - fe80 0000 |------------------------------------| | - | PCI/ISA I/O Space | | - fe00 0000 |------------------------------------| | - | PCI/ISA Memory Space | | - fd00 0000 |------------------------------------| | - | | | - | xxxxxxxxxxxxxx| ----- f000 0000 - | x not mapped | | - | xxxxxxxxxxxxxx| ----- a000 0000 - | | | - | | | - | | DBAT0 - | | - Supervisor R/W - | | - Cache Inhibited - | | - Guarded - | | | - | | | - | | ----- 9000 0000 - | | | - | | | - | PCI Memory Space | DBAT2 - | | - Supervisor R/W - | | - Cache Inhibited - | | - Guarded - | | | - | | | - | | | - 8000 0000 |------------------------------------| ----- 8000 0000 - | x | - | x not mapped | - | Reserved xxxxxxxxxxxxxx| ----- 1000 0000 - | | | - | | | - 0200 0000 |------------------------------------| | - | | | - | | | - | | | - | | | - | DRAM (32MB) | DBAT1/IBAT1 - | | - Supervisor R/W - | | | - | | | - | | | - | | | - 0000 0000 |------------------------------------| ----- 0000 0000 - - -TTCP Performance on First Day Run -================================= -Fedora Core 1 on (according to /proc/cpuinfo) a 300 Mhz P3 using Netgear -10/100 CardBus NIC on a dedicated 10BaseT LAN. - -ON MVME2100: ttcp -t -s 192.168.2.107 -REPORTED ON MVME2100: -ttcp-t: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp -> 192.168.2.107 -ttcp-t: socket -ttcp-t: connect -ttcp-t: 16777216 bytes in 20.80 real seconds = 787.69 KB/sec +++ -ttcp-t: 2048 I/O calls, msec/call = 10.40, calls/sec = 98.46 -ttcp-t: 0.0user 20.8sys 0:20real 100% 0i+0d 0maxrss 0+0pf 0+0csw - -ON MVME2100: ttcp -t -s 192.168.2.107 -REPORTED ON MVME2100: -ttcp -r -s -ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp -ttcp-r: socket -ttcp-r: accept from 192.168.2.107 -ttcp-r: 16777216 bytes in 15.41 real seconds = 1063.21 KB/sec +++ -ttcp-r: 11588 I/O calls, msec/call = 1.36, calls/sec = 751.98 -ttcp-r: 0.0user 15.4sys 0:15real 100% 0i+0d 0maxrss 0+0pf 0+0csw - diff --git a/c/src/lib/libbsp/powerpc/motorola_powerpc/README.MVME2300 b/c/src/lib/libbsp/powerpc/motorola_powerpc/README.MVME2300 deleted file mode 100644 index 572a4b175b..0000000000 --- a/c/src/lib/libbsp/powerpc/motorola_powerpc/README.MVME2300 +++ /dev/null @@ -1,39 +0,0 @@ -This BSP was adapted from Eric Valette MCP750 Generic motorola -port to MVME2300 by Jay Kulpinski . -In other to work correctly, the Tundra Universe chip must -be turned off using PPCBug as explained below. - - - - -The Tundra Universe chip is a bridge between the PCI and VME buses. -It has four programmable mapping windows in each direction, much like -the Raven. PPCBUG lets you specify the mappings if you don't want -to do it in your application. The mappings on our board, which may -or not be the default Motorola mappings, had one window appearing -at 0x01000000 in PCI space. This is the same place the bootloader -code remapped the Raven registers. The windows' mappings are -very likely to be application specific, so I wouldn't worry too -much about setting them in the BSP, but it would be nice to have -a standard interface to do so. Whoever needs that first can -incorporate the ppcn_60x BSP code for the Universe chip. :-) - -These options in PPCBUG's ENV command did the job: - -VME3PCI Master Master Enable [Y/N] = Y? -PCI Slave Image 0 Control = 00000000? <----- -PCI Slave Image 0 Base Address Register = 00000000? -PCI Slave Image 0 Bound Address Register = 00000000? -PCI Slave Image 0 Translation Offset = 00000000? -PCI Slave Image 1 Control = 00000000? <----- -PCI Slave Image 1 Base Address Register = 01000000? -PCI Slave Image 1 Bound Address Register = 20000000? -PCI Slave Image 1 Translation Offset = 00000000? -PCI Slave Image 2 Control = 00000000? <----- -PCI Slave Image 2 Base Address Register = 20000000? -PCI Slave Image 2 Bound Address Register = 22000000? -PCI Slave Image 2 Translation Offset = D0000000? -PCI Slave Image 3 Control = 00000000? <----- -PCI Slave Image 3 Base Address Register = 2FFF0000? -PCI Slave Image 3 Bound Address Register = 30000000? -PCI Slave Image 3 Translation Offset = D0000000? diff --git a/c/src/lib/libbsp/powerpc/motorola_powerpc/README.MVME2400 b/c/src/lib/libbsp/powerpc/motorola_powerpc/README.MVME2400 deleted file mode 100644 index 575000216b..0000000000 --- a/c/src/lib/libbsp/powerpc/motorola_powerpc/README.MVME2400 +++ /dev/null @@ -1,29 +0,0 @@ -The generic motorla_powerpc BSP was adapted to work on a MVME2432 by -Thomas Doerfler . - -The main steps needed were adaptions to the "Hawk" controller, which -replaces the MVME2300 Raven and Falcon chips. - -This board now runs with the same BSP configuration as the MCP750, so -select the mcp750 BSP. - -The following settings in the PPCBUG's ENV were also important (taken -from the "README.MVME2300" file:) - -VME3PCI Master Master Enable [Y/N] = Y? -PCI Slave Image 0 Control = 00000000? <----- -PCI Slave Image 0 Base Address Register = 00000000? -PCI Slave Image 0 Bound Address Register = 00000000? -PCI Slave Image 0 Translation Offset = 00000000? -PCI Slave Image 1 Control = 00000000? <----- -PCI Slave Image 1 Base Address Register = 01000000? -PCI Slave Image 1 Bound Address Register = 20000000? -PCI Slave Image 1 Translation Offset = 00000000? -PCI Slave Image 2 Control = 00000000? <----- -PCI Slave Image 2 Base Address Register = 20000000? -PCI Slave Image 2 Bound Address Register = 22000000? -PCI Slave Image 2 Translation Offset = D0000000? -PCI Slave Image 3 Control = 00000000? <----- -PCI Slave Image 3 Base Address Register = 2FFF0000? -PCI Slave Image 3 Bound Address Register = 30000000? -PCI Slave Image 3 Translation Offset = D0000000? diff --git a/c/src/lib/libbsp/powerpc/motorola_powerpc/README.OTHERBOARDS b/c/src/lib/libbsp/powerpc/motorola_powerpc/README.OTHERBOARDS deleted file mode 100644 index 52dbe60793..0000000000 --- a/c/src/lib/libbsp/powerpc/motorola_powerpc/README.OTHERBOARDS +++ /dev/null @@ -1,93 +0,0 @@ -This BSP is designed to support multiple Motorola PowerPC boards. The -following extract from some email from Eric Valette should provide -the basic information required to use this BSP on other models. - - -Joel> + I am sure there are other Motorola boards which this BSP should -Joel> support. If you know of other models that should work, list -Joel> them off to me. I will make them aliases and note them as -Joel> untested in the status. - -Extract of motorola.c : - -static const mot_info_t mot_boards[] = { - {0x300, 0x00, "MVME 2400"}, - {0x010, 0x00, "Genesis"}, - {0x020, 0x00, "Powerstack (Series E)"}, - {0x040, 0x00, "Blackhawk (Powerstack)"}, - {0x050, 0x00, "Omaha (PowerStack II Pro3000)"}, - {0x060, 0x00, "Utah (Powerstack II Pro4000)"}, - {0x0A0, 0x00, "Powerstack (Series EX)"}, - {0x1E0, 0xE0, "Mesquite cPCI (MCP750)"}, - {0x1E0, 0xE1, "Sitka cPCI (MCPN750)"}, - {0x1E0, 0xE2, "Mesquite cPCI (MCP750) w/ HAC"}, - {0x1E0, 0xF6, "MTX Plus"}, - {0x1E0, 0xF7, "MTX wo/ Parallel Port"}, - {0x1E0, 0xF8, "MTX w/ Parallel Port"}, - {0x1E0, 0xF9, "MVME 2300"}, - {0x1E0, 0xFA, "MVME 2300SC/2600"}, - {0x1E0, 0xFB, "MVME 2600 with MVME712M"}, - {0x1E0, 0xFC, "MVME 2600/2700 with MVME761"}, - {0x1E0, 0xFD, "MVME 3600 with MVME712M"}, - {0x1E0, 0xFE, "MVME 3600 with MVME761"}, - {0x1E0, 0xFF, "MVME 1600-001 or 1600-011"}, - {0x000, 0x00, ""} -}; - -In theory, each board starting with 0x1E0 should be really straighforward -to port (604 proc or above and raven host bridge...). - -Joel> Then we just have to add README.BOARD_MODEL and TIMES.BOARD_MODEL - -I should also make a README to explain that some file containing -switch statement should be completed (e.g libbsp/powerpc/shared/irq_init.c -[NOTE: This is that README. :) ] - - ------------------------------ - if ( (currentBoard == MESQUITE) ) { - VIA_isa_bridge_interrupts_setup(); - known_cpi_isa_bridge = 1; - } - if (!known_cpi_isa_bridge) { - printk("Please add code for PCI/ISA bridge init to libbsp/shared/irq/irq_init.c\n"); - printk("If your card works correctly please add a test and set known_cpi_isa_bridge to true\n"); - } - ------------------------------ - -and libbsp/powerpc/mpc6xx/execeptions/raw_exception.c - - ------------------------------- - -int mpc604_vector_is_valid(rtems_vector vector) -{ - /* - * Please fill this for MVME2307 - */ - printk("Please complete libcpu/powerpc/XXX/raw_exception.c\n"); - return 0; -} - -int mpc60x_set_exception (const rtems_raw_except_connect_data* except) -{ - unsigned int level; - - if (current_ppc_cpu == PPC_750) { - if (!mpc750_vector_is_valid(except->exceptIndex)){ - return 0; - } - goto exception_ok; - } - if (current_ppc_cpu == PPC_604) { - if (!mpc604_vector_is_valid(except->exceptIndex)){ - return 0; - } - goto exception_ok; - } - printk("Please complete libcpu/powerpc/XXX/raw_exception.c\n"); - return 0; - ----------------------------------- - -NB : re readding the code I should have done a switch... TSSSS.A future patche - I think. - - diff --git a/c/src/lib/libbsp/powerpc/motorola_powerpc/README.dec21140 b/c/src/lib/libbsp/powerpc/motorola_powerpc/README.dec21140 deleted file mode 100644 index 674f2624a1..0000000000 --- a/c/src/lib/libbsp/powerpc/motorola_powerpc/README.dec21140 +++ /dev/null @@ -1 +0,0 @@ -The dec21140 network driver is found in libchip/networking. diff --git a/c/src/lib/libbsp/powerpc/motorola_powerpc/README.mtx603e b/c/src/lib/libbsp/powerpc/motorola_powerpc/README.mtx603e deleted file mode 100644 index ef81f5a2e0..0000000000 --- a/c/src/lib/libbsp/powerpc/motorola_powerpc/README.mtx603e +++ /dev/null @@ -1,58 +0,0 @@ -# -# README.mtx603e -# - -BSP NAME: mtx603e -BOARD: MTX-60X boards from motorola -BUS: PCI, W83C554 -CPU FAMILY: ppc -CPU: PowerPC 603e -COPROCESSORS: N/A -MODE: 32 bit mode - -DEBUG MONITOR: PPCBUG mode - -PERIPHERALS -=========== -TIMERS: PPC internal Timebase register - RESOLUTION: ??? -SERIAL PORTS: simulated via bug -REAL-TIME CLOCK: PPC internal Decrementer register -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 -===== - -This bsp is an instantiation of the generic motorola_powerpc BSP. It is -"virtual" in the sense it does not supply any per-bsp files. Instead, -it is defined by the aclocal and make/custom config files which supply -#defines that adapt the shared powerpc code. This is seen in the -bootloader and irq setup files. - -Although created for a MTX-603e board, this bsp should be readily -portable to any of the Motorola MTX boards, and has in fact run on a -MCP750 board. - -Some MTX boards have multiple processors, at this time RTEMS does not -support SMP and there is no internal awareness of the architecture. - diff --git a/c/src/lib/libbsp/powerpc/motorola_powerpc/README.qemu b/c/src/lib/libbsp/powerpc/motorola_powerpc/README.qemu deleted file mode 100644 index 9ccf3779a9..0000000000 --- a/c/src/lib/libbsp/powerpc/motorola_powerpc/README.qemu +++ /dev/null @@ -1,124 +0,0 @@ -The 'qemuprep'/'qemuprep-altivec' BSPs are variants of -'motorola_powerpc' that can run under QEMU. They are *not* -binary compatible with other variants of 'motorola_powerpc' -(nor with each other). - -Most significant differences to real hardware: - - no OpenPIC, just a 8259 PIC (even though qemu implements an openpic - at least to some extent it is not configured into the prep platform - as of qemu-0.14.1). - - no VME (absense of the VME controller is detected by the BSP) - - the only network chip supported by both, qemu and vanilla RTEMS - is the ISA NE2000 controller. Note that the default interrupt line - settings used by RTEMS and QEMU differ: RTEMS uses 5 and QEMU 9. - This can be addressed by passing a RTEMS commandline option - --ne2k-irq=9. - Other controllers (i8559, e1000, pcnet) implemented by qemu can - also be used but require unbundled RTEMS drivers (libbsdport). - Note that the bundled 'if_fxp' has not been ported to PPC and works - on x86 only. - - unlike a real motorola board you can run qemu emulating a 7400 CPU - which features altivec. I.e., you can use this BSP (altivec-enabled - variant) to test altivec-enabled code. - -Compatibility: qemu had quite a few bugs related to the PREP platform. -Version 0.12.4, for example, required patches. 0.14.1 seems to have -fixed the show-stoppers. Hence, you *need* at least qemu-0.14.1 for -this BSP; it should work without the need for patching QEMU. - -BIOS: qemu requires you to use a BIOS. The one that came with qemu -0.12.4 didn't work for me so I created a minimal dummy that provides -enough functionality for the RTEMS bootloader to work. - -BSP Variants: -You can compile the BSP for either a 604 CPU or a 7400 (altivec-enabled). -Note that you cannot run the altivec-enabled BSP variant on a CPU w/o -altivec/SIMD hardware. The non-altivec variant is called 'qemuprep' -and the altivec-enabled one 'qemuprep-altivec'. Hence, you can -configure RTEMS: - -604/non-altivec variant only: - configure --target=powerpc-rtems --enable-rtemsbsp=qemuprep -7400/altivec variant only: - configure --target=powerpc-rtems --enable-rtemsbsp=qemuprep-altivec -both variants: - configure --target=powerpc-rtems --enable-rtemsbsp='qemuprep qemuprep-altivec' - -Building QEMU: -In case you have no pre-built qemu-0.14.1 you can -compile it yourself: - -cd qemu-0.14.1 -configure --target-list=ppc-softmmu -make - -Running QEMU: -A number of command-line options are important (BTW: make sure -you run the PPC/PREP emulator and not a natively installed i386/PC -emulating 'qemu') - --M prep --- select machine type: prep --cpu 604 --- select 604 CPU for non-altivec variant --cpu 7400 --- select 7400 CPU for altivec variant - - NOTE: the 7455 and 7457 emulations are buggy as of - qemu-0.14.1 and they won't work. - --bios /powerpc-rtems/qemuprep/qemu_fakerom.bin --bios /powerpc-rtems/qemuprep-altivec/qemu_fakerom.bin - --- select proprietary dummy 'BIOS' - --nographic --- redirect serial/IO to console where qemu is run - --kernel --- path to your RTEMS executable (.ralf file, e.g., 'hello.ralf') --no-reboot --- terminate after one run --append --- RTEMS kernel comand line (use e.g., to modify - ne2000 driver interrupt line) - -Networking: -(We assume your RTEMS application is correctly configured and -built for networking using the ne2k adapter [other adapters -can be used with unbundled/libbsdport drivers]) - -I use networking with a 'tap' interface on the host machine -and can then communicate with the emulated target in any -desired way. The Ethernet address specified in the RTEMS network interface -configuration and the Qemu command line must match, otherwise uni-cast frames -are not received. It is best to use a NULL pointer in the RTEMS network -interface configuration for the Ethernet address, so that the default from Qemu -is used. Make sure that your firewall settings allow communication between -different Qemu instances and your host. - -On (linux) host: - -# create a 'permanent' tap device that can be used by myself -# (as non-root user). -sudo tunctl -u `id -u` -# configure tap0 interface -sudo ifconfig tap0 10.1.1.1 netmask 255.255.255.0 up -# provide a suitable dhcpd config file (for the emulated -# platform to boot: IP address etc. -# -# execute dhcp on host -sudo dhcpd -d tap0 - -Start emulated prep platform: - -ppc-softmmu/qemu-system-ppc \ - -M prep \ - -cpu 7400 \ - -bios /powerpc-rtems/qemuprep-altivec/lib/qemu_fakerom.bin \ - -kernel /my_app.ralf \ - -append --ne2k-irq=9 \ - -nographic \ - -no-reboot \ - -net nic,model=ne2k_isa \ - -net tap,vlan=0,ifname=tap0,script=no,downscript=no - -Again: if you use the non-altivec BSP variant, use -cpu 604 -and if you use the altivec-enabled variant then you MUST use --cpu 7400. - -Have fun. - -Till Straumann, 2011/07/18 diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/README b/c/src/lib/libbsp/powerpc/mpc55xxevb/README deleted file mode 100644 index df4a8e8a52..0000000000 --- a/c/src/lib/libbsp/powerpc/mpc55xxevb/README +++ /dev/null @@ -1,15 +0,0 @@ -Supported MCUs: - - o MPC5516 - o MPC5554 - o MPC5566 - o MPC5643L - o MPC5674F - -Supported boards: - - o embedded brains GmbH GWLCFM - o phyCORE MPC5554 - o Freescale MPC5566EVB - o Freescale XKT564L KIT - o Axiom MPC567XADAT516 / MPC567XEVBFXMB diff --git a/c/src/lib/libbsp/powerpc/mpc8260ads/README b/c/src/lib/libbsp/powerpc/mpc8260ads/README deleted file mode 100644 index 43cb2d9846..0000000000 --- a/c/src/lib/libbsp/powerpc/mpc8260ads/README +++ /dev/null @@ -1,331 +0,0 @@ -BSP NAME: mpc8260ads -BOARD: Motorola MPC8260 ADS Evaluation board -BUS: N/A -CPU FAMILY: ppc -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) - SCC3 is used in HDLC mode to transport IP frames. - SMCs, FCCs, SPI, I2C are unused. -REAL-TIME CLOCK: -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 - SCC3 network - SCC4 - CLK1 - CLK2 - CLK3 - CLK4 - CLK5 network - CLK6 - CLK7 - CLK8 - BRG1 console - BRG2 console - BRG3 console - BRG4 network - RTC - PIT - TB timer - DEC clock - SWT - *CS0 8M FLASH - *CS1 Config registers - *CS2 60X SDRAM - *CS3 - *CS4 LCL SDRAM - *CS5 ATM - *CS6 - *CS7 - *CS8 - *CS9 - *CS10 - *CS11 - UPMA - UPMB - IRQ0 - IRQ1 - IRQ2 - IRQ3 - IRQ4 - 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 -RAM: 16M SDRAM DIMM - -The board is marked with "Rev PILOT" -U17 is marked with "MPC8260ADS Pilot 00" -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: -DS1: 1-"off", 2-"on", 3-"off", 4-"on", 5-"off", 6-"off", 7-"off", 8-"off" -DS2: all "on" -DS3: all "on" - -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. - -If you require the network connections (see README in network directory) -you need to connect 3VTTL - RS422 level convertors to the CPM expansion -connector, P4. The signals, as numbered on the connector itself -(beware: the numbering on the PCB does not agree): - -TX Data (SCC3 TXD) (output) Pin a25 -TX Clock (BRG4O) (output) Pin a11 -Rx Data (SCC3 RXD) (input) Pin c15 -Rx Clock (CLK5) (input) Pin d28 -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 -don't already have Metrowerks CodeWarrior. - - - -Verification -------------------------------- - -*** TESTING IN PROGRESS - DO NOT BELIEVE THESE RESULTS *** - -Single processor tests: Passed -Multi-processort tests: not applicable -Timing tests: - Context Switch - - context switch: self 9 - context switch: to another task 10 - context switch: no floating point contexts 23 - fp context switch: restore 1st FP task 24 - fp context switch: save initialized, restore initialized 11 - fp context switch: save idle, restore initialized 11 - fp context switch: save idle, restore idle 23 - - Task Manager - - rtems_task_create 83 - rtems_task_ident 84 - rtems_task_start 30 - rtems_task_restart: calling task 48 - rtems_task_restart: suspended task -- returns to caller 36 - rtems_task_restart: blocked task -- returns to caller 47 - rtems_task_restart: ready task -- returns to caller 35 - rtems_task_restart: suspended task -- preempts caller 56 - rtems_task_restart: blocked task -- preempts caller 116 - rtems_task_restart: ready task -- preempts caller 93 - rtems_task_delete: calling task 102 - rtems_task_delete: suspended task 74 - rtems_task_delete: blocked task 76 - rtems_task_delete: ready task 80 - rtems_task_suspend: calling task 37 - rtems_task_suspend: returns to caller 14 - rtems_task_resume: task readied -- returns to caller 16 - rtems_task_resume: task readied -- preempts caller 30 - rtems_task_set_priority: obtain current priority 12 - rtems_task_set_priority: returns to caller 23 - rtems_task_set_priority: preempts caller 52 - rtems_task_mode: obtain current mode 5 - rtems_task_mode: no reschedule 6 - rtems_task_mode: reschedule -- returns to caller 15 - rtems_task_mode: reschedule -- preempts caller 43 - rtems_task_wake_after: yield -- returns to caller 8 - rtems_task_wake_after: yields -- preempts caller 30 - rtems_task_wake_when: 49 - - Interrupt Manager - - interrupt entry overhead: returns to nested interrupt 7 - interrupt entry overhead: returns to interrupted task 31 - interrupt entry overhead: returns to preempting task 14 - interrupt exit overhead: returns to nested interrupt 10 - interrupt exit overhead: returns to interrupted task 8 - interrupt exit overhead: returns to preempting task 45 - - Clock Manager - - rtems_clock_set 28 - rtems_clock_get 0 - rtems_clock_tick 36 - - Timer Manager - - rtems_timer_create 11 - rtems_timer_ident 82 - rtems_timer_delete: inactive 14 - rtems_timer_delete: active 16 - rtems_timer_fire_after: inactive 20 - rtems_timer_fire_after: active 22 - rtems_timer_fire_when: inactive 24 - rtems_timer_fire_when: active 24 - rtems_timer_reset: inactive 18 - rtems_timer_reset: active 21 - rtems_timer_cancel: inactive 11 - rtems_timer_cancel: active 12 - - Semaphore Manager - - rtems_semaphore_create 56 - rtems_semaphore_ident 94 - rtems_semaphore_delete 34 - rtems_semaphore_obtain: available 13 - rtems_semaphore_obtain: not available -- NO_WAIT 13 - rtems_semaphore_obtain: not available -- caller blocks 48 - rtems_semaphore_release: no waiting tasks 16 - rtems_semaphore_release: task readied -- returns to caller 36 - rtems_semaphore_release: task readied -- preempts caller 36 - - Message Queue Manager - - rtems_message_queue_create 110 - rtems_message_queue_ident 82 - rtems_message_queue_delete 43 - rtems_message_queue_send: no waiting tasks 28 - rtems_message_queue_send: task readied -- returns to caller 31 - rtems_message_queue_send: task readied -- preempts caller 46 - rtems_message_queue_urgent: no waiting tasks 28 - rtems_message_queue_urgent: task readied -- returns to caller 31 - rtems_message_queue_urgent: task readied -- preempts caller 46 - rtems_message_queue_broadcast: no waiting tasks 22 - rtems_message_queue_broadcast: task readied -- returns to caller 81 - rtems_message_queue_broadcast: task readied -- preempts caller 75 - rtems_message_queue_receive: available 26 - rtems_message_queue_receive: not available -- NO_WAIT 15 - rtems_message_queue_receive: not available -- caller blocks 48 - rtems_message_queue_flush: no messages flushed 14 - rtems_message_queue_flush: messages flushed 14 - - Event Manager - - rtems_event_send: no task readied 12 - rtems_event_send: task readied -- returns to caller 38 - rtems_event_send: task readied -- preempts caller 21 - rtems_event_receive: obtain current events 1 - rtems_event_receive: available 19 - rtems_event_receive: not available -- NO_WAIT 11 - rtems_event_receive: not available -- caller blocks 36 - - Signal Manager - - rtems_signal_catch: 31 - rtems_signal_send: returns to caller 21 - rtems_signal_send: signal to self 39 - exit ASR overhead: returns to calling task 30 - exit ASR overhead: returns to preempting task 33 - - Partition Manager - - rtems_partition_create 59 - rtems_partition_ident 82 - rtems_partition_delete 20 - rtems_partition_get_buffer: available 19 - rtems_partition_get_buffer: not available 13 - rtems_partition_return_buffer 20 - - Region Manager - - rtems_region_create 37 - rtems_region_ident 84 - rtems_region_delete 20 - rtems_region_get_segment: available 19 - rtems_region_get_segment: not available -- NO_WAIT 23 - rtems_region_get_segment: not available -- caller blocks 75 - rtems_region_return_segment: no waiting tasks 21 - rtems_region_return_segment: task readied -- returns to caller 55 - rtems_region_return_segment: task readied -- preempts caller 82 - - Dual-Ported Memory Manager - - rtems_port_create 23 - rtems_port_ident 82 - rtems_port_delete 21 - rtems_port_internal_to_external 10 - rtems_port_external_to_internal 11 - - IO Manager - - rtems_io_initialize 1 - rtems_io_open 1 - rtems_io_close 1 - rtems_io_read 1 - rtems_io_write 1 - rtems_io_control 1 - - Rate Monotonic Manager - - rtems_rate_monotonic_create 43 - rtems_rate_monotonic_ident 82 - rtems_rate_monotonic_cancel 23 - rtems_rate_monotonic_delete: active 28 - rtems_rate_monotonic_delete: inactive 25 - rtems_rate_monotonic_period: obtain status 17 - rtems_rate_monotonic_period: initiate period -- returns to caller 32 - rtems_rate_monotonic_period: conclude periods -- caller blocks 30 - -Network tests: - TCP throughput (as measured by ttcp): - Receive: 1324 kbytes/sec - Transmit: 1037 kbytes/sec - - - - - - - - diff --git a/c/src/lib/libbsp/powerpc/mvme3100/KNOWN_PROBLEMS b/c/src/lib/libbsp/powerpc/mvme3100/KNOWN_PROBLEMS deleted file mode 100644 index 2178c43206..0000000000 --- a/c/src/lib/libbsp/powerpc/mvme3100/KNOWN_PROBLEMS +++ /dev/null @@ -1,77 +0,0 @@ -I have observed what seem to be strange -initialization problems with the ethernet -driver: - -I usually configure RTEMS networking by -BOOTP (the problem has nothing to do with -BOOTP but I just want to describe my -environment). Sometimes (it can actually -happen quite frequently, like 1 out of 4 -attempts but since yesterday when I decided -to hunt this down more systematically -the problem seems to have gone - typical!) -networking fails to initialize properly: - -BOOTP requests are sent (to the MAC), -TX interrupts occur and the TX MIB -counters increment - i.e., everything -seems normal but no data can be seen on -the wire. Also, even though we are on -a quite busy network, the receiver -doesn't see anything, i.e., 0 RX -interrupts, RX MIB counters for broadcast -packets remain steady at zero etc. -In brief, everyting seems normal at the -MAC and higher layers but no connection -to the wire seems to be established. - -Some further tests reveal (system under -test is in the 'bad' state): - 1 communication with the BCM5461 PHY - is normal. Registers can be read/written - and everything seems normal. In particular, - the link status is reported OK: disconnect - the cable and MII - BMSR bit 1<<2 is clear, - reconnect the cable and BMSR[2] is set. - Restart autoneg, the link goes and comes - back after a short while. - 2 setting the loopback bit in the TSEC's - MACCFG1 register correctly feeds packets - back into the RX, RX MIB counters now - increment and indicate data flow. - There are RX interrupts and all indicates - (I haven't actually looked at RX packet - data) that the RX would work normally. - After switching MACCFG1[LOOP_BACK] off - no RX traffic can be seen anymore. - 3 resetting the PHY (BMCR = 0x8000) and/or - restarting autoneg (BMCR = 0x1200) seems - to perform the desired action (registers - take on expected values) but still no luck - with communication all the way through - to the wire. - -Especially point 2 seems to indicate that -the problem is likely to be between the -wire and the MAC somewhere but re-setting -the PHY doesn't change things. Analysis is -much complicated by the fact that there -is no documentation on the BCM5461 chip -available. - -Noteworthy is also that if the system -initializes OK then it continues to work -normally; if initialization fails then -only resetting the board and restarting -helps. - -I wanted to test if it makes a difference -if MotLoad used the chip prior to RTEMS -being booted (in case MotLoad did some -magic step during initialization) but -before I could really test this the -problem went away. - -Big Mystery... - -12/12/2007, T.S. diff --git a/c/src/lib/libbsp/powerpc/mvme3100/LICENSE b/c/src/lib/libbsp/powerpc/mvme3100/LICENSE deleted file mode 100644 index 25a6abc81c..0000000000 --- a/c/src/lib/libbsp/powerpc/mvme3100/LICENSE +++ /dev/null @@ -1,49 +0,0 @@ -/* NOTE: The terms described in this LICENSE file apply only to the - * files created by the author (see below). Consult individual - * file headers for more details. - */ - -/* - * Authorship - * ---------- - * This software ('mvme3100' RTEMS BSP) was - * created by Till Straumann , 2007, - * Stanford Linear Accelerator Center, Stanford University. - * - * Acknowledgement of sponsorship - * ------------------------------ - * The 'mvme3100' BSP was produced by - * the Stanford Linear Accelerator Center, Stanford University, - * under Contract DE-AC03-76SFO0515 with the Department of Energy. - * - * Government disclaimer of liability - * ---------------------------------- - * Neither the United States nor the United States Department of Energy, - * nor any of their employees, makes any warranty, express or implied, or - * assumes any legal liability or responsibility for the accuracy, - * completeness, or usefulness of any data, apparatus, product, or process - * disclosed, or represents that its use would not infringe privately owned - * rights. - * - * Stanford disclaimer of liability - * -------------------------------- - * Stanford University makes no representations or warranties, express or - * implied, nor assumes any liability for the use of this software. - * - * Stanford disclaimer of copyright - * -------------------------------- - * Stanford University, owner of the copyright, hereby disclaims its - * copyright and all other rights in this software. Hence, anyone may - * freely use it for any purpose without restriction. - * - * Maintenance of notices - * ---------------------- - * In the interest of clarity regarding the origin and status of this - * SLAC software, this and all the preceding Stanford University notices - * are to remain affixed to any copy or derivative of this software made - * or distributed by the recipient and are to be affixed to any copy of - * software made or distributed by the recipient that contains a copy or - * derivative of this software. - * - * ------------------ SLAC Software Notices, Set 4 OTT.002a, 2004 FEB 03 - */ diff --git a/c/src/lib/libbsp/powerpc/mvme3100/README b/c/src/lib/libbsp/powerpc/mvme3100/README deleted file mode 100644 index 36fa28a398..0000000000 --- a/c/src/lib/libbsp/powerpc/mvme3100/README +++ /dev/null @@ -1,134 +0,0 @@ -Some information about this BSP -================================ - -ACKNOWLEDGEMENTS ----------------- -Acknowledgements: - - Valuable information was obtained from the following drivers - - linux: (BCM54xx) Maciej W. Rozycki, Amy Fong. - - This BSP also builds on top of the work of others who have contributed - to similar RTEMS (powerpc) BSPs, most notably Eric Valette, Eric Norum - and others. - - This BSP was produced by the Stanford Linear Accelerator Center, - Stanford University under contract with the US Department of Energy. - -LICENSE -------- -See ./LICENSE file. - -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) - -NOTE: The BSP supports the mvme3100 board. - -WARNING: It is extremely important that a MOTLoad "waitProbe", "netShut" - sequence be executed before booting RTEMS. Otherwise, network - interface interrupt handlers installed by MOTLoad may cause memory - corruption - -CONSOLE: 2 serial devices, UART driver from 'shared' - no surprises - ("/dev/ttyS0", [="/dev/console"], "/dev/ttyS1"). (Only - /dev/ttyS0 is accessible from the front panel.) - -CLOCK: Decrementer, same as other PPC BSPs. (FIXME: a openpic timer - could be used.) The bookE decrementer is slightly different - from the classic PPC decrementer but the differences are - hidden from the user. - -PIC (interrupt controller) (bsp/irq.h): OpenPIC integrated with - the MPC8540. (see also: bsp/openpic.h). - -PCI (bsp/pci.h): - In addition to rtems' PCI API, a call is available to scan - all devices executing a user callback on each device. - BSP_pciConfigDump() is a convenience wrapper dumping essential - information (IDs, BAs, IRQ pin/line) to the console or a file. - -MEMORY MAP: MotLoad; all addresses (MEM + I/O) read from PCI config. space - are CPU addresses. For sake of portability, drivers should still - use the _IO_BASE, PCI_MEM_BASE, PCI_DRAM_OFFSET constants. - -NVRAM: No NVRAM. - -FLASH (bsp/flashPgm.h): Routines to write flash. Highest level - wrapper writes a file to flash. - NOTE: Writing to flash is disabled by default; - call BSP_flashWriteEnable(). - -I2C (bsp.h, rtems/libi2c.h, libchip/i2c-xxx.h): temp. sensor, eeprom - and real-time clock (RTC) are available as device files (bsp.h); - lower-level interface is provided by libi2c.h. - - Available i2c devices are: - - /dev/i2c0.vpd-eeprom - /dev/i2c0.usr-eeprom - /dev/i2c0.usr1-eeprom - /dev/i2c0.ds1621 - /dev/i2c0.ds1621-raw - /dev/i2c0.ds1375-raw - - You can e.g., read the board temperature: - fd = open("/dev/i2c0.ds1621",O_RDONLY) - read(fd,&temp,1) - close(fd); - printf("Board Temp. is %idegC\n",(int)temp); - -VME: (bsp/VME.h, bsp/vme_am_defs.h, bsp/VMEDMA.h). - *always* use VME.h API, if possible; do *not* use chip driver - (vmeTsi148.h) directly unless you know what you are - doing (i.e., if you need specific features provided by the particular - chip) - - VMEConfig.h should not be used by applications as it makes them - dependent on BSP internals. VMEConfig.h is intended to be used - by BSP designers only. - - VME interrupt priorities: the VME bridge(s) do not implement - priorities in hardware. - However, on the 3100 multiple physical interrupt - lines/wires connect the VME bridge to the PIC. Hence, it is possible - to assign the different wires different priorities at the PIC - (see bsp/openpic.h) and to route VME interrupts to different - wires according to their priority. - You need to call driver specific routines - for this (vmeXXXIntRoute()), however (for driver-specific API - consult bsp/vmeTsi148.h). - - For VME DMA *always* use the bsp/VMEDMA.h API. DO NOT use - chip-specific features. Applications written using the bsp/VMEDMA.h - API are portable between the UniverseII and the Tsi148. - -HARDWARE TIMERS: (bsp/openpic.h). Programmable general-purpose - timers. Routines are provided to setup, start and stop - GPTs. The setup routine allows for specifying single-shot or periodic - mode and dispatches a user ISR when the GPT expires. - -NETWORK: (bsp/if_tsec_pub.h). In addition to the standard bsdnet - 'attach' function the driver offers a low-level API that - can be used to implement alternate communication links - which are totally decoupled from BSDNET. - - Consult 'KNOWN_PROBLEMS'. - -VPD: (bsp/vpd.h). The board's VPD (vital-product-data such as S/N, - MAC addresses and so forth) can be retrieved. - -BOOTING: BSP has a relocator-header. Clear MSR and jump to the first - instruction in the binary. R3 and R4, if non-null, point to the - start/end of an optional command line string that is copied into - BSP_commandline_string. The BSP is compatible with 'netboot'. - -Have fun. - --- Till Straumann , 2007. diff --git a/c/src/lib/libbsp/powerpc/mvme5500/LICENSE b/c/src/lib/libbsp/powerpc/mvme5500/LICENSE deleted file mode 100644 index 462b47748a..0000000000 --- a/c/src/lib/libbsp/powerpc/mvme5500/LICENSE +++ /dev/null @@ -1,112 +0,0 @@ - - EPICS Open License Terms - - The following is derived from the EPICS Open software license - agreement which applies to many of the unbundled EPICS extensions - and support modules. - - -------------------------------------------------------------- - - Copyright © 2004, Brookhaven National Laboratory and - Shuchen K. Feng - - The "RTEMS-MVME5500 Board Support Package" is distributed - subject to the following license conditions: - - SOFTWARE LICENSE AGREEMENT - Software: RTEMS-MVME5500 Board Support Package (BSP) - - 1. The "Software", below, refers to the aforementioned Board Support - package (in either source code, or binary form and accompanying - documentation) - - Each licensee is addressed as "you" or "Licensee." - - 1a.Part of the software was derived from the "RTEMS-PowerPC - BSPs", "NetBSD Project by Allegro Networks, Inc., and - Wasabi Systems, In.". The original Copyrights pertaining to - these items are contained in the individual source files, - and they are covered by their own License. - 2. The copyright holders shown above and their third-party - licensors hereby grant Licensee a royalty-free nonexclusive - license, subject to the limitations stated herein and U.S. - Government license rights. - 3. You may modify and make a copy or copies of the Software for use - within your organization, if you meet the following conditions: - a. Copies in source code must include the copyright notice - and this Software License Agreement. - b. Copies in binary form must include the copyright notice - and this Software License Agreement in the documentation - and/or other materials provided with the copy. - - 4. You may modify a copy or copies of the Software or any portion - of it, thus forming a work based on the Software, and distribute - copies of such work outside your organization, if you meet all - of the following conditions: - a. Copies in source code must include the copyright notice - and this Software License Agreement; - b. Copies in binary form must include the copyright notice - and this Software License Agreement in the documentation - and/or other materials provided with the copy; - c. Modified copies and works based on the Software must carry - prominent notices stating that you changed specified - portions of the Software. - - 5. Portions of the Software resulted from work developed under a - U.S. Government contract and are subject to the following - license: the Government is granted for itself and others acting - on its behalf a paid-up, nonexclusive, irrevocable worldwide - license in this computer software to reproduce, prepare - derivative works, and perform publicly and display publicly. - 6. WARRANTY DISCLAIMER. THE SOFTWARE IS SUPPLIED "AS IS" WITHOUT - WARRANTY OF ANY KIND. THE COPYRIGHT HOLDERS, THEIR THIRD PARTY - LICENSORS, THE UNITED STATES, THE UNITED STATES DEPARTMENT OF - ENERGY, AND THEIR EMPLOYEES: (1) DISCLAIM ANY WARRANTIES, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED - WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, - TITLE OR NON-INFRINGEMENT, (2) DO NOT ASSUME ANY LEGAL LIABILITY - OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR USEFULNESS - OF THE SOFTWARE, (3) DO NOT REPRESENT THAT USE OF THE SOFTWARE - WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS, (4) DO NOT WARRANT - THAT THE SOFTWARE WILL FUNCTION UNINTERRUPTED, THAT IT IS - ERROR-FREE OR THAT ANY ERRORS WILL BE CORRECTED. - 7. LIMITATION OF LIABILITY. IN NO EVENT WILL THE COPYRIGHT HOLDERS, - THEIR THIRD PARTY LICENSORS, THE UNITED STATES, THE UNITED - STATES DEPARTMENT OF ENERGY, OR THEIR EMPLOYEES: BE LIABLE FOR - ANY INDIRECT, INCIDENTAL, CONSEQUENTIAL, SPECIAL OR PUNITIVE - DAMAGES OF ANY KIND OR NATURE, INCLUDING BUT NOT LIMITED TO LOSS - OF PROFITS OR LOSS OF DATA, FOR ANY REASON WHATSOEVER, WHETHER - SUCH LIABILITY IS ASSERTED ON THE BASIS OF CONTRACT, TORT - (INCLUDING NEGLIGENCE OR STRICT LIABILITY), OR OTHERWISE, EVEN - IF ANY OF SAID PARTIES HAS BEEN WARNED OF THE POSSIBILITY OF - SUCH LOSS OR DAMAGES. - - Brookhaven National Laboratory Notice - ************************************* - - Acknowledgment of sponsorship - - - - - - - - - - - - - - - - - - This software was produced by the National Synchrotron Light Source, - Brookhaven National Laboratory, under Contract DE-AC02-98CH10886 with - the Department of Energy. - - Government disclaimer of liability - - - - - - - - - - - - - - - - - - - Neither the United States nor the United States Department of Energy, - nor any of their employees, makes any warranty, express or implied, - or assumes any legal liability or responsibility for the accuracy, - completeness, or usefulness of any data, apparatus, product, or process - disclosed, or represents that its use would not infringe privately - owned rights. - - Brookhaven disclaimer of liability - - - - - - - - - - - - - - - - - - - Brookhaven National Laboratory makes no representations or warranties, - express or implied, nor assumes any liability for the use of this software. - - Maintenance of notice - - - - - - - - - - - - - In the interest of clarity regarding the origin and status of this - software, Brookhaven National Laboratory requests that any recipient of - it maintain this notice affixed to any distribution by the recipient that - contains a copy or derivative of this software. diff --git a/c/src/lib/libbsp/powerpc/mvme5500/README b/c/src/lib/libbsp/powerpc/mvme5500/README deleted file mode 100644 index 135090bc35..0000000000 --- a/c/src/lib/libbsp/powerpc/mvme5500/README +++ /dev/null @@ -1,129 +0,0 @@ -Please reference README.booting for the boot/load process. - -For the priority setting of the Interrupt Requests (IRQs), please -reference README.irq - -The BSP is built and tested on the 4.7.1 and 4.7.99.2 CVS RTEMS release. - -I believe in valuable real-time programming, where technical neatness, -performance and truth are. I hope I still believe. Any suggestion, -bug reports, or even bug fixes (great!) would be highly appreciated -so that I still believe what I believe. - - -ACKNOWLEDGEMENTS ----------------- -Acknowledgements: - -Valuable information was obtained from the following: -1) Marvell NDA document for the discovery system controller. -Other related documents are listed at : -http://www.aps.anl.gov/epics/meetings/2006-06/RTEMS_Primer_SIG/RTEMS_BSP_MVME5500.pdf -2) netBSD: For the two NICS and some headers : - Allegro Networks, Inc., Wasabi Systems, Inc. -3) RTEMS: This BSP also builds on top of the work of others who have - contributed to similar RTEMS powerpc shared and motorola_powerpc BSPs, most - notably Eric Valette, Till Straumann (SVGM1 BSP, too), Eric Norum and others. - -LICENSE -------- -See ./LICENSE file. - -BSP NAME: mvme5500 -BOARD: MVME5500 by Motorola -BUS: PCI -CPU FAMILY: ppc -CPU: MPC7455 @ 1GHZ -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 -32K NVSRAM: MK48T37V -WATCHDOG TIMER: use the one in GT-64260B -DMA: 8 channel DMA controller (GT-64260B) -VIDEO: none -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 -======= - -1) The BSP is tested with the 60x bus mode instead of the MPX bus mode. - ( No jumper or a jumper across pins 1-2 on J19 selects the 60x bus mode) - -2) On the mvme5500 board, Ethernet 1 is the Gigabit Ethernet port and is - front panel only. Ethernet 2 is 10/100 BaseT Ethernet. For front-panel - Ethernet2, install jumpers across pins 1-2 on all J6, J7, J100 and - J101 headers. - -3) Enable SROM initialization at startup. (No jumper or a jumper across - pins 1-2 on J17) - -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) - -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 -of RAM. DBAT0 and DBAT1 is hence free for use by the -application. A simple 1:1 (virt<->phys) mapping is employed. -The BSP write-protects the text and read-only data -areas of the application. Special acknowledgement to Till -Straumann for providing inputs in -porting the memory protection software he wrote (BSP_pgtbl_xxx()) -to MVME5500. - - -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 - -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 - - diff --git a/c/src/lib/libbsp/powerpc/mvme5500/README.VME b/c/src/lib/libbsp/powerpc/mvme5500/README.VME deleted file mode 100644 index f669f94d1b..0000000000 --- a/c/src/lib/libbsp/powerpc/mvme5500/README.VME +++ /dev/null @@ -1,19 +0,0 @@ -README.VME: written by S. Kate Feng , 7/22/04 - - -Some VME modules(e.g. Oms58 motor controller) might require a PCI sync -command following the out_xx() function (e.g. out_be16()) if mvme5500 is -used as the SBC. The mechanism is a hardware hook to help software -synchronize between the CPU and PCI activities. The PCI sync is -implemented in pci/pci_interface.c. For more example of the usage,one -can reference the drvOMS58.cc file that is posted in synAppRTEMS of -http://www.nsls.bnl.gov/organization/UserScience/Detectors/Software/Default.htm. - - -In spite of the PCI sync overhead for the Oms58 motor controller, I do -not see the runtime performance of RTEMS-mvme5500 being compromised as -compared with that of RTEMS-mvme2307. For example, it takes the same -time to run motor_init() of synAppRTEMS for 48 motor initializations -running either RTEMS-mvme2307 or RTEMS-mvme5500. - - diff --git a/c/src/lib/libbsp/powerpc/mvme5500/README.booting b/c/src/lib/libbsp/powerpc/mvme5500/README.booting deleted file mode 100644 index fd33efeee7..0000000000 --- a/c/src/lib/libbsp/powerpc/mvme5500/README.booting +++ /dev/null @@ -1,60 +0,0 @@ -README.booting: written by S. Kate Feng , Aug. 28, 2007 - -The bootloader is adapted from Till Straumann's Generic Mini-loader, -which he wrote originally for the SVGM powerpc board. -The BSP is built and tested on the 4.7 CVS RTEMS release. - -Booting requirement : -------------------------- - -1) One needs to setup BOOTP/DHCP and TFTP servers and /etc/bootptab(BOOTP) - or /etc/dhcpd.conf (DHCP) properly to boot the system. - (Note : EPICS needs a NTP server). - -2) Please copy the prebuilt RTEMS binary (e.g. misc/rtems5500-cexp.bin) - and perhaps others (e.g. misc/st.sys) to the /tftpboot/epics/hostname/bin/ - directory or the TFTPBOOT one you specified in the 'tftpGet' - command of the boot script (as shown in the following example). - -3) Example of the boot script setup carried out on the MOTLoad - command line : - -MVME5500> gevEdit mot-script-boot -(Blank line terminates input.) -waitProbe -tftpGet -a4000000 -cxx.xx.xx.xx -sxx.xx.xx.xx -m255.255.254.0 -d/dev/enet0 -fepics/hostname/bin/rtems5500-cexp.bin -netShut -go -a4000000 - - -Update Global Environment Area of NVRAM (Y/N) ? Y -MVME5500> - -Note : (cxx.xx.xx.xx is the client IP address and - sxx.xx.xx.xx is the server IP address) - -WARNING : It is extremely important that the MOTLoad "waitProbe", "netShut" - sequence be executed before booting RTEMS. Otherwise, network - interface interrupt handlers installed by MOTLoad may cause memory - corruption - -4) Other reference web sites for mvme5500 BSP: -http://lansce.lanl.gov/EPICS/presentations/KateFeng%20RTEMS-mvme55001.ppt -http://www.nsls.bnl.gov/facility/expsys/software/EPICS/ -http://www.nsls.bnl.gov/facility/expsys/software/EPICS/FAQ.txt - -5) When generating code (especially C++) for this system, one should - use at least gcc-3.2 (preferrably a copy downloaded from the RTEMS - site [snapshot area] ) - -6) To reboot the RTEMS-MVME5500 (board reset), one can invoke the - bsp_reset() command at Cexp> prompt. - -7) Please reference http://www.slac.stanford.edu/~strauman/rtems -for the source code and installation guidance of cexp, GeSys and -other useful utilities such as telnet, nfs, and so on. - -8) To get started with RTEMS/EPICS and to build development -tools and BSP, I would recommend one to reference -http://www.aps.anl.gov/epics/base/RTEMS/tutorial/ -in additional to the RTEMS document. diff --git a/c/src/lib/libbsp/powerpc/psim/README b/c/src/lib/libbsp/powerpc/psim/README deleted file mode 100644 index 8fcf8ee33e..0000000000 --- a/c/src/lib/libbsp/powerpc/psim/README +++ /dev/null @@ -1,48 +0,0 @@ -BSP NAME: psim -BOARD: PowerPC Simulator -BUS: N/A -CPU FAMILY: ppc -CPU: PowerPC 603, 603e, 604 -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 -REAL-TIME CLOCK: PPC internal Decrementer register -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 -===== - -Based on papyrus bsp which only really supports -the PowerOpen ABI with an ELF assembler. - -For the multiprocessing tests to run, you must have a modified version of -the PowerPC Simulator psim which supports an area of UNIX shared memory -and UNIX semaphore mapped into the PowerPC address space. - diff --git a/c/src/lib/libbsp/powerpc/psim/vectors/README b/c/src/lib/libbsp/powerpc/psim/vectors/README deleted file mode 100644 index 02ab163dfd..0000000000 --- a/c/src/lib/libbsp/powerpc/psim/vectors/README +++ /dev/null @@ -1,21 +0,0 @@ -The location of the vectors file object is critical. - -From the comments at the head of vectors.s: - - The issue with this file is getting it loaded at the right place. - The first vector MUST be at address 0x????0100. - How this is achieved is dependant on the tool chain. - - However the basic mechanism for ELF assemblers is to create a - section called ".vectors", which will be loaded to an address - between 0x????0000 and 0x????0100 (inclusive) via a link script. - - The basic mechanism for XCOFF assemblers is to place it in the - normal text section, and arrange for this file to be located - at an appropriate position on the linker command line. - - The variable 'PPC_VECTOR_FILE_BASE' must be defined to be the - offset from 0x????0000 to the first location in the file. This - will usually be 0x0000 or 0x0100. - -Andrew Bray 18/8/1995 diff --git a/c/src/lib/libbsp/powerpc/qemuppc/README b/c/src/lib/libbsp/powerpc/qemuppc/README deleted file mode 100644 index 0bfc73996d..0000000000 --- a/c/src/lib/libbsp/powerpc/qemuppc/README +++ /dev/null @@ -1,28 +0,0 @@ -This BSP is designed to operate on the PPC simulator provided by qemu. -We are using the Courverture Project's qemu source tree. - -Couverture Project to add tracing/coverage to qemu - http://libre.adacore.com/libre/tools/coverage/ - -Their source repository - http://forge.open-do.org/scm/?group_id=8 - -That has instructions on checking it out. - -If you check it out into ${BASE} directory, then the -directory with their modified qemu is: - - ${BASE}/couverture/trunk/couverture/tools/qemu-r6588 - -My BASE is /home/joel/qemu-coverage. I configured like this -from within the qemu source tree. - - ./configure --prefix=/home/joel/qemu-coverage/install - make - make install - -This gives all simulated targets supported. - -See the Makefile for more details. - - diff --git a/c/src/lib/libbsp/powerpc/qoriq/README b/c/src/lib/libbsp/powerpc/qoriq/README deleted file mode 100644 index 065b9d8972..0000000000 --- a/c/src/lib/libbsp/powerpc/qoriq/README +++ /dev/null @@ -1,29 +0,0 @@ -Board support package for the Freescale QorIQ platform: - - http://en.wikipedia.org/wiki/QorIQ - -Boards known to work P1020RDB, MVME2500, T2080RDB and T4240RDB. - -Boot via U-Boot and FDT support is mandatory. Use - - mkimage -A ppc -O linux -T kernel -a 0x4000 -e 0x4000 -n RTEMS -d app.bin.gz app.img - -to create a bootable image. You must use the "linux" image type to enable the -dynamic FDT adjustment by U-Boot. Boot it for example via the - - tftp 1000000 app.img - tftp c00000 p1020rdb.dtb - bootm 1000000 - c00000 - -U-Boot commands. - -For a Topaz hypervisor guest configuration use: - - rtems/configure --enable-rtemsbsp=qoriq_e6500_32 \ - QORIQ_IS_HYPERVISOR_GUEST=1 \ - QORIQ_UART_0_ENABLE=0 \ - QORIQ_UART_1_ENABLE=0 \ - QORIQ_TLB1_ENTRY_COUNT=16 - -You may have to adjust the linker command file according to your partition -configuration. diff --git a/c/src/lib/libbsp/powerpc/ss555/README b/c/src/lib/libbsp/powerpc/ss555/README deleted file mode 100644 index 54d0bfa85a..0000000000 --- a/c/src/lib/libbsp/powerpc/ss555/README +++ /dev/null @@ -1,282 +0,0 @@ -This is a README file for the Intec SS555 of RTEMS 4.6.0 - -The SS555 port was sponsored by Defence Research and Development -Canada - Suffield, and is Copyright (C) 2004, Real-Time Systems Inc. - -Please send any comments, improvements, or bug reports to: - -David Querbach -querbach@realtime.bc.ca - - -Summary -------- - -BSP NAME: ss555 -BOARD: Intec Automation Inc. SS555 -BUS: None -CPU FAMILY: PowerPC -CPU: PowerPC MPC555 -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 -REAL-TIME CLOCK: On-chip. -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) - PIT clock - TB timing test support - DEC - SWT watchdog timer -- enable in startup/iss555.c - *CS0 external 512k 2-1-1-1 Burst SRAM - *CS1 - *CS2 - *CS3 CPLD - IRQ0 - IRQ1 - IRQ2 - IRQ3 - IRQ4 - IRQ5 - IRQ6 - IRQ7 - IRQ_LVL0 - IRQ_LVL1 - IRQ_LVL2 - IRQ_LVL3 - IRQ_LVL4 - 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: - - 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 -loaded into the external RAM for debugging. We assume that the debugger -disables the internal Flash ROM and enables the external RAM before loading -the code into the external RAM. - -2. In the normal (non-debugging) case, the linker script still places the -.text section near zero, but places the start of the .data and .bss sections -at the start location of the MPC555's internal RAM. The system startup code -then configures the external RAM just after the internal RAM in memory, -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 -SCI2 for the console, since SCI1 has some extra features which may be -desired for application use. - -The BSP console supports three different modes of operation: - - 1. polled I/O done with termios support, - 2. polled I/O done without termios support, - 3. interrupt-driven I/O with termios support. - -The mode of operation of the serial driver is determined at configure time in -part by the value of the UARTS_IO_MODE variable (see .../ss555/configure.ac). - - 0 - polled I/O. - 1 - interrupt-driven I/O. - -Also, set the value of UARTS_USE_TERMIOS to select whether termios should be -used to perform buffering and input/output processing. Without termios -support, input processing is limited to the substitution of LF for a -received CR, and output processing is limited to the transmission of a CR -following the transmission of a LF. The choices for UARTS_USE_TERMIOS are: - - 0 - do not use termios - 1 - use termios - -In most real-time applications, the driver should be configured to use -termios and interrupt-driven I/O. Special requirements may dictate otherwise. - -Polled I/O must be used when running the timing tests. It must also be used -to run some other tests and some samples, such as the cdtest. Some tests -change the interrupt mask and will hang interrupt-driven I/O indefinitely. -Others, such as cdtest, perform console output from the static constructors -before the console is opened, causing the test to hang. Still other tests -produce output that is supposed to be in some specific order. For these -tests, termios should not be used, as termios buffers output and the -transmission of the buffers occur at somewhat unpredictable times. - -The real solution is to fix the tests so that they work with interrupt-driven -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, -i.e. code that runs before the console driver is opened or that runs with -interrupts disabled. - -Support is provided to send printk output to either port. Specify the -desired port at configure time by setting the value of PRINTK_MINOR to one -of SCI1_MINOR or SCI2_MINOR. - -printk() always uses polled I/O, and never uses termios. - -If the printk() port is opened by RTEMS, then UARTS_IO_MODE must be set for -polled I/O, otherwise the I/O functions will be in conflict. Using printk() -before the port is initialized is, of course, not possible. This -initialization occurs in console_initialize(), which is called by -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 - - 2048 2048 - --------- = --------- = 51.2 usec - Fsystem 40 MHz - -or about 1/20 msec. When WATCHDOG_TIMEOUT is left undefined, the watchdog -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. - - -Test Configuration ------------------- - -Board: Intec SS555 v1.1 -CPU: Motorola MPC555LFMZP40, mask 1K83H -Clock Speed: Crystal 4.0 MHz, CPU 40.0 MHz -RAM: 512K bytes of 2-1-1-1 Burst SRAM -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 - - sp20 needs to be run with output buffering enabled (see - buffer_test_io.h) - -Multi-processor tests: - Not applicable. - -Library tests: - All tests passed. Note that the termios test only works if the system is - rebuilt with termios enabled. - -Posix tests: - All tests passed, except that: - - the message queue test failed with "errno (91 - File or path name too - long)" - -Timing tests: - Due to memory limitations, many of the tests will not run unless you set - OPERATION_COUNT=20 at configuration time. - - To run tm27 (the interrupt latency timer test), short CN5-48 to CN5-50 on - the SS555 board. - - All tests run cleanly, except for tm26, which gives a "PANIC 12" after it - exits. This doesn't seem to cause a problem otherwise. - - See the times file for the results of the timing tests. - -Network tests: - Not applicable. - -Sample programs: - These run correctly, except that: - - The "minimum" sample is not designed to run properly on any system. - - The loopback, fileio, unilimited, and pppd tests fail due to memory - limitations. - - The paranoia program dies on a floating-point assist exception. - -Various non-BSP-dependent support routines. - -timer - Support for the RTEMS timer tick, using the Programmable - Interval Timer (PIT). - -console-generic - Console support via the on-chip dual SCI port in the QSMCM - module. - -exception - Installation and deinstallation of exception handlers, by - manipulation of exception vector table. - -irq - Exception handler for all external and decrementer interrupts. - Generalized interrupt handler which calls specific handlers - via entries in the interrupt connection table. Interrupt - connection table maintenance routines. USIU and UIMB - interrupt masking and level control. - -timer - Support for RTEMS timer tests, using the PowerPC timebase - (TB) registers. - -vectors - Compressed MPC5XX exception vector table, exception handler - prologues, default exception handler. Code to initialize - table with default handlers. diff --git a/c/src/lib/libbsp/powerpc/t32mppc/README b/c/src/lib/libbsp/powerpc/t32mppc/README deleted file mode 100644 index dc74b9f446..0000000000 --- a/c/src/lib/libbsp/powerpc/t32mppc/README +++ /dev/null @@ -1,5 +0,0 @@ -Board support package for the Lauterbach Trace32 PowerPC simulator. - - http://www.lauterbach.com - -See also files "init.cmm" and "configsim.t32" in this directory. diff --git a/c/src/lib/libbsp/powerpc/t32mppc/configsim.t32 b/c/src/lib/libbsp/powerpc/t32mppc/configsim.t32 deleted file mode 100644 index 02dc794672..0000000000 --- a/c/src/lib/libbsp/powerpc/t32mppc/configsim.t32 +++ /dev/null @@ -1,5 +0,0 @@ -PBI=SIM -SCREEN= -HEADER=Simulator -FONT=DEC -FONT=SMALL diff --git a/c/src/lib/libbsp/powerpc/t32mppc/init.cmm b/c/src/lib/libbsp/powerpc/t32mppc/init.cmm deleted file mode 100644 index 019fd2c014..0000000000 --- a/c/src/lib/libbsp/powerpc/t32mppc/init.cmm +++ /dev/null @@ -1,19 +0,0 @@ -; Set CPU -system.cpu mpc8540 -system.up - -; Set PVR -per.s spr:0x11f %long %be 0x80200000 - -; Load application -Data.LOAD.Elf /home/sh/build/t32mppc/powerpc-rtems4.11/c/t32mppc/testsuites/samples/ticker/ticker.exe - -; Configure memory-based terminal -term.reset -term.method buffere v.address("messagebufferout") v.address("messagebufferin") -term.gate - -; Initialize RTOS support -task.config ~~/demo/powerpc/kernel/rtems/rtems.t32 -menu.reprogram ~~/demo/powerpc/kernel/rtems/rtems.men -task.stack.pattern 0xa5 diff --git a/c/src/lib/libbsp/powerpc/tqm8xx/README b/c/src/lib/libbsp/powerpc/tqm8xx/README deleted file mode 100644 index 51ab064e76..0000000000 --- a/c/src/lib/libbsp/powerpc/tqm8xx/README +++ /dev/null @@ -1,137 +0,0 @@ -This is a README file for the tqm8xx BSP - - -Summary -------- - -BSP NAME: tqm8xx -BOARD: various boards based on TQ Components TQM8xx modules -BUS: No backplane. -CPU FAMILY: PowerPC -CPU: PowerPC MPC860 or MPC866 -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 -REAL-TIME CLOCK: -DMA: Each SCC and SMC. -VIDEO: -SCSI: -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 - SCC3 serial port - SCC4 serial port - SMC1 serial port - SMC2 serial port - CLK1 network - CLK2 network - CLK3 - CLK4 - CLK5 - CLK6 - CLK7 - CLK8 - BRG1 console - BRG2 console - BRG3 console - BRG4 console - RTC - PIT clock - TB - DEC - SWT - UPMA - UPMB - IRQ0 - IRQ1 - IRQ2 - IRQ3 - IRQ4 - IRQ5 - IRQ6 - IRQ7 - IRQ_LVL0 - IRQ_LVL1 - IRQ_LVL2 - IRQ_LVL3 - IRQ_LVL4 - 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 ------------- - - - -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 -certain channels and to specify the console channel: - -CONS_SMC1_MODE, CONS_SMC2_MODE, CONS_SCC[1-4]_MODE can be set to -CONS_MODE_UNUSED, CONS_MODE_POLLED or CONS_MODE_IRQ - -The driver always uses termios. - -printk() and debug output ------------------------ - - -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. - - - -Miscellaneous -------------- - -All development was based on the mbx8xx and gen68360 port. - -Test Configuration ------------------- - -Board: pghplus ( -CPU: Motorola MPC866T -Clock Speed: 133MHz -RAM: 64MByte -Cache Configuration: Instruction cache on; data cache on, copyback mode. - diff --git a/c/src/lib/libbsp/powerpc/virtex/README b/c/src/lib/libbsp/powerpc/virtex/README deleted file mode 100644 index 7dbc7f5a0e..0000000000 --- a/c/src/lib/libbsp/powerpc/virtex/README +++ /dev/null @@ -1,81 +0,0 @@ -# Adapted from vitex BSP - -BSP NAME: Virtex -BOARD: Xilinx ML-403 and (hopefully) any vitex/PPC based board -BUS: N/A -CPU FAMILY: ppc -CPU: PowerPC 405GP -COPROCESSORS: N/A -MODE: 32 bit mode - -DEBUG MONITOR: - -PERIPHERALS -=========== -TIMERS: 405GP internal -SERIAL PORTS: Xilinx consolelite -REAL-TIME CLOCK: none -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. - -When a new virtex FPGA system is created (using the Xilinx design -software), a parameter file "xparameters.h" is also created, which -describes the basic features of the hardware (like peripherals -included, interrupt routing etc.). - -This BSP normally takes its basic HW description for the file -"xparameters_dflt.h", which describes my FPGA system. When this BSP -should run on a different hardware, a path to the proper -"xparameters.h" can be provided on the "configure" command line. - -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: - -/path/to/rtems/sources/configure \ - --target=powerpc-rtems4.11 \ - --enable-rtemsbsp=virtex \ - --enable-maintainer-mode \ - --enable-posix \ - --enable-tests \ - --disable-networking \ - 'RTEMS_XPARAMETERS_H="/path/to/xparameters.h"' \ - VIRTEX_RAM_ORIGIN=0xfffc0000 \ - VIRTEX_RAM_LENGTH=0x3ffec \ - VIRTEX_RESET_ORIGIN=0xffffffec diff --git a/c/src/lib/libbsp/powerpc/virtex4/README b/c/src/lib/libbsp/powerpc/virtex4/README deleted file mode 100644 index 68a0c24e2e..0000000000 --- a/c/src/lib/libbsp/powerpc/virtex4/README +++ /dev/null @@ -1,86 +0,0 @@ -# Adapted from virtex BSP - -BSP NAME: virtex4 -BOARD: N/A -BUS: N/A -CPU FAMILY: ppc -CPU: PowerPC 405D5 -COPROCESSORS: N/A -MODE: 32 bit mode - -DEBUG MONITOR: - -PERIPHERALS -=========== -TIMERS: 405 internal -SERIAL PORTS: none -REAL-TIME CLOCK: none -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. - -Porting -------- -This board support package is written for a naked Virtex 4/PPC FPGA -system. The rough features of such a board are described above. -The BSP itself makes no assumptions on what is loaded in the FPGA, -other than that the CPU has access to some memory, either on-board -or external, from which code can be run. - -This BSP has been constructed so that an application of both firmware -and software can be layered on top of it by supplying implementations -for the various 'weak' symbols. These symbols are prefaced with the -term 'app_'. Applications can thus be built outside of the RTEMS -directory tree by linking with the appropriate libraries. - -The linkcmds file describes the memory layout. Included in this -definition is a section of memory named MsgArea. Output sent to -stdout is recorded in this area and can be dumped using the JTAG -interface, for example. - -For adapting this BSP to other boards, the following files should be -modified: - -- c/src/lib/libbsp/powerpc/virtex4/startup/linkcmds - for the memory layout required - -- c/src/lib/libbsp/powerpc/virtex4/startup/bspstart.c - Here you can select the clock source for the timers and the - serial interface (system clock or external clock pin), the - clock rates, etc. - -- c/src/lib/libbsp/powerpc/virtex4/include/bsp.h - some BSP-related constants - -- c/src/lib/libbsp/powerpc/virtex4/* - well, they should be generic, so there _should_ be no reason - to mess around there (but who knows...) diff --git a/c/src/lib/libbsp/powerpc/virtex5/README b/c/src/lib/libbsp/powerpc/virtex5/README deleted file mode 100644 index a68bd23838..0000000000 --- a/c/src/lib/libbsp/powerpc/virtex5/README +++ /dev/null @@ -1,86 +0,0 @@ -# Adapted from virtex BSP - -BSP NAME: virtex5 -BOARD: N/A -BUS: N/A -CPU FAMILY: ppc -CPU: PowerPC 440x5 -COPROCESSORS: N/A -MODE: 32 bit mode - -DEBUG MONITOR: - -PERIPHERALS -=========== -TIMERS: 440 internal -SERIAL PORTS: none -REAL-TIME CLOCK: none -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: 465 MHz -ROM: N/A -RAM: 4GByte DRAM - -Virtex only supports single processor operations. - -Porting -------- -This board support package is written for a naked Virtex 5/PPC FPGA -system. The rough features of such a board are described above. -The BSP itself makes no assumptions on what is loaded in the FPGA, -other than that the CPU has access to some memory, either on-board -or external, from which code can be run. - -This BSP has been constructed so that an application of both firmware -and software can be layered on top of it by supplying implementations -for the various 'weak' symbols. These symbols are prefaced with the -term 'app_'. Applications can thus be built outside of the RTEMS -directory tree by linking with the appropriate libraries. - -The linkcmds file describes the memory layout. Included in this -definition is a section of memory named MsgArea. Output sent to -stdout is recorded in this area and can be dumped using the JTAG -interface, for example. - -For adapting this BSP to other boards, the following files should be -modified: - -- c/src/lib/libbsp/powerpc/virtex5/startup/linkcmds - for the memory layout required - -- c/src/lib/libbsp/powerpc/virtex5/startup/bspstart.c - Here you can select the clock source for the timers and the - serial interface (system clock or external clock pin), the - clock rates, etc. - -- c/src/lib/libbsp/powerpc/virtex5/include/bsp.h - some BSP-related constants - -- c/src/lib/libbsp/powerpc/virtex5/* - well, they should be generic, so there _should_ be no reason - to mess around there (but who knows...) -- cgit v1.2.3