summaryrefslogtreecommitdiffstats
path: root/share/man/man9/bios.9
diff options
context:
space:
mode:
authormsmith <msmith@FreeBSD.org>1997-08-01 06:04:08 +0000
committermsmith <msmith@FreeBSD.org>1997-08-01 06:04:08 +0000
commitf0394689ef42ab018b191ec97a3848c720fcbd80 (patch)
treec3e0f593d07ad6324e302c52389ee0d380ce7423 /share/man/man9/bios.9
parentadbeb9fc1cb509a33f503f32631b9b12edd96f30 (diff)
downloadFreeBSD-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.9114
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
+
OpenPOWER on IntegriCloud