ChorusOS 4.0.1 Simulator for the Solaris Operating Environment (SPARC Platform Edition) Target Family Guide

ChorusOS 4.0.1 Simulator for the Solaris Operating Environment (SPARC Platform Edition) Target Family Guide

This guide describes how to build the ChorusOSTM 4.0.1 Simulator product for SolarisTM (SPARCTM Platform Edition).

Preface

How This Guide is Organized

ChorusOS 4.0.1 for the Simulator product specific information is provided in the following major sections:

Related Books

See the ChorusOS 4.0 Installation Guide for Solaris Hosts for a description of the installation process of the ChorusOS 4.0 Simulator on a host workstation running the SolarisTM operating environment. This document also describes how to set up a boot server running the Solaris operating environment.

See the ChorusOS 4.0.1 Simulator for the Solaris Operating Environment (SPARC Platform Edition) User's Guide for information on configuring and running the simulator system image.

See the ChorusOS 4.0 Introduction for a complete description of the ChorusOS 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 outputmachine_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 promptmachine_name%
 C shell superuser promptmachine_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

In the context of the ChorusOS 4.0.1 Simulator, applications are developed on a workstation (the host), and then downloaded and executed on a workstation of the same type, acting as a target.

A cross development system is needed to build the applications that execute on the target system (see Section "Utilities").

SolarisTM Reference Host Environment

Prerequisites for the Solaris host reference configuration are the following:

Cross Compiler

This development environment component is bundled with the ChorusOS Simulator product:

The Chorus Cross Development System is based on the Experimental GNU Compiler System egcs 1.1.2 and binutils 2.9.1 and additional patches.

Graphical Debugger

This development environment component is bundled with the ChorusOS Simulator product:

ChorusOS Supported Features

The following table shows the ChorusOS kernel and operating system optional features that are available for the Solaris Operating Environment (SPARC Platform Edition) 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 supported.

 Feature Description Feature Name Availability
 Actor management 
   Dynamic actor loading management ACTOR_EXTENDED_MNGT Y
   User-mode extension support USER_MODE N
   Dynamic libraries DYNAMIC_LIB N
   Compressed file management GZ_FILE Y
 Scheduling 
  POSIX round-robin scheduling class ROUND_ROBIN Y
 Memory management 
   Virtual (user and supervisor) address space VIRTUAL_ADDRESS_SPACE N
   On-demand paging ON_DEMAND_PAGING N
 Hot restart and persistent memory 
  Hot restart HOT_RESTART N
 Inter-thread communication 
   Semaphores SEM Y
   Event flag sets EVENT Y
   Mutual exclusion lock supporting thread priority inversion avoidance RTMUTEX Y
   Monitors MONITOR 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
 Inter-process communication 
   Location-transparent inter-process communication IPC Y
  Remote (inter-site) IPC support IPC_REMOTE Y
  Remote IPC communications medium IPC_REMOTE_COMM N
   Mailbox-based communications mechanism MIPC Y
   POSIX 1003.1-compliant message queues POSIX_MQ Y
   POSIX 1003.1-compliant shared memory objects POSIX_SHM N
 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 N
  System Monitoring MON Y
  System debugging DEBUG_SYSTEM N
 C_INIT 
  Basic command interpreter on target LOCAL_CONSOLE Y
  Remote shell RSH Y
 File system options 
   Named pipes FIFOFS Y
   MS-DOS file system MSDOSFS Y
  NFS client NFS_CLIENT Y
  NFS server NFS_SERVER Y
  UFS file system UFS Y
 I/O management 
   Network packet filter BPF Y
  Swap support FS_MAPPER N
  Driver for IDE disk IDE_DISK N
  /dev/mem, /dev/kmem, /dev/null, /dev/zero DEV_MEM Y
  Support for RAM disk RAM_DISK Y
 Support for FLASH media [Logical-to-Physical block mapping for flash file system support.]  FLASH N
  Virtual TTY VTTY N
  Driver for SCSI disk SCSI_DISK N
 Support for IPC IOM_IPC N
 Support for OSI IOM_OSI N
 Networking 
  Serial link IP SLIPY [Requires a UART driver to be developed]
   POSIX 1003.1g-compliant sockets POSIX_SOCKETS Y
   Point-to-point protocols PPPY
   Local sockets and pipes AF_LOCAL Y
 Administration 
   ChorusOS statistics ADMIN_CHORUSSTAT Y
  ifconfig administration command ADMIN_IFCONFIG Y
  mount administration command ADMIN_MOUNT Y
  rarp administration command ADMIN_RARP Y
  route administration command ADMIN_ROUTE Y
  shutdown administration command ADMIN_SHUTDOWN N
  netstat administration command ADMIN_NETSTAT Y
 JVM 
   Java Virtual Machine JVM N

Libraries

The ChorusOS operating system provides the following list of libraries:

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

ChorusOS extended library

libcx.a

C++ library 

libC.a

X11 related client libraries (not thread safe) 

libX11.a, libXaw.a, libXext.a, libXmu.a, libXt.a

Specific BSD APIs (not thread safe) 

libbsd.a

The SunRPC library 

librpc.a

The mathematical library 

libm.a

Utilities

Target Utilities

The following utilities may be run on the target ChorusOS operating system:

Host Utilities

The following utilities may be run on the host machine:


Note -

The loader and simudrv host utilities are described in Appendix A, ChorusOS 4.0.1 Simulator Additional Man Pages.


Reference Hardware

Reference Target Platform (Hardware/Operating System)

The ChorusOS Simulator supports the following hardware:

The ChorusOS Simulator supports the following operating systems:

Hosts for building the system image and for running the simulator must have the same operating system version (see the ChorusOS 4.0.1 Simulator for the Solaris Operating Environment (SPARC Platform Edition) User's Guide).

Reference BSP

The ChorusOS 4.0 Simulator supports the following devices:

Device Id 

ChorusOS Driver 

cpu (time base and decrementer) 

simulator:solaris-timer 

Pseudo Real-time Clock 

unixrtc:-(rtc) 

I/O Handler 

simulator:solaris-sigio 

Ethernet 

sun:pseudo-ether 

Building the ChorusOS Simulator

Building the Simulator System Image

The following procedures assume that the ChorusOS Simulator product has already been correctly installed on the host workstation. See the ChorusOS 4.0 Installation Guide for Solaris Hosts.

  1. Create and change to a build directory where you will build system images:


    $ mkdir build_dir
    $ cd build_dir
    
  2. Set an environment variable to use with the configure(1CC) command as a shortcut to the base directory.

    For example:

    Set the environment variable... 

    To the family-specific product directory. The default value is... 

    DIR

    /opt/SUNWconn/SEW/4.0.1/chorus-upSparc 

  3. Make sure your path has been set correctly to include the directory install_dir/4.0.1/chorus-upSparc/tools/host/bin, where the default install_dir is /opt/SUNWconn/SEW.

    Also make sure that your PATH includes /usr/openwin/bin, which contains the imake utility.

  4. Configure the build directory, using the configure(1CC) command.


    $ configure -b $DIR/kernel \
    $DIR/os \
    $DIR/tools \
    -s $DIR/src/nucleus/bsp/up \
    $DIR/src/nucleus/bsp/up/upSparcSolaris \
    $DIR/src/nucleus/bsp/drv \
    $DIR/src/iom
    

    Note -

    The above command configures the build directory to include components installed during a "Default Install". It does not include optional components, such as the X library, code examples or components related to add-on packages, that you may choose to install separately on Solaris host workstations. For example, in order to include everything in your build environment:


    $ configure -b $DIR/kernel \
    $DIR/os \
    $DIR/opt/X11 \
    $DIR/tools \
    -s $DIR/src/nucleus/bsp/up \
    $DIR/src/nucleus/bsp/up/upSparcSolaris \
    $DIR/src/nucleus/bsp/drv \
    $DIR/src/iom \
    $DIR/opt/examples
    

    If you are building from the source distribution, see the ChorusOS 4.0 Production Guide.

    As a result of configuration, build_dir contains a Makefile, which is used to generate the build environment, and a Paths file which specifies paths to files required by and created in the build environment.

  5. Generate the build environment:


    $ make
    
  6. Build a system image:


    $ make chorus
    

    The resulting system image file is located in the build directory, build_dir and is called chorus.RAM.


    Note -

    You can also make a smaller system image that includes only the operating system kernel:


    $ make kernonly
    

Please refer to the ChorusOS 4.0.1 Simulator for the Solaris Operating Environment (SPARC Platform Edition) User's Guide for information on configuring and running your simulator system image.