ChorusOS 5.0 Transition Guide

Chapter 12 Changes to Boot Libraries and Boards

This chapter lists the changes made to the boot library and to the boards in version 5.0 of the ChorusOS operating system.

Boot Library Changes

In previous versions of the ChorusOS operating system, the boot_tools library was used by the bsp component only. This library has therefore been moved to the nucleus/bsp/src source tree.

The bki library was previously used by both the bsp component and the microkernel. This library has been duplicated into the nucleus/bsp source tree.

The new layout of the bsp/src tree is shown in Figure 12-1.

Figure 12-1 New bsp/src Tree

Graphic

Board Changes

Where possible, boards with similar BSPs have been merged to share source code. As a result, device trees and the debug agent driver can be tuned at runtime, if the boot can determine on which board it is running.

On powerpc boards, the board can be identfied by reading a well-known register. A system image can therefore run without any modification on multiple board types. The drawback is that the system image must contain all the drivers for all boards.

On boards which do not have this hardware identification, a mechanism using xml definitions and environment variables can be used. In this case, the system image must be configured for a specific board. The advantage of this approach is that drivers can also be tuned for a board. The following sections describe the board changes that have been implement in the source tree of version 5.0.

x86 Boards

The i386at and cpn5360 BSPs have been merged into a new pc BSP. (Support for the cpn5360 board is new in version 5.0 of the ChorusOS operating system). Because the boot is unable to detect the board on which it is running, a TARGET xml definition has been added.

The TARGET definition can take one of two values: PC_AT or CPN5360. The default value is PC_AT.

To build a chorus system image for a CPN5360 target:

% configurator -set TARGET=CPN5360
% make chorus

PowerPC Boards

The mcp750, mcpn750 and mcpn765 BSPs have been merged into the new mcp7xx BSP. The boot can detect on which board it is running.

Support for the PowerPC 74x0 processor is also new in version 5.0. The new board for this processor is mcpn765.

Usparc Boards

The cp1500 BSP has been moved to the cpxxxx directory and has been adapted to support the new CP2000 and AX boards.

Because the boot cannot detect on which board it is running, a TARGET xml definition has been added. The TARGET definition can take one of three values: CP1500, CP2000, or AX1105. The default value is CP1500.

To build a ChorusOS system image for a CP2040, CP2060, or CP2080 target use the following:

% configurator -set TARGET=CP2000
% make chorus