Compaq Computer Corporation
Phoenix Technologies Ltd.
Intel Corporation
BIOS Boot Specification
1.0 INTRODUCTION 5
1.1 REVISION HISTORY 5
1.2 RELATED DOCUMENTS 5
1.3 PURPOSE 5
1.4 TERMS 6
2.0 OVERVIEW 9
2.1 DESCRIPTION 9
3.0 IPL DEVICES 10
3.1 REQUIREMENTS FOR IPL DEVICES 10
3.1.1 IPL TABLE 10
3.1.2 PRODUCT NAME STRING 10
3.2 BAIDS 11
3.3 DEVICES WITH PNP EXPANSION HEADERS 11
3.4 LEGACY IPL DEVICES 12
3.5 IDENTIFYING IPL DEVICES 13
3.5.1 BAIDS 13
3.5.2 PNP EXPANSION HEADER 13
3.5.3 PCI DEVICES 13
3.5.4 IDENTICAL IPL DEVICES 14
4.0 IPL PRIORITY 15
4.1 MAINTAINING THE IPL PRIORITY 15
4.2 IPL PRIORITY PSEUDOCODE 17
5.0 BCV PRIORITY 18
5.1 INTRODUCTION 18
5.2 INT 13H DEVICE CONTROLLERS 18
5.2.1 ATA DRIVE SUPPORT IN THE BIOS 18
5.2.2 PNP CARDS WITH BCVS 19
5.2.3 LEGACY CARDS WITH OPTION ROMS 19
5.2.4 HARD DRIVE BAID 19
5.2.5 CONTROLLER INSTALLATION GUIDELINES 19
5.2.6 NOTES ON INT 13H DEVICES 20
5.3 INSTALLATION ORDERING 20
5.4 POST PSEUDOCODE 22
6.0 POST SEQUENCE 23
6.1 POWER-ON INITIALIZATION 23
6.1.1 INITIALIZING BAIDS 23
6.1.2 PNP BOOT DEVICES 23
6.2 PNP OPTION ROM INITIALIZATION 23
6.3 CHECK IPL PRIORITY AND BCV PRIORITY 24
6.4 INT 13H DEVICE CONTROLLER INSTALLATION 24
6.4.1 BOOT CONNECTION VECTORS 25
6.4.2 DISCONNECT VECTOR 25
6.4.3 LEGACY ROM SCAN 26
6.4.4 ON-BOARD ATA SUPPORT 26
6.5 INT 19H PROCESSING 26
6.5.1 BOOTING FROM BAIDS 27
6.5.2 BOOTING FROM BEVS 27
6.6 INT 19H PSEUDOCODE 28
6.7 INT 18H PSEUDOCODE 28
6.8 NOTES ON THE POST PROCESS 29
APPENDIX A: DATA STRUCTURES 30
A.1 IPL TABLE AND BCV TABLE ENTRY DATA STRUCTURE 30
A.2 PNP OPTION ROM HEADER 31
A.3 PNP EXPANSION HEADER 31
A.4 PCI DATA STRUCTURE 31
APPENDIX B: RUN-TIME FUNCTIONS (OPTIONAL) 32
FUNCTION 60H - GET VERSION AND INSTALLATION CHECK 32
FUNCTION 61H - GET DEVICE COUNT 33
FUNCTION 62H - GET PRIORITY AND TABLE 34
FUNCTION 63H - SET PRIORITY 35
FUNCTION 64H - GET IPL DEVICE FROM LAST BOOT 36
APPENDIX C: BOOT MENU (OPTIONAL) 37
C.1 BOOT MENU POP-UP 37
C.2 BOOT MENU INT 19H PSEUDOCODE 37
C.3 BOOT FIRST RUN-TIME FUNCTIONS 38
FUNCTION 65H - GET BOOT FIRST 38
FUNCTION 66H - SET BOOT FIRST 38
APPENDIX D: RECOMMENDED BOOT SECTOR CHANGES (OPTIONAL) 39
D.1 USE DL FOR DRIVE NUMBER 39
D.2 INT 18H ON BOOT FAILURE 39
APPENDIX E: PCI WITH MULTIPLE PNP HEADERS (OPTIONAL) 40
E.1 DESCRIPTION 40
E.2 REQUIREMENTS 40
E.3 OPTION ROM INITIALIZATION 40
E.3.1 BEFORE OPTION ROM PLACEMENT 40
E.3.2 PLACING THE PCI OPTION ROM 40
E.3.3 CALLING THE PCI OPTION ROM 41
E.3.4 NO DEVICES PRESENT 41
E.3.5 DEVICES ARE PRESENT 41
E.4 ENUMERATING PNP EXPANSION HEADERS 42
E.5 CALLING THE BCVS 42
1