BiOS boot specification (1)

Source: Internet
Author: User

1.0 Introduction
1.1 omitted
1.2 Related Documents
Plug and paly BIOS spec
Hardware Design Guide for Microsoft Windows 95
Enhanced disk drive Specification
"EI torito" bootable CD-ROM format specofocation
PCI local bus specification
1.3 Purpose
The purpose of this specification is to describe a method through which the BIOS can identify all IPL (initial Program Load) devices in the system and sort them in the order selected by the user, then traverse the device to allow startup. This is because the pnp bios spec adds BIOS requirements during startup (for example, more enable devices:

CD-ROM, network, remote boot, PCMCIA, etc.), so the BIOS must be more "intelligent". The most important thing about this specification is to define a startup scheme, which is flexible. It allows all existing IPL devices to start, and includes many future IPL devices.

1.4 terms
To avoid confusion and be consistent with the PNP spec, some terms are listed below:
ATA (Advanced Technology Attachment)-advanced technology connection device, also known as an IDE drive, is a HW with built-in interfaces.

Asciiz-An asciiz string is a string consisting of ASCII characters ending with null.

Baid (BiOS aware IPL device)-any device that can start the OS, but requires the BIOS to have detailed code to support it. For example: the first floppy drive, the first hard drive, atapi CD-ROM, PCMCIA, embedded network adapter and so on.

BCV (BOOT connection vector)-pointer in the extended header of an option Rom, pointing to the initialization device in option RomCode. And can be hooked by INT 13 H. (For details, refer to the PCI option Rom Section). It is a 3 byte pointer. Option Rom with BCV, such as PNP ISA SCSI

Controller.

BIOS data area (BIOS data area)-A data segment in Ram, which is mainly used for BIOS to manage peripherals and resources. Start address: 0040 H.

BEA (bootstrap entry vecdor)-a pointer to option Rom, which directly loads OS, such as PNP ISA Ethernet controller

BIOS-Omitted

Boot device-the device that must be initialized before the OS is loaded: the input device (keyboard), the output device (Display), and the IPL device. One InitializationProgramThe device is a member of a boot device.

CDR (conflict detection and resolution)-this is a method in which the pnp bios first detects the resource requirements of the PNP cards and then allocates resources to them in a non-conflicting manner.

Ddim (device driver initialization model)-is an option Rom initialization method. Extended Rom is first copied to the corresponding Ram ing Ram, and then its initialization vector is called, at the same time, the ing Ram is put into writable state. When the extended Rom (Code copied to ram) is initialized, it will be discarded in the run-time

The unneeded code (that is, the initialization code ). The final result is returned, and the BIOS gets control again. This rom is write-protected.

DV (disconnect vector)-it is a pointer and a code point to the extended Rom. This code is mainly used to execute the clean-up operation after the code pointed to by the BCV pointer is called. This pointer is also in the PNP option Rom extension header.

IPL device-any device that can start the OS. In standard atmachines, it refers to Floppy Drive or hard drive.

Legacy caed-refers to a standard ISA card. It is neither configured with PNP compatibility nor has an extended header (expansion header)

NV (non-volatile)-non-volatile mem is a type of MEM that can be kept intact after power failure, the most common type of NV memeory on a PC is CMOS (saving system configuration information)

O/s-this is an easy-to-understand plug, which is loaded by an IPL device selected for startup.

PFA (pCI function address)-a unique address not assigned to a PCI function, which consists of function number, device number, and bus bumber.

PNP (plug and paly)-Indicates something defined by PNP bios and pnp isa spec. For example, a PNP device performs a PNP action.

PNP card-the option ROM of these cards contains a structure of the PNP expansion header.

Post (power-on Self Test)-This is part of the BIOS. It refers to the operations of a PC powered on BIOS to initialize PC's HW and load OS.

Setup-this is also something in the BIOS. Strictly speaking, it is a program. When the BIOS is initialized, you can press the shortcut key or hotkey to enter the screen. Setup allows you to set and configure the system, or select the priority of IPL.

<The above are some glossary>

2.0 Overview
2.1 Introduction
BiOS boot spec mainly defines some features in BIOS: BIOS can create and maintain all IPL devices found in the system and store them in NV memory as a linked list. IPL device is mainly composed of three types: baid, PNP card, and legacy. However, only the first two types can be

Enumeration, legacy devices are not supported for some reason: first, these devices always control the startup process and make them look unfriendly (that is, it is not easy to hand over control ). Second, these devices, as IPL devices, do not provide a way to identify themselves. Third, the BIOS cannot have several legacy

Select one of the IPL devices to start.

BiOS boot spec provides an IPL Priority Method for the boot sequence. This IPL priority is a user-defined order in setup. The startup command is very simple: boot C then C or, in turn (of course, these devices must be supported ). Of course, the number of these IPL devices may be enabled each time.

All devices are changed. Every time the system is started, all IPL devices in the system will be enumerated.

BiOS boot SPEC also defines BCV (BOOT connection vector, a pointer in extended memory) priority. You can set a linked list related to the INT 13 H device controller in setup. These controllers can be called to install the INT 13 H drive.

If an IPL device fails to load the OS, the BIOS revokes control and starts loading from another IPL device until all IPL devices are tested. Then, the BIOS displays a message indicating that the OS is not found. Wait for the user to press the key and then call int 19 h. This method makes BIOS more intelligent.

BiOS boot spec focuses on the start of PNP and non-PNP systems. In legacy system, this process is much simpler, because it only supports baids. It does not need to support dynamic IPL Device Configuration and enumeration, nor does it need to support PNP card. This is because the number of IPL devices is

It will not change.

3.0 IPL Device
An IPL device may be any device that can load and execute an OS. Including floppy drives, CD-ROM, PCMCIA, Controller/card, PNP cards, legacy card, and serial poarts and parallel ports in the future. IPL device is divided into three types: baid, legacy device, and PNP

Card. The PNP card has two types: BCV device and Bev device ).

The key feature of an IPL device is that when it fails to load the OS, it will return to the BIOS (with this error at the same time ). In BBS, int 18h is specified as a recovery vector for startup failure. For example, a pnp isa network card is configured to start it from the network. D, but the network cable is not connected.

The option Rom will send a signal to the bios, through invoking int18h, it cannot start.

The option ROM of a legacy card is called by int19h in the initialization phase. It can control the startup process. However, if it is caught by INT 18 h, it cannot control the startup failure to the BIOS. So in the future, there will be a PNP expansion header and their option Rom supports the legacy of int 18 h.

Boot devices is recommended.

3.1.1 IPL table
Each baid or Bev device must have an entry point in the IPL table. The IPL table of a typical PC should have two baid entry points: one for the floppy disk A, the other for the hard disk C:, and the other for the bev device, for the IPL table example, see section 4.1.

The information stored in the IPL table includes: recognition information, pointer to the description string, and pointer to a handler (a program is initialized to load o/s ). (For details about IPL table and BCV table, see appendix)

3.12 product name string
It is defined in the pnp bios spec that contains an identification string in the PNP expansion header. This string is meaningful for identifying product names and vendor names. The display of the product name string is very important for the user to be the device. Although this string must end with null

Generally, it is meaningful to have only the first 32 characters (bytes). characters exceeding 32 bytes are not displayed.

3.2 baids
Baid indicates that this type of device is the first to enable the device, and the corresponding code in the BIOS code supports the startup (first Floppy Drive, first hard drive ..). A baid can be bound to a unique Bootstrap, because the int 19 h service program of BIOS already contains support for it.

Hold (For details, refer to relevant information about Hd/Floppy boot ). Baid devices such as: atapi compatible CD-ROM drive, PCMCIA card/controller, baids no option Rom, no detailed code embedded into the bios, they do not work.

Each baid obtains an entry in the IPL table. This entry contains: device type, device sub-type, and a pointer to a description string, A code snippet pointing to the BIOS (the code will attempt to boot from the device ). Int 19 h

Handler
The table is read to obtain information, so that it starts from it without knowing the device type. This table is composed of arrays with continuous data structures, and each array corresponds to a specific IPL device.
(In other words, IPL table consists of many arrays, which are composed of various data structures, and each array corresponds to an IPL device)

Note: Only the first floppy drive and the first hard drive are considered ipldevice. The reason system cannot be started from other drives is that the detailed address of the boot sector code is only: 00 h for floppy and 80 h for hard driver (you can collect

Hd/Floppy startup information ). Appendix D describes the recommended o/s boot sector to solve this problem.

3.3 device with PNP expansion Header
All IPL devices with option Rom must contain a limited option Rom header. The option Rom header ranges between c0000h-EFFFFH and is in 2kb? Original article: resides between system memory addresses c0000h

And effffh on a 2 k boundary) and starts with 55aah. Only a device with a PNP option Rom header can be controlled. The address can be found at the offset 1ah of the Option header, which is very important for device configuration. It also contains pointers (BCV/Bev ).

Bev device: Network Card, which enables BIOS to call its Bev directly from far. If the startup fails, execute int 18 h recovery control to BIOS. This behavior is like baid.

BCV device: SCSI controller. It is not a byte boot. On the contrary, it only adds its driver to the system and counts the drive number.

3.4 legacy IPL Device
It also has the option Rom. The difference between it and the PNP device is that there is no PNP expansion header in its option Rom.

Read the full text

Category:View BIOS comments

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.