BIOS32: Difference between revisions

From OSDev.wiki
Jump to navigation Jump to search
[unchecked revision][unchecked revision]
Content deleted Content added
Created page on BIOS32
 
Added structure for Service Directory Header
Line 4: Line 4:
=== Interface ===
=== Interface ===
==== Locating ====
==== Locating ====
The BIOS32 ''Service Directory'' is located on a paragraph (16 Byte) boundary in the physical memory region 0xE0000-0xFFFFF.
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)
It starts with a 4 byte signature of "_32_" (0x5F32335F)
==== Structure ====
==== Structure ====
{{stub}}
{{In Progress}}
{| {{wikitable}}
|+<b>Service Directory Header</b>
|-
|<b>Offset || Size || Name || Description</b>
|-
|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 ==
== See Also ==
=== On the Wiki ===
=== On the Wiki ===

Revision as of 15:38, 26 August 2014

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