ChorusOS 5.0 Target Family Guide (PowerPC Platform Edition)
This guide describes how to run the ChorusOSTM 5.0 product for the PowerPC 750/74x0 and the MPC8260 processor
families.
Preface
How This Guide is Organized
ChorusOS 5.0 PowerPC specific information is provided in the following
major sections:
-
"Development Environment", includes supported hosts, host
operating systems and development systems.
-
"ChorusOS 5.0 Supported Features", includes kernel components and
POSIX components.
-
"Libraries".
-
"Utilities", includes host and target utilities.
-
"Reference Hardware", includes supported reference
platforms, supported devices, and validated reference platforms.
-
Appendix A, ChorusOS 5.0 for the PowerPC Processor Family -- Product Packages, details the list of Solaris packages
in the product components, and the associated part numbers.
Related Books
See the ChorusOS
5.0 Installation Guide for a description of the installation
process of the ChorusOS 5.0 product on a host workstation running the SolarisTM operating environment. You will also find information
on how to set up a boot server running on the Solaris operating environment
and how to build and boot a ChorusOS system image on the target board (for
each supported target family).
See the ChorusOS
5.0 Features and Architecture Overview for a detailed
description of all the ChorusOS 5.0 features.
Typographical Conventions
The following table describes the typographic changes used in this book.
Table 1-1 Typographical Conventions
Typeface or Symbol
|
Meaning
|
Example
|
AaBbCc123
| The names of commands, files, and directories; on-screen computer output |
Edit your .login file.
Use ls -a to
list all files.
machine_name% you have mail.
|
AaBbCc123
| What you type, contrasted with on-screen computer output | machine_name% su
Password: |
AaBbCc123
| Command-line placeholder: replace with a real name or value |
To delete a file, type rm filename.
|
AaBbCc123
|
Book titles, new words or terms, or
words to be emphasized
|
Read Chapter 6 in User's Guide.
These
are called class options.
You must be root to do this.
|
Shell Prompts
The following table shows the default system prompt and superuser prompt
for the C shell, Bourne shell, and Korn shell.
Table 1-2 Shell Prompts
Shell
|
Prompt
|
C shell prompt | machine_name% |
C shell superuser prompt | machine_name# |
Bourne shell and Korn shell prompt | $ |
Bourne shell and Korn
shell superuser prompt | # |
Ordering Sun Documents
Fatbrain.com, an Internet professional bookstore, stocks selected product
documentation from Sun Microsystems, Inc.
For a list of documents and how to order them, visit the Sun Documentation
Center on Fatbrain.com at http://www1.fatbrain.com/documentation/sun.
Accessing Sun Documentation Online
The docs.sun.comSM Web site enables
you to access Sun technical documentation online. You can browse the docs.sun.com
archive or search for a specific book title or subject. The URL is http://www.oracle.com/technetwork/indexes/documentation/index.html.
Obtaining Technical Support
Sun Support Access offerings are available exclusively to members of
the Sun Developer Connection Program. To get free membership in the Sun Developer
Connection Program, go to http://www.sun.com/developers. For more information or to
purchase Sun Support Access offerings, visit: http://www.sun.com/developers/support or contact the Sun
Developer Connection Program office near you.
Development Environment
The ChorusOS 5.0 product provides a host-target development environment.
Applications are developed on a workstation (the host), and then downloaded
and executed on a specific board (the target).
A cross development system is needed to build the applications that
execute on the target board (see Section "Utilities").
SolarisTM (SPARCTM Platform
Edition) Reference Host Environment
This section contains information on the requirements for
the host system.
Prerequisites for the Solaris host reference configuration are the following:
-
Sun SPARCstationTM
-
Solaris 7 (32-bit and 64-bit mode)
-
Solaris 8 (32-bit and 64-bit mode)
-
JDK 1.2 or higher for the graphical installer
-
JDK 1.2 for the graphical configuration tool
-
JDK 1.3 for the JavaTM applications (J2ME
source Add-on)
Cross Compiler
This development environment component is bundled with the ChorusOS 5.0
for PowerPC product:
The Chorus Cross Development System is based on the GNU Compiler gcc
2.97 and binutils 2.10.
Graphical Debugger
The ChorusOS 5.0 Cross Development System includes the GNU GDB debugger
for ChorusOS with a graphical user interface Insight. Using this debugger
you are able to debug ChorusOS applications and systems.
ChorusOS 5.0 Supported Features
The following table shows the ChorusOS microkernel and operating system
optional features that are available for the PowerPC processor family.
The availability status of a feature can be one of:
- Y
-
The feature is supported, and
is configurable using the configurator(1CC) command, or
with the ews GUI configuration tool.
Please refer to the note at the end of the table for information about
specific conditions, or restrictions, for a given supported feature.
Some of the features (such as MSDOSFS, FLASH, FS_MAPPER, for example)
require specific low-level drivers. These features operate only on platforms
which provide these drivers.
- N
-
The feature is not available.
Note - Features not explicitly mentioned in this table are not supported.
Feature Description | Feature Name | Availability |
Actor management | |
| User-mode extension support | USER_MODE | Y |
| Compressed file management | GZ_FILE | Y |
| Device driver actor management | DRV_MERGE | Y |
Scheduling | |
| POSIX round-robin scheduling class | ROUND_ROBIN | Y |
Memory management | |
| Virtual (user and supervisor)
address space | VIRTUAL_ADDRESS_SPACE | Y [If the value for VIRTUAL_ADDRESS_SPACE is true, the value for ON_DEMAND_PAGING is true. If
the value for VIRTUAL_ADDRESS_SPACE is false, the value
for ON_DEMAND_PAGING is false.] |
| On-demand paging | ON_DEMAND_PAGING | Y |
Hot restart and persistent memory | |
| Hot restart | HOT_RESTART | Y |
Inter-thread synchronization | |
| Semaphores | SEM | Y |
| Event flag sets | EVENT | Y |
| Mutual exclusion lock
supporting thread priority inversion avoidance | RTMUTEX | Y |
| Monitors | MONITOR | Y |
| Real-time extension of POSIX signals | POSIX_REALTIME_SIGNALS | Y |
Time management | |
| Periodic timers | TIMER | Y |
| Thread and actor virtual timer | VTIMER | Y |
| Date and time of day | DATE | Y |
| Real-time clock | RTC | Y |
| Watchdog timer | WDT | Y |
Inter-process communication | |
| Location-transparent
inter-process communication | IPC | Y |
| Remote (inter-site) IPC
support | IPC_REMOTE | Y |
| Mailbox-based
communications mechanism | MIPC | Y |
| POSIX 1003.1-compliant message queues | POSIX_MQ | Y |
| POSIX 1003.1-compliant shared memory objects | POSIX_SHM | Y |
LAP | |
| Local name server for LAP
binding | LAPBIND | Y |
| LAP validity-check option | LAPSAFE | Y |
Tools support | |
| Message logging | LOG | Y |
| Profiling and benchmark
support | PERF | Y |
| System Monitoring | MON | Y |
| System debugging | DEBUG_SYSTEM | Y |
| Blackbox | BLACKBOX | Y |
| System dump | SYSTEM_DUMP | Y |
| Core dump | CORE_DUMP | Y |
| Software interrupts | SOFTINTR | Y |
C_INIT | |
| Basic command interpreter
on target | LOCAL_CONSOLE | Y |
| Remote shell | RSH | Y |
File systems | |
| Named pipes | FIFOFS | Y |
| MS-DOS file system | MSDOSFS | Y |
| NFS client | NFS_CLIENT | Y |
| NFS server | NFS_SERVER | Y |
| ISO file system | ISOFS | Y |
| UFS file system | UFS | Y |
| Swap support | FS_MAPPER | Y |
| /dev/mem, /dev/kmem | DEV_MEM | Y |
| CDROM support | DEV_CDROM | Y |
| IDE support | DEV_DISK | Y |
| NVRAM support | DEV_NVRAM | Y |
| Support for RAM disk | RAM_DISK | Y |
| Support for FLASH media
[Logical-to-Physical block mapping for flash
file system support.] | FLASH | Y |
| Support for FLASH or raw memory device. | RAWFLASH | Y |
| Pseudo Tty | VTTY | Y |
| Driver for SCSI disk | SCSI_DISK | Y |
Networking | |
| POSIX 1003.1g-compliant sockets | POSIX_SOCKETS | Y |
| Point-to-point protocols | PPP | Y |
| IPv6 support | IPv6 | Y |
| Local sockets and pipes | AF_LOCAL | Y |
| Network packet filter | BPF | Y |
| Support for IPC | IOM_IPC | Y |
| Support for OSI | IOM_OSI | Y |
Instrumentation | |
| Microkernel statistics | MKSTAT | Y |
| Operating system gauges | OS_GAUGES | Y |
| Application level system events | SOLARIS_SYSEVENT | Y |
Note - The Floating Point Unit is automatically supported on target boards
in the PowerPC target family.
Libraries
The ChorusOS operating system provides the elementary libraries
indicated in the following list:
ChorusOS embedded library [The libebd.a, libcx.a, libm.a and libc.a libraries have been made
thread-safe in order to support multithreaded actors.]
|
libebd.a
|
The ``embedded'' C library [Included in libebd.a.]
|
libc.a
|
ChorusOS extended library
|
libcx.a
|
C++ library
|
libstdc++.a
|
X11 related client libraries (not thread safe)
|
libX11.a, libXaw.a,
libXext.a, libXmu.a, libXt.a
|
The encryption/decryption library
|
libcrypt.a
|
The Doug Lea malloc library
|
libleamalloc.a
|
The Solaris--like name /value pair
companion library
|
libnvpair.a
|
The network services library (symbolic
link to libresolv.a)
|
libnsl.a
|
The network services library
|
libresolv.a
|
The interface library for PAM (pluggable
authentication module)
|
libpam.a
|
The POSIX pthread library
|
libpthreads.a
|
The Solaris-like sysevent library
|
libsysevent.a
|
The hot restart controller library
|
libhrCtrl.a
|
The SunRPC library
|
librpc.a
|
The Blackbox static library
|
libblackbox.a
|
The LDAP client library
|
libldap.a
|
The mathematical library
|
libm.a
|
The ftp services library
|
libftpd.a
|
The secure hash algorithms for Netscape
library
|
libmd.a
|
The ChorusOS Naming Service (NS) library
|
libns.a
|
The Telnet services library
|
libtelnetd.a
|
The Yellow pages services (xdr_ypXXX) library
|
libyp.a
|
This library includes the functions openpty() and creat().
|
libutil.a
|
This library includes the function ilogb() which returns the binary exponent of a non-zero double value.
|
libmsun.a
|
The microkernel ``visu'' library [This library is provided for the sake of backwards compatibility only.
It is not documented or supported. Its use is strongly discouraged.]
|
visu.a
|
Utilities
Target Utilities
The following utilities may be run on the target ChorusOS operating
system:
-
arp(1M)
-
cat(1CC)
-
cbfs(1CC)
-
cdcontrol(1M)
-
chat(1M)
-
chmod(1M)
-
chorusNS(1M)
-
chorusNSinet(1M)
-
chorusNSsite(1M)
-
chorusStat(1CC)
-
cp(1CC)
-
cpio(1CC)
-
cs(1CC)
-
cvm(1CC)
-
C_INIT(1M) [The C_INIT command interpreter allows other built-in commands to be
executed on a ChorusOS target. See the man page C_INIT(1M) for more information
on these commands.]
-
date(1CC)
-
dd(1CC)
-
df(1CC)
-
dhclient(1M)
-
dhcrelay(1M)
-
dhcpd(1M)
-
disklabel(1M)
-
domainname(1CC)
-
flashdefrag(1M)
-
format(1M)
-
fsck(1M)
-
fsck_msdos(1M)
-
ftp(1CC)
-
ftpd(1M)
-
gifconfig(1M)
-
hostname(1CC)
-
ifconfig(1M)
-
inetNS(1M)
-
inetNSdns(1M)
-
inetNShost(1M)
-
inetNSien116(1M)
-
inetNSnis(1M)
-
kill(1CC)
-
logger(1M)
-
ls(1CC)
-
mkdir(1CC)
-
mkfd(1M)
-
mkfs(1M)
-
mkfifo(1CC)
-
mknod(1M)
-
mount(1M)
-
mountd(1M)
-
mount_msdos(1M)
-
mount_nfs(1M)
-
mv(1CC)
-
named(1M)
-
named-xfer(1M)
-
ndp(1M)
-
newfs(1M)
-
newfs_dos(1M)
-
netstat(1CC)
-
nfsd(1M)
-
nfsstat(1CC)
-
ntpd(1M)
-
passwd(1M)
-
pax(1CC)
-
ping(1M)
-
ping6(1M)
-
pppstart(1M)
-
PROF(1CC)
-
profctl(1CC)
-
pwd_mkdb(1M)
-
rdbc(1CC)
-
rm(1CC)
-
rmdir(1CC)
-
route(1M)
-
rpcbind(1CC)
-
rpcinfo(1M)
-
rtsol(1M)
-
rtsold(1M)
-
shutdown(1M)
-
slattach(1M)
-
sync(1M)
-
sysctl(1M)
-
syslogd(1M)
-
swapon(1M)
-
tar(1CC)
-
tclsh(4CC)
-
tcpdump(1M)
-
telnetd(1M)
-
tftp(1CC)
-
tftpd(1M)
-
touch(1CC)
-
traceroute(1M)
-
umount(1M)
-
uname(1CC)
-
unloadDrv(1CC)
-
ypbind(1M)
-
ypcat(1CC)
-
ypmatch(1CC)
-
ypwhich(1CC)
-
yppasswd(1M)
Host Utilities
The following utilities may be run on the host machine:
-
chadmin(1CC)
-
chconsole(1CC)
-
chlog(1CC)
-
chls(1CC)
-
chserver(1CC)
-
chserver_d(1CC)
-
ChorusOSMkMf(1CC)
-
chserver(1CC)
-
configurator(1CC)
-
configure(1CC)
-
ews(1CC)
-
mkmerge(1CC)
-
profrpg(1CC)
-
rdbd(1CC)
-
rpcgen(1CC)
Reference Hardware
The ChorusOS 5.0 targets are described in this section from
three different points of view:
- Reference Processors and BSPs:
-
This subsection describes the processors on which the ChorusOS 5.0 product can
run, as well as the details of the BSPs included in the delivery.
- Reference Target Platforms:
-
This
section describes all the target platforms that can be used as references
in the context of Sun support contracts.
- Validated Reference Targets:
-
This
section describes the precise platforms used to run the Sun QA tests; this
may be useful, in case of bugs, as a guide to help in identifying issues which
are hardware related.
Reference Processors and BSPs
The ChorusOS 5.0 system for PowerPC supports the following processors:
-
Motorola PowerPC 750
-
Motorola PowerPC 74x0
-
Motorola MPC8260
The ChorusOS 5.0 system for PowerPC supports the following reference
BSPs:
mcp7xx Reference BSP
Systems
The mcp7xx reference BSP supports the following CompactPCI CPU board:
- MCP750 - Motorola MCG
- MCPN750 - Motorola MCG
- MCPN765 - Motorola MCG
Devices
The mcp7xx reference BSP supports the following on board devices:
Device Id
|
ChorusOS
Driver
|
/cpu (time base and decrementer)
|
sun:powerpc-(tb,dec)-timer
|
/raven (host bridge)
|
sun:powerpc-(raven,hawk)-(bus,
mngt,pci)
|
/raven/dec21140 (on board ethernet)
|
sun:pci-dec21x4x-(ether,mngt)
|
/raven/dec21154 (PCI-PCI bridge)
|
sun:pci-dec2115x-pci
|
/raven/mpic (open pic driver)
|
sun:(bus,powerpc)-openpic-(mngt, opic,timer,wdtimer)
|
/raven/mpic/timer@0 (mpic timer)
|
sun:(bus,powerpc)-openpic-(mngt, opic,timer,wdtimer)
|
/raven/mpic/timer@1
|
sun:(bus,powerpc)-openpic-(mngt, opic,timer,wdtimer)
|
/raven/mpic/timer@2
|
sun:(bus,powerpc)-openpic-(mngt, opic,timer,wdtimer)
|
/raven/mpic/timer@3
|
sun:(bus,powerpc)-openpic-(mngt, opic,timer,wdtimer)
|
/raven/vt82c586-ata (IDE_HBA)
|
sun:pci-vt82c586-ata
|
/raven/vt82c586-ata/(portnum),(devnum) [for example: "0,0"]
|
sun:ata-atadisk-disk
|
/raven/vt82c586-isa (Bridge PCI/ISA)
|
sun:pci-vt82c586-(bus,isa)
|
/raven/vt82c586-isa/i8259 (interrupt controller)
|
sun:bus-i8259-pic
|
/raven/vt82c586-isa/i8237 (dma controller)
|
sun:bus-i8237-dma
|
/raven/vt82c586-isa/i8254 (timer)
|
sun:bus-i8254-timer
|
/raven/vt82c586-isa/z8536 (gpio for modem lines)
|
sun:bus-z8536-gpio
|
/raven/vt82c586-isa/m48t559 (NVRAM)
|
sun:bus-m48txx-(nvram,rtc,wdtimer)
|
/raven/vt82c586-isa/m48t559 (RTC)
|
sun:bus-m48txx-(nvram,rtc,wdtimer)
|
/raven/vt82c586-isa/m48t559 (WDTIMER)
|
sun:bus-m48txx-(nvram,rtc,wdtimer)
|
/raven/vt82c586-isa/fdd (floppy)
|
not supported
|
/raven/vt82c586-isa/kbd (keyboard)
|
not supported
|
/raven/vt82c586-isa/lpt (parallel)
|
not supported
|
/raven/vt82c586-isa/mouse (mouse)
|
not supported
|
/raven/vt82c586-isa/ns16550/1 (UART) [This
device is used by the console and therefore it is not used as a standard device.]
|
sun:bus-ns16550-uart
|
/raven/vt82c586-isa/ns16550/2 (UART)
|
sun:bus-ns16550-uart
|
/raven/vt82c586-isa/z85230/a (UART)
|
sun:bus-z85x30-uart
|
/raven/vt82c586-isa/z85230/a (HDLC)
|
not supported
|
/raven/vt82c586-isa/z85230/b (UART)
|
sun:bus-z85x30-uart
|
/raven/vt82c586-isa/z85230/b (HDLC)
|
not supported
|
/raven/vt82c586-isa-usb
|
not supported
|
/raven/pci1011,9@e,0 (ethernet)
|
sun:pci-dec21x4x-(either,mngt)
|
/raven/pci1011,26@14,0 (cPCI bridge)
|
sun:pci-dec2115x-(bus,pci,mngt)
|
/falcon
|
sun:powerpc-(falcon,hawk-smc)-bus
|
/falcon/intel28F400
|
sun:bus-intel28Fxxx-flash
|
/falcon/amd29F040
|
sun:bus-amd29xxx-flash
|
/falcon/flashControl-1
|
sun:bus-falcon-flashControl
|
/falcon/flashControl-2
|
sun:bus-falcon-flashControl
|
sbc8260 Reference BSP
Systems
The sbc8260 reference BSP supports the following board:
Devices
The sbc8260 reference BSP supports the following on board devices:
Device Id
|
ChorusOS
Driver
|
/cpu (time base and decrementer) | sun:powerpc-(timebase,dec)-timer |
/quicc8260/ (Quicc bridge) | sun:powerpc-mpc8260-(bus,quicc) |
/quicc8260/siu-wdt (SIU watchdog timer) | sun:(powerpc,quicc)-siu-wdtimer |
/quicc8260/cpm-timer12 (CPM timers 1,2) | sun:quicc-cpm-timer |
/quicc8260/cpm-timer34 (CPM timers 3,4) | sun:quicc-cpm-timer |
/quicc8260/fcc-2(Ethernet) | sun:quicc-fcc-ether |
/quicc8260/onboard-flash(FLASH memory) | sun:bus-amd29xxx-flash |
/quicc8260/simm-flash(FLASH memory) | sun:bus-amd29xxx-flash |
/quicc8260/smc-2 (Uart) | sun:quicc-smc-uart |
/quicc8260/smc-1 (Uart) [smc-1
is normally used for the console. In that case it cannot be used as a usual
device.] | sun:quicc-smc-uart |
/quicc8260/scc-1 (Ethernet) [As of the date of publication of this guide, the processor provided by Motorola
does not support ethernet on scc-1 (see the MPC8260 Device errata dated September
30 1999 #CPM34). The device has been tested with the sun:quicc-scc-ether driver
(available on MPC8xx), and it is possible to send and receive small packets.] | not supported |
Reference Target Platforms
Reference target platforms are configurations to be used by customers
covered by a Sun support contract.
MCP750 (Motorola/MCG)
- Type:
-
CompactPCI System Board
- Processor:
-
MCP750 (233-366 Mhz)
- Main memory:
-
32-64 MB
- L2 cache:
-
1 MB
- Bus Bridges:
-
Processor to PCI, PCI
to cPCI, PCI to ISA
- Devices:
-
Asynchronous serial ports
(38.4 Kbaud), 10/100BaseT Ethernet, Real-time clock, Timers
- Firmware:
-
PPC1-Bug version 3.7
MCPN750 (Motorola/MCG)
- Type:
-
CompactPCI System Board
- Processor:
-
MCP750 (266-366 Mhz)
- Main memory:
-
16-256 MB
- L2 cache:
-
1 MB
- Bus Bridges:
-
Processor to PCI, PCI
to cPCI, PCI to ISA
- Devices:
-
Asynchronous serial ports
(38.4 Kbaud), 10/100BaseT Ethernet, Real-time clock, Timers
- Firmware:
-
PPC1-Bug version 4.1
MCPN765 (Motorola/MCG)
- Type:
-
CompactPCI System Board
- Processor:
-
MPC7400 (400 Mhz)
- Main memory:
-
32-64 MB
- L2 cache:
-
1MB, 200Mhz
- Bus Bridges:
-
Processor to PCI,
PCI to cPCI
- Devices:
-
Asynchronous serial ports
(38.4 Kbaud), 10/100BaseT ethernet, real-time clock, timers
- Firmware:
-
PPC6-Bug version
1.5
SBC8260 (EST)
- Type:
-
Evaluation/Development Board
- Processor:
-
MPC8260 PowerQUICC II
(132 Mhz Core, 66 Mhz CPM)
- Main memory:
-
16-32 MB
- Devices:
-
Asynchronous serial ports
(38.4 Kbaud), 10BaseT Ethernet, Timer
- Hardware monitor:
-
visionXD (via
visionICE emulator)
Validated Reference Targets
This section describes the precise platforms used to run the Sun QA
tests: