ChorusOS 5.0 Transition Guide

New Features and Tunables

This section describes the new features and tunables added in version 5.0 of the ChorusOS operating system, including the default settings of the features in both configuration environments.

New Features

The following table provides a list of the features added in version 5.0 and their default settings in both the Basic and Extended configuration profiles.

For more information on these features, see "Configuring and Tuning" in the ChorusOS 5.0 System Administrator's Guide.

Table 4-1 New Features and Their Default Settings

Feature 

Basic Profile 

Extended Profile 

BLACKBOX

true 

true 

CORE_DUMP

false 

false 

DEV_CDROM

true 

true 

DEV_DISK

true 

true 

DEV_NVRAM

true 

true 

IOM_DEV_MNGT

true 

true 

IPv6

false 

false 

ISOFS

true 

true 

OS_GAUGES

false 

false 

POSIX_REALTIME_SIGNALS

true 

true 

POSIX_SHM

true 

false 

SOLARIS_SYSEVENT

false 

false 

SYSTEM_DUMP

false 

false 

WDT

false 

false 

Changed Features

The following table lists the features for which the default settings have changed in version 5.0 of the ChorusOS operating system.

Table 4-2 Features for Which the Default Settings Have Changed

Feature 

Basic Profile 

Extended Profile 

ROUND_ROBIN

false 

false 

ON_DEMAND_PAGING

false 

false 

RTMUTEX

false 

false 

SOFTINTR

false 

false 

VTIMER

false 

false 

IPC

true 

true 

IPC_REMOTE

false 

false 

LOCAL_CONSOLE

true 

false 

IOM_IPC

false 

false 

IOM_OSI

false 

false 

SCSI_DISK

false 

false 

FLASH

true 

true 

RAWFLASH

true 

true 

VTTY

false 

false 

FIFOFS

false 

false 

FS_MAPPER

false 

false 

UFS

false 

false 

NFS_SERVER

false 

false 

DYNAMIC_LIB

true 

true 

GZ_FILE

false 

true 

POSIX_MQ

false 

false 

POSIX_SHM

true 

false 

PPP

false 

false 

HOT_RESTART

false 

false 

DEBUG_SYSTEM

true 

true 

New Tunables and Their Default Settings

The following table lists the tunables that are new in version 5.0 of the ChorusOS operating system, along with their default settings.

Table 4-3 New ChorusOS Tunables

Tunable 

Description 

Default Setting 

kern.mkstat.maxevents

Maximum number of MKSTAT events

1024 

kern.systemdump.systemdumpSize

System dump memory area size 

0x20000 

kern.blackbox.maxBufferNumber

Maximum number of circular buffers 

kern.blackbox.bufsize

Size of each blackbox circular buffer (in Kb)

64 

kern.blackbox.maxFilterNumber

Maximum fine-grained filters 

64 

kern.blackbox.maxProcIdNumber

Maximum proc ID filters 

64 

kern.blackbox.kernelLogging

Microkernel logging messages 

iom.persistentramdisk0

Current size of persistent ramdisk 0 

iom.persistentramdisk1

Current size of persistent ramdisk 

iom.persistentramdisk2

Current size of persistent ramdisk 2 

iom.persistentramdisk3

Current size of persistent ramdisk 3 

iom.persistentramdisk4

Current size of persistent ramdisk 4 

iom.persistentramdisk5

Current size of persistent ramdisk 5 

iom.persistentramdisk6

Current size of persistent ramdisk 6 

iom.persistentramdisk7

Current size of persistent ramdisk 7 

iom.persistentramdisk8

Current size of persistent ramdisk 8 

iom.persistentramdisk9

Current size of persistent ramdisk 9 

iom.persistentramdiska

Current size of persistent ramdisk 10 

iom.persistentramdiskb

Current size of persistent ramdisk 11 

iom.persistentramdiskc

Current size of persistent ramdisk 12 

iom.persistentramdiskd

Current size of persistent ramdisk 13 

iom.persistentramdiske

Current size of persistent ramdisk 14 

iom.persistentramdiskf

Current size of persistent ramdisk 15 

iom.wdt.defer

Defer watchdog interrupt processing to C_OS interrupt thread 

iom.wdt.sysdump

watchdog triggering system dump 

iom.wdt.period

Internal period (in ms) of the watchdog timer 

4000 

iom.wdt.slack

Slack time (in ms) of the internal timeout handler 

4000 

iom.wdt.action

Execution time (in ms) of the action taken by the watchdog interrupt handler 

2000 

iom.wdt.maxInterval

Maximum timeout interval (in ms) allowed by the watchdog timer API  

180000 

iom.wdt.startupInterval

Maximum time (in ms) required for the startup sequence to complete 

iom.wdt.shutdownInterval

Maximum time (in ms) required for the shutdown sequence to complete 

iom.os_gauges.activestart

OS_GAUGES signaling sysevents actived at C_OS init 

iom.os_gauges.syslog

OS_GAUGES sysevents errors in syslog messages 

iom.bootverbose

C_OS Activate boot verbose mode 

iom.nprocs

C_OS maximum number of processes 

64 

iom.nthreadsperproc

C_OS maximum number of threads per process 

64 

iom.nprocsperuid

C_OS maximum number of processes per user 

63 

iom.maxcoresize

C_OS maximum permitted size of a core file 

2100000 

iom.maxsockets

C_OS maximum number of open sockets 

64 

iom.nmbufs

C_OS maximum number of open sockets 

2048 

iom.userstacksize

Default stack size of user mode threads 

0x8000 

cgtp.filter_tab_nb

CGTP number of filter tables 

40 

cgtp.sub_tab_nb

CGTP number of subtables in filter tables 

cgtp.entry_nb

CGTP number of entries per subtable 

[2, 4096] by power of 2 

cgtp.elem_nb

CGTP number of elements per entry 

cgtp.resolution

Definition of CGTP filter period 

iom.ipv6.gif.number

Number of GIF interfaces 

iom.inet.use_hw_checksum

Mask controlling the use of hardware checksum capability by the networking stack 

0x001 -- IP header checksum 

0x002 -- TCP header checksum 

0x004 -- UDP header checksum 

0x008 -- checksum over IP fragments 

0x010 -- hardware fragments IP packets 

0x100 -- IP header checksum verified on reception 

0x200 -- IP header checksum is valid 

0x400 -- data checksum computed on reception 

0x800 -- data checksum computed with TCP/UDP pseudo headers 

0xffff 

iom.rtsig.sigqueuemax

Maximum number of signals that can be queued per process 

32 

sysdump.device

Device number used to process the TFTP transfer 

Support for Floating Point Configuration

Version 5.0 of the ChorusOS operating system provides hardware support for floating point configuration. To facilitate this, two new features and one new tunable have been added. The two new features are FPU and FPU_EMUL. The new tunable is kern.exec.dflThreadFpuCtrl.

For the floating point support to be active, set FPU=true and FPU_EMUL=false. Applications should be built with FFPU=ON. With these settings:


Note -

The sysGetConf(2K) system call has been enhanced to retrieve enabled features. The floating point configuration support applies to the PowerPC platform only.


Support for FPU Exception Handling

A new tunable, kern.exec.dflThreadFpuCtrl, has been added to configure default thread behaviour on floating point exceptions. This tunable is a bit field and is the logical OR of MSR(FE0,FE1) bits and FPSCR(24-31) control bits.

The following bits may be set or cleared:

MSR(FE0,FE1)=0x00000000

Floating-point exceptions disabled

MSR(FE0,FE1)=0x00000900

Floating-point precise exception mode

FPSCR(VE)=0x00000080

Invalid operation exception enabled

FPSCR(OE)=0x00000040

Overflow exception enabled

FPSCR(UE)=0x00000020

Underflow exception enabled

FPSCR(ZE)=0x00000010

Zero divide exception enabled

FPSCR(XE)=0x00000008

Inexact operation exception enabled

FPSCR(NI)=0x00000004

Non IEEE mode. This bit should never be set.

FPSCR(RN)=0x00000000

Round to nearest

FPSCR(RN)=0x00000001

Round toward zero

FPSCR(RN)=0x00000002

Round toward +infinity

FPSCR(RN)=0x00000003

Round toward -infinity

MMU/Cache Configuration

To provide MMU/cache configuration, two new tunables have been added:

kern.mem.cacheMode defines how processor caches should be configured. It is a bit field and is the logical OR of the following bit values:

HID0(ICE)=0x00008000

Instruction cache enabled (L1)

HID0(DCE)=0x00004000

Data cache enabled (L1)

L2CR(L2E)=0x80000000

Unified L2 cache enabled

L2CR(L2DO)=0x00400000

For data access only

L2CR(L2IO)=0x00000400

For instruction access only

L2CR(L2WT)=0x00080000

In write-through mode

kern.mem.pgTableSzLog2 defines the memory size to be allocated to the MMU hardware page table (HTAB). To force the HTAB table size to be a power of 2, the tunable value is defined as Log2(size). Thus, 2^kern.mem.pgTableSzLog2 bytes are allocated to the HTAB table. kern.mem.pgTableSzLog2 must be in the value range [16..25].


Note -

This support applies to the PowerPC platform only.