tail head cat sleep
QR code linking to this page

manページ  — BIOS

名称

bios_sigsearch, bios32_SDlookup, bios32 – PC BIOS との相互作用

内容

書式

#include <sys/param.h>
#include <vm/vm.h>
#include <vm/pmap.h>
#include <machine/param.h>
#include <machine/pmap.h>
#include <machine/pc/bios.h>

u_int32_t
bios_sigsearch(u_int32_t start, u_char *sig, int siglen, int paralen, int sigofs);

int
bios32_SDlookup(struct bios32_SDentry *ent);

int
bios32(struct bios_regs *br, u_int offset, u_short segment);

BIOS_PADDRTOVADDR(addr);

BIOS_VADDRTOPADDR(addr);
extern struct bios32_SDentry PCIbios;
extern struct SMBIOS_table SMBIOStable;
extern struct DMI_table DMItable;

解説

これらの関数は、BIOS 関数と x86 PC アーキテクチャシステムで出会うデータを 取り扱うための、汎用インタフェースを提供します。
bios_sigsearch()
  サービスシグネチャの BIOS アドレス空間を検索します。 サービスシグネチャは、 大抵はアンダスコアで囲まれている大文字の ASCII 文字列です。 検索は、 start から、または start が 0 の場合には BIOS の最初から始まります。 siglen バイトの BIOS イメージと sig とが、現在位置から sigofs バイトのオフセットにおいて比較されます。 マッチしないことが分かると、現在位置が paralen バイト増加されて検索が繰り返されます。 シグネチャが見つかった場合には、その実効物理アドレスが返されます。 シグネチャが見つからなかった場合には、0 が返されます。
BIOS_VADDRTOPADDR()
  カーネル仮想アドレス addr に対応する実効物理アドレスを返します。
BIOS_VADDRTOPADDR()
  実効物理アドレス addr に対応するカーネル仮想アドレスを返します。
SMBIOStable
  NULL でない場合は、システム起動時に システムマネージメント BIOS (System Management BIOS; SMBIOS) テーブル から読み込まれた情報を含んでいる struct SMBIOS_table 構造体を指します。
DMItable
  NULL でない場合は、システム起動時に デスクトップマネージメントインタフェース (Desktop Management Interface; DMI) パラメータテーブル から読み込まれた情報を含んでいる struct DMI_table 構造体を指します。

BIOS32

システム起動時に、BIOS32 サービスディレクトリ (PCI 仕様の一部) の ために BIOS がスキャンされ、ディレクトリの存在が記録されます。 これは後で、他のサービスの場所を特定するために使用できます。
bios32_SDlookup()
  引数 entident フィールドで渡される 4 バイトの識別子にマッチする BIOS32 サービス の場所を特定しようと試みます。
bios32()
  bios32 関数を呼び出します。 これは関数が、カーネルセグメント内で動作できることを 仮定しています (通常の場合)。 エントリポイントの仮想アドレスは entry で与えられ、 関数へのレジスタ引数は args で与えられます。
PCIbios
  NULL でない場合は、システム起動時に見つかった PCI BIOS エントリポイントを記述する struct bios32_SDentry 構造体を指します。

BIOS (9) August 1, 1997

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.

One of the advantages of using UNIX to teach an operating systems course is the sources and documentation will easily fit into a student's briefcase.
— John Lions