This chapter lists the changes and new features to the ChorusOS 4.0 kernel.
The boot framework has been reimplemented in the ChorusOS 4.0 operating system. See the ChorusOS 4.0 Porting Guide for detailed information.
The ChorusOS 3.2 netboot utility, to load and boot ChorusOS system images, has been replaced by bootMonitor in the ChorusOS 4.0 operating system. Whereas netboot is only available for Intel platforms, and designed to be run from diskette, bootMonitor is available on all platforms and can be run from diskette or flash memory.
The file format of system images has changed from SVR5 in the ChorusOS 3.2 operating system to ELF in the ChorusOS 4.0 operating system. System images created in the ChorusOS 3.2 operating system are not designed to boot in the ChorusOS 4.0 operating system.
See the bootMonitor(1CC) man page, and the appropriate book in the ChorusOS 4.0 Target Family Documentation Collection for further information.
Processor family specific I/O routines, previously located in a CPU library in the ChorusOS 3.2 operating system, are now part of the kernel DKI module and bus drivers in the ChorusOS 4.0 operating system. Device drivers must not communicate directly with the hardware, but must communicate through the DKI and appropriate bus DDI interface using the *busIoOps.load_8(), *busIoOps.store_8() calls.
See the ChorusOS 4.0 Device Driver Framework Guide for detailed information.
The following system calls have been removed from the ChorusOS 4.0 operating system:
Table 4-1 Obsolete System Calls
Obsolete ChorusOS 3.2 System Call |
Reason for removal |
Equivalent ChorusOS 4.0 System Call |
---|---|---|
actorPersistency(), actorPersistCap(), actorRestartCapability() |
The revised hot restart interface no longer relies on persistent actor support at kernel level. |
None. |
rgnPhysMap() |
The ChorusOS 4.0 operating system does not support device memory on demand mapping in the user address space. |
None. |
sysBench() |
Superseded. |
This call has been superseded by the sysTimerStartFreerun(2K) and sysTimerReadCounter(2K)system calls. |
svProfHandler() |
Superseded. |
This call has been superseded by the sysTimerStartPeriodic(2K) system call. |
svMaskAll(), svUnmask(), svUnmaskAll() |
Superseded. |
The supervisor calls have been superseded by the imsIntrMask_f(9DKI) and imsIntrUnmask_f(9DKI) system calls. |
svSysIo() |
The system
console driver is implemented by the external |
None. |
The KBIM kernel module has been removed in the ChorusOS 4.0 operating system, taking with it the following services:
svDeferInt() svIntrGetCurHdl() svIntrSetMngt() svIntrGetMngt() svPicMaskAll() svPicUnmask() svPicTestIntr() svUnDeferIntr() svReleaseIntr()
Interrupt management is now handled by the kernel DKI module and the bus drivers. Device drivers must not communicate directly with the hardware, but must communicate through the DKI and appropriate bus DDI interface.
Table 4-2 lists ChorusOS 4.0 equivalent DKI and bus DDI interfaces for ChorusOS 3.2 KBIM services.
Table 4-2 Replacement DKI and bus DDI interfaces for KBIM services
See "Driver Kernel Interface Overview" in ChorusOS 4.0 Device Driver Framework Guide for more information.
There are differences in the way the PowerPC MVMExxxx board family is configured in the ChorusOS 4.0 and ChorusOS 3.2 operating system.
Here are the original settings for the ChorusOS 3.2 operating system:
Boot File Load Address = 001F0000 (set with the niot command).
Boot File Execution Address = 001F0000 (set with the niot command).
Network PReP-Boot Mode Enable = Y (set with the env command).
Here are the settings you will need for the ChorusOS 4.0 operating system:
Boot File Load Address = 00400000 (set with the niot command).
Boot File Execution Address = 00400000 (set with the niot command).
Network PReP-Boot Mode Enable = N (set with the env command).
See the ChorusOS 4.0 PowerPC 60x/750 Target Family Guide for more information.