diff options
author | msmith <msmith@FreeBSD.org> | 1997-08-01 06:04:08 +0000 |
---|---|---|
committer | msmith <msmith@FreeBSD.org> | 1997-08-01 06:04:08 +0000 |
commit | f0394689ef42ab018b191ec97a3848c720fcbd80 (patch) | |
tree | c3e0f593d07ad6324e302c52389ee0d380ce7423 /share/man/man9/bios.9 | |
parent | adbeb9fc1cb509a33f503f32631b9b12edd96f30 (diff) | |
download | FreeBSD-src-f0394689ef42ab018b191ec97a3848c720fcbd80.zip FreeBSD-src-f0394689ef42ab018b191ec97a3848c720fcbd80.tar.gz |
Manpage for new BIOS functionality.
(Skeletal, could do with some extra references.)
Diffstat (limited to 'share/man/man9/bios.9')
-rw-r--r-- | share/man/man9/bios.9 | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/share/man/man9/bios.9 b/share/man/man9/bios.9 new file mode 100644 index 0000000..1659ee3 --- /dev/null +++ b/share/man/man9/bios.9 @@ -0,0 +1,114 @@ +.\" $Id$ +.\" +.\" Copyright (c) 1997 Michael Smith +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +.\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.Dd Aug 1, 1997 +.Dt FETCH 9 +.Os FreeBSD +.Sh NAME +.Nm bios_sigsearch , +.Nm bios32_SDlookup , +.Nm bios32 +.Nd Interact with PC BIOS. +.Sh SYNOPSIS +.Fd #include <machine/pc/bios.h> +.Ft u_int32_t +.Fn bios_sigsearch "u_int32_t start" "u_char *sig" "int siglen" "int paralen" "int sigofs" +.Ft int +.Fn bios32_SDlookup "struct bios32_SDentry *ent" +.Ft void +.Fn bios32 "caddr_t entry" "struct bios32_args *args" +.Fn BIOS_PADDRTOVADDR "addr" +.Fn BIOS_VADDRTOPADDR "addr" +.Ft extern struct bios32_SDentry PCIbios; +.Ft extern struct SMBIOS_table SMBIOStable; +.Ft extern struct DMI_table DMItable; +.Sh DESCRIPTION +These functions provide a general-purpose interface for dealing with +the BIOS functions and data encountered on x86 PC-architecture systems. +.Bl -tag -width 20n +.It Fn bios_sigsearch +Searches the BIOS address space for a service signature, usually an +uppercase ASCII sequence surrounded by underscores. The search begins +at +.Fa start , +or at the beginning of the BIOS if +.Fa start +is zero. +.Fa siglen +bytes of the BIOS image and +.Fa sig +are compared at +.Fa sigofs +bytes offset from the current location. If no match is found, the +current location is incremented by +.Fa paralen +bytes and the search repeated. If the signature is found, its effective +physical address is returned. If no signature is found, zero is returned. +.It Fn BIOS_VADDRTOPADDR +Returns the effective physical address which corresponds to the kernel +virtual address +.Fa addr . +.It Fn BIOS_VADDRTOPADDR +Returns the kernel virtual address which corresponds to the effective +physical address +.Fa addr . +.It SMBIOStable +If not NULL, points to a +.Ft struct SMBIOS_table +structure containing information read from the System Management BIOS table +during system startup. +.It DMItable +If not NULL, points to a +.Ft struct DMI_table +structure containing information read from the Desktop Management Interface +parameter table during system startup. +.El +.Sh BIOS32 +At system startup, the BIOS is scanned for the BIOS32 Service Directory +(part of the PCI specification), and the existence of the directory is +recorded. This can then be used to locate other services. +.Bl -tag -width 20n +.It Fn bios32_SDlookup +Attempts to locate the BIOS32 service matching the 4-byte identifier +passed in the +.Fa ident +field of the +.Fa ent +argument. +.It Fn bios32 +Calls a bios32 function. This presumes that the function is capable of +working within the kernel segment (normally the case). The virtual address +of the entrypoint is supplied in +.Fa entry +and the register arguments to the function are supplied in +.Fa args . +.It PCIbios +If not NULL, points to a +.Ft struct bios32_SDentry +structure describing the PCI BIOS entrypoint which was found during system +startup. +.El + |