BIOS32

From OSDev.wiki
Revision as of 15:38, 26 August 2014 by osdev>Bellezzasolo (Added structure for Service Directory Header)
Jump to navigation Jump to search

BIOS32

Introduction

BIOS32 is a method for calling BIOS services directly from 32 bit Protected Mode. It is mainly used for PNP and PCI services.

Interface

Locating

The BIOS32 Service Directory Header is located on a paragraph (16 Byte) boundary in the physical memory region 0xE0000-0xFFFFF. It starts with a 4 byte signature of "_32_" (0x5F32335F)

Structure

This page is a work in progress.
This page may thus be incomplete. Its content may be changed in the near future.
Service Directory Header
Offset Size Name Description
0 4 bytes Signature ASCII signature "_32_" (0x5F32335F)
4 4 bytes Entry Point 32 bit physical address (not CS:IP) of BIOS32 calling interface entry point.
8 1 byte Revision Revision of BIOS32. Current 0h
9 1 byte Length Length of structure, in paragraphs
10 1 byte Checksum A summation checksum (1 byte granularity)
11 5 bytes Reserved Reserved for future use, should be 0.

See Also

On the Wiki

PCI

External references

Phoenix BIOS 32-bit service proposal