bios(9)
NAME
- bios_sigsearch, bios32_SDlookup, bios32 - interact with PC
- BIOS
SYNOPSIS
#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;
DESCRIPTION
- These functions provide a general-purpose interface for
- dealing with the
BIOS functions and data encountered on x86 PC-architecture
- systems.
- bios_sigsearch() Searches the BIOS address space for a
- service sig
- nature, usually an uppercase ASCII se
- quence surrounded by underscores. The search
- begins at
start, or at the beginning of the BIOS
- if start is
zero. siglen bytes of the BIOS image
- and sig are
compared at sigofs bytes offset from
- the current
location. If no match is found, the
- current location is incremented by 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.
- BIOS_VADDRTOPADDR() Returns the effective physical address
- which corre
- sponds to the kernel virtual address
- addr.
- BIOS_PADDRTOVADDR() Returns the kernel virtual address
- which corre
- sponds to the effective physical ad
- dress addr.
- SMBIOStable If not NULL, points to a struct
- SMBIOS_table struc
- ture containing information read from
- the System
Management BIOS table during system
- startup.
- DMItable If not NULL, points to a struct
- DMI_table structure
- containing information read from the
- Desktop Management Interface parameter table dur
- ing system
startup.
BIOS32
- At system startup, the BIOS is scanned for the BIOS32 Ser
- vice Directory
(part of the PCI specification), and the existence of the
- directory is
recorded. This can then be used to locate other services.
- bios32_SDlookup() Attempts to locate the BIOS32 service
- matching the
- 4-byte identifier passed in the ident
- field of the
ent argument.
- bios32() Calls a bios32 function. This pre
- sumes that the
- function is capable of working within
- the kernel
segment (normally the case). The vir
- tual address
of the entrypoint is supplied in entry
- and the register arguments to the function are
- supplied in
args.
- PCIbios If not NULL, points to a struct
- bios32_SDentry
- structure describing the PCI BIOS en
- trypoint which
was found during system startup.
- BSD August 1, 1997