ChorusOS 5.0 Transition Guide

Chapter 11 Changes to Drivers

This chapter illustrates the changes made to the driver source tree and lists the new and updated drivers for version 5.0 of the ChorusOS operating system. An important global change concerns the creation of a single driver actor for all drivers. This change has been made to improve memory footprint.

Reorganization of the Driver Source Trees

The driver source tree has been reorganized to reduce the existing driver components (DRV and DRV_F) to one generic DRV component. To make this possible, the drv_f source trees have been moved to the drv source tree.

This change is indicated in Figure 11-1 and Figure 11-2.

Figure 11-1 Old BSP Source Tree

Graphic

Figure 11-2 New BSP Source Tree

Graphic

The src/family Imakefile is able to select the correct family-dependent tree at compile time, for example:

#define IHaveSubdirs

SUBDIRS_x86    = x86
SUBDIRS_ppc60x = powerpc
SUBDIRS_mpc860 = powerpc
SUBDIRS_mpc8260= powerpc
SUBDIRS_usparc = usparc

SUBDIRS = $(SUBDIRS_$(FAMILY))

New Drivers

This section lists the new drivers, categorized by platform.

Generic Drivers

The following table indicates the generic drivers that have been added in version 5.0 of the ChorusOS operating system. For more information on each driver, consult the corresponding man page.

Table 11-1 New Generic Drivers

Driver 

Reference Man Page 

ATA hard disk driver 

atadisk(9DRV)

Bus communication multiplexor driver 

busmux(9DRV)

DEC2155x PCI bus driver 

dec2155x(9DRV)

EPFPLD watchdog driver 

epfpld(9DRV)

Ethernet bus communication driver 

buseth(9DRV)

FPGA multi-function driver (watchdog, flash control, HSC) 

fpga(9DRV)

GPIO-based HSC driver 

gpiohsc(9DRV)

I8042 keyboard/mouse driver 

i8042(9DRV)

Intel 28 Fxxxx flash driver 

intel28fxxx(9DRV)

Intel 8255x ethernet driver 

e100(9DRV)

ISA fault injection driver 

isaFi(9DRV)

ISA PIC (I8259) driver 

i8259(9DRV)

Loopback communication driver 

buscom_loopback(9DRV)

Open PIC (MPIC/EPIC) driver 

openpic(9DRV)

PCI fault injection driver 

pciFi(9DRV)

PCI host communication driver 

pcicom_host(9DRV)

PCI resource manager auxiliary driver 

pcimngr(9DRV)

PCI swap auxiliary driver 

pciswap(9DRV)

PowerQuicc CPM timer driver 

cpmTimer(9DRV)

PowerQuicc PIT timer driver 

pitTimer(9DRV)

PowerQuicc watchdog timer driver 

siuWdt(9DRV)

RAVEN watchdog timer driver 

raven_wdtimer(9DRV)

RIO ethernet driver 

rio(9DRV)

SYM5 3c8xx SCSI HBA driver 

sym53c8xx(9DRV)

Transparent nexus communication driver 

buscom_nexus(9DRV)

VT82C586 ATA HBA driver 

vt82c586_ata(9DRV)

VT82C586 ISA bus driver 

vt82c586(9DRV)

W83C553 ATA HBA driver 

w83c553_ata(9DRV)

Z8536 GPIO driver 

z8536(9DRV)

UltraSPARC Specific Drivers

The following table indicates the generic drivers that have been added in version 5.0 of the ChorusOS operating system. For more information on each driver, consult the corresponding man page.

Table 11-2 New UltraSPARC Specific Drivers

Driver 

Reference Man Page 

Software interrupt bench driver 

bench_softint(9DRV)

CP1500 HSC driver 

usparchsc(9DRV)

PowerPC Specific Drivers

The following table indicates the PowerPC specific drivers that have been added in version 5.0 of the ChorusOS operating system. For more information on each driver, consult the corresponding man page.

Table 11-3 New PowerPC Specific Drivers

Driver 

Reference Man Page 

Decrementor bench driver 

bench_tbDec(9DRV)

FALCON memory controller, common bus and flash control driver 

falcon(9DRV)

HARRIER host PCI bus driver 

harrier(9DRV)

Intel specific drivers

There are no new Intel-specific drivers in version 5.0 of the ChorusOS operating system.

Updated drivers

This section describes the existing drivers that have been changed in version 5.0 of the ChorusOS operating system.

Generic drivers

The following table lists the generic drivers that have been changed, along with a description of the changes made. For more information on each driver, consult the corresponding man page.

Table 11-4 Changes to Generic Drivers

Driver 

Change 

Reference Man Page 

DEC2115x PCI-to-PCI bus driver 

  • Supports the dynamic resource management using the PCI resource manager auxiliary driver.

  • Supports cPCI hotswap using the PCI swap auxiliary driver and an HSC driver.

  • Supports the bus communication framework using the transparent nexus communication driver.

  • Provides the management DDI.

dec2115x(9DRV)

DEC2155x PCI-to-PCI bus driver 

  • Supports the dynamic resource management using the PCI resource manager auxiliary driver.

  • Supports cPCI hotswap using the PCI swap auxiliary driver and an HSC driver.

  • Supports the bus communication framework using the transparent nexus communication driver.

dec2155x(9DRV)

DEC21x4x ethernet driver 

  • Supports the DEC21143 ASIC with or without an external transceiver.

  • Provides enhanced support for the 100 Mbps link.

  • Supports ETHER_VERSION_1 DDI allowing DMA transfer directly to and from client frame buffers.

  • Provides management and diagnostics DDIs.

  • Hardened.

dec21x4x(9DRV)

Cheerio ethernet driver 

  • Supports ETHER_VERSION_1 DDI allowing DMA transfer directly to and from client frame buffers.

  • Provides the management and diagnostics DDIs.

  • Supports TCP/UDP hardware checksum on reception and transmission.

  • Hardened.

cheerio(9DRV)

AMD29xxx flash driver 

  • Uses a flash control driver when available on a given platform.

amd29xxx(9DRV)

Z85x30 UART driver 

  • Uses a GPIO driver (when available on a given platform) to manage the modem signal.

z85x30(9DRV)

Simba PCI-to-PCI bus driver 

  • Supports dynamic resource management using the PCI resource manager auxiliary driver.

  • Provides the management DDI.

  • Hardened.

simba(9DRV)

M48Txx RTC driver 

  • Supports the NVRAM DDI.

  • Supports the watchdog timer DDI if the watchdog timer is supported by the chip.

m48txx(9DRV)

RIC driver 

  • Hardened.

ric(9DRV)

UltraSPARC Specific Drivers

The SABRE PCI host bus driver has been hardened. For more information, refer to the sabre(9DRV) man page.

PowerPC Specific Drivers

The following changes have been made to the RAVEN PCI host bus driver:

For more information, see the raven(9DRV) man page.

Intel Specific Drivers

No changes have been made to the Intel specific drivers.