Sun Java Solaris Communities My SDN Account Join SDN
 
Documentation

Device Configuration Assistant Design Overview


2. Overview

The Device Configuration Assistant is one component of the booting system and performs the following essential functions:
  • Defines self-identifying devices and their assigned resources
  • Searches for non-self-identifying (ISA) devices
  • Saves the device configuration information
  • Permits  autobooting
  • Builds a device tree (like the SPARC model) according to set rules
  • Provides menu-based screens for progressing through the configuration process and help
The Device Configuration Assistant is a DOS executable program, bootconf.exe. It is called from and runs under the second-stage bootstrap boot.bin, a program that contains DOS emulation. The Configuration Assistant is linked with the standard C library, which makes the DOS system calls (for example, to access a diskette) emulated by boot.bin. The Configuration Assistant also uses boot.bin to create device tree nodes and set properties on these nodes.

The Configuration Assistant selectively loads and runs realmode drivers (BEFs) to:

  • Find ISA devices for drivers that handle ISA devices.
  • Determine the bootable targets attached to a controller (for example, disks or CD-ROM drives).
  • Actually access a device (disk, CD-ROM, or net).
The BEFs provide:
  • A legacy_probe() routine if they can handle ISA devices. This routine must scan at the well known ISA addresses and report back any controllers found.
  • An install_only() routine that is called when some hardware is known to be controlled by that device. The BEF must ask for the resources assigned to the device and other information about it.

Configuration Assistant Processes

The typical flow of functions performed by the Device Configuration Assistant are:
  1. Initialization
  2. Bus enumeration
  3. Optional scan for ISA devices (with ISA BEFs)
  4. Program PnP ISA devices with leftover resources
  5. Load BEFs to get boot device list
  6. Build device tree
  7. Mount boot device
  8. Exit
Most of these processes are described later in this document.

<< Previous |  Contents |  Next >>