123 lines
4 KiB
Groff
123 lines
4 KiB
Groff
.\" %FreeBSD: src/share/man/man9/bios.9,v 1.4.2.6 2001/12/17 11:30:18 ru Exp %
|
|
.\"
|
|
.\" 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.
|
|
.\"
|
|
.\" $FreeBSD$
|
|
.Dd Aug 1, 1997
|
|
.Dt BIOS 9
|
|
.Os
|
|
.Sh 名称
|
|
.Nm bios_sigsearch ,
|
|
.Nm bios32_SDlookup ,
|
|
.Nm bios32
|
|
.Nd PC BIOS との相互作用
|
|
.Sh 書式
|
|
.In sys/types.h
|
|
.In 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"
|
|
.Vt extern struct bios32_SDentry PCIbios ;
|
|
.Vt extern struct SMBIOS_table SMBIOStable ;
|
|
.Vt extern struct DMI_table DMItable ;
|
|
.Sh 解説
|
|
これらの関数は、BIOS 関数と x86 PC アーキテクチャシステムで出会うデータを
|
|
取り扱うための、汎用インタフェースを提供します。
|
|
.Bl -tag -width 20n
|
|
.It Fn bios_sigsearch
|
|
サービスシグネチャの BIOS アドレス空間を検索します。
|
|
サービスシグネチャは、
|
|
大抵はアンダスコアで囲まれている大文字の ASCII 文字列です。
|
|
検索は、
|
|
.Fa start
|
|
から、または
|
|
.Fa start
|
|
が 0 の場合には BIOS の最初から始まります。
|
|
.Fa siglen
|
|
バイトの BIOS イメージと
|
|
.Fa sig
|
|
とが、現在位置から
|
|
.Fa sigofs
|
|
バイトのオフセットにおいて比較されます。
|
|
マッチしないことが分かると、現在位置が
|
|
.Fa paralen
|
|
バイト増加されて検索が繰り返されます。
|
|
シグネチャが見つかった場合には、その実効物理アドレスが返されます。
|
|
シグネチャが見つからなかった場合には、0 が返されます。
|
|
.It Fn BIOS_VADDRTOPADDR
|
|
カーネル仮想アドレス
|
|
.Fa addr
|
|
に対応する実効物理アドレスを返します。
|
|
.It Fn BIOS_VADDRTOPADDR
|
|
実効物理アドレス
|
|
.Fa addr
|
|
に対応するカーネル仮想アドレスを返します。
|
|
.It SMBIOStable
|
|
NULL でない場合は、システム起動時に
|
|
システムマネージメント BIOS (System Management BIOS; SMBIOS) テーブル
|
|
から読み込まれた情報を含んでいる
|
|
.Ft struct SMBIOS_table
|
|
構造体を指します。
|
|
.It DMItable
|
|
NULL でない場合は、システム起動時に
|
|
デスクトップマネージメントインタフェース
|
|
(Desktop Management Interface; DMI) パラメータテーブル
|
|
から読み込まれた情報を含んでいる
|
|
.Ft struct DMI_table
|
|
構造体を指します。
|
|
.El
|
|
.Sh BIOS32
|
|
システム起動時に、BIOS32 サービスディレクトリ (PCI 仕様の一部) の
|
|
ために BIOS がスキャンされ、ディレクトリの存在が記録されます。
|
|
これは後で、他のサービスの場所を特定するために使用できます。
|
|
.Bl -tag -width 20n
|
|
.It Fn bios32_SDlookup
|
|
引数
|
|
.Fa ent
|
|
の
|
|
.Fa ident
|
|
フィールドで渡される 4 バイトの識別子にマッチする BIOS32 サービス
|
|
の場所を特定しようと試みます。
|
|
.It Fn bios32
|
|
bios32 関数を呼び出します。
|
|
これは関数が、カーネルセグメント内で動作できることを
|
|
仮定しています (通常の場合)。
|
|
エントリポイントの仮想アドレスは
|
|
.Fa entry
|
|
で与えられ、
|
|
関数へのレジスタ引数は
|
|
.Fa args
|
|
で与えられます。
|
|
.It PCIbios
|
|
NULL でない場合は、システム起動時に見つかった
|
|
PCI BIOS エントリポイントを記述する
|
|
.Ft struct bios32_SDentry
|
|
構造体を指します。
|
|
.El
|