| United States-English |
|
|
|
![]() |
HP 9000 V-Class Server: Architecture > Chapter 10 Booting and testingBooting |
|
Booting a system refers to a sequence of events that loads and executes the operating system code. This sequence, orboot procedure, begins at power-on with the system in an unknown state and ends when the system begins executing the operating system. When power is applied to the system, all controllers receive a power-up reset signal. Hardware initialization occurs within the first few clocks after the reset pulse is negated. The reset signal has the following effects:
When the system first powers up, all processors and supporting hardware must be initialized before the system proceeds with booting. Upon power up, POST begins executing and brings up the system from an indeterminate state and then executes OBP. POST determines the system hardware configuration before running OBP. If POST encounters an error during initialization, it passes the appropriate error code to an LCD. Figure 10-2 “POST program flow” shows how POST initializes the processors up to booting of OBP. Upon reset, all processors are initialized and placed in selftest. The extent of the selftest is determined by a mode bit in NVRAM. If both the selftest and cache test NVRAM variables are enabled, cache testing is performed. Data cache initialization is verified, and the portion of the instruction cache used for memory initialization is pattern tested. Each processor determines its identification (ID) from the EPAC. Also, each processor fetches the Processor Semaphore register on the PUC. Because register requests are queued, one processor will fetch this CSR before the others and becomes the booting, or monarch, processor. All others go into a command wait idle loop. The booting processor continues executing POST code from the EEPROM. The EPUC EEPROM contains the POST, OBP, system diagnostics code, and the spp_pdc code. In addition, these four routines use shared data structures. The routines and shared data structures all reside in sections of the EEPROM know as code spaces. Each code space has an embedded checksum word. POST checks the validity of each code space by reading and comparing its checksum. The core logic contains SRAM and DUARTs that support external terminal connection for self test and the LCD panel. POST initializes the SRAM, DUARTs, and all controller CSRs in the system. POST determines which and how many controllers reside in the system (not every system contains a full complement of support hardware). It also determines the number of memory modules and their sizes. Any controller (ASIC) that does not respond to any CSR access is considered to be not installed. POST sets every system controller (ASIC) to a known state. The state is based both on configuration parameters and the current hardware configuration. EPACs are reported in the EPUC EPAC-Exist register. EMACs and EPICs are reported in the EPAC Configuration register. ERACs are always all present (they are not sensed). The processor reads the node ID from the COP EEPROM and uses its information to load the node identification register. Next, the monarch processor determines the memory configuration for all EMACs. It determines the size, population, and installation of each DIMM on a memory board and returns this information to POST. The results are compared with the results of each other memory mapping and the least common denominator is determined and mapped in. Once the memory population is determined, the monarch processor assigns available processors to the enabled EMBs, initializing memory and tags in parallel. Once each processor in the system has completed initialization and selftest, it loads and executes OBP. The following is the sequence of events for booting the system starting with loading OBP (for every processor) and finishing with the system ready for use:
For normal booting, the following additional tasks are performed:
|
|||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||