BIOS32: Difference between revisions
[unchecked revision] | [unchecked revision] |
Content deleted Content added
Added details about finding available services |
m Fix lint errors |
||
(4 intermediate revisions by 3 users not shown) | |||
Line 2:
== Introduction ==
BIOS32 is a method for calling BIOS services from either 16-Bit Real Mode, 16-Bit Protected Mode or 32-Bit Protected Mode. This method can be used to find BIOS32 services and execute BIOS32 methods, but it does not allow you to call "legacy" BIOS calls, directly, like INT 0x10 and INT 0x13 methods. It is mainly used for PNP and PCI services, but there may be other services available, as well. These services are not well documented, and are not necessarily supported on all systems. The BIOS32 API provides a method to query the system for support for a specific service, but it does not provide any method for getting a complete list of supported services.
== Interface ==
Line 11:
=== Structure ===
{| {{wikitable}}
|+
|-
|
|-
|0 || 4 bytes || Signature || ASCII signature "_32_" (0x5F32335F)
Line 29:
=== Service Availability ===
In order to verify that a service is available, you must FAR
If the service is not supported, the AL register will contain either 0x80 or 0x81. (The documentation is ambiguous on this specific value, so it may be better to check for a non-zero value)
== Well Known Services ==
The services listed below have been found on real hardware, but may not be supported by some (or even most) systems.
{| {{wikitable}}
|+'''Service List'''
|-
|'''Component ID'''|| '''Name'''
|-
|"$PnP" || Plug-n-Play BIOS
|-
|"$PCI" || PCI BIOS
|-
|"$PIR" || PCI IRQ Routing Table
|-
|"$PMM" || POST Memory Manager
|-
|"$BC$" || PXE Base Code (BC) Rom ID
|-
|"$ACF" || Plug-n-Play Auto Config
|-
|"$BLK" || Unknown
|-
|"$WDS" || Unknown
|-
|"$SNY" || Unknown
|-
|"$SDS" || Unknown
|-
|"$SDM" || Unknown
|-
|"$IRT" || Unknown
|-
|"$CFD" || Unknown
|-
|"$BBS" || Unknown
|-
|"$ASF" || Unknown
|-
|"$$CT" || Unknown
|-
|"MPTN" || Unknown
|-
|"PCI " || Unknown
|-
|}
== See Also ==
Line 39 ⟶ 85:
[http://www-pc.uni-regensburg.de/hardware/TECHDOK/BIOS_32BIT_SERVICE.PDF Phoenix BIOS 32-bit service proposal]
[https://groups.google.com/forum/#!msg/alt.os.development/pgREOB7YEws/J3UZ1sbvQnsJ Google Groups post about known services]
[[Category:BIOS]]
[[Category:X86]]
|