BIOS(9)

명칭
bios_sigsearch, bios32_SDlookup, bios32 - PC BIOS 와의 상호작용

서식
<sys/types.h> <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) void bios32(caddr_t entry, struct bios32_args *args) 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 address 공간을 검색합니다. 서비스 서명은, 대체로는 언더스코어로 둘러싸여 있는 대문자의 ASCII 캐릭터 라인입니다. 검색은, start (으)로부터, 또는 start 하지만 0 의 경우에는 BIOS 의 최초부터 시작됩니다. siglen 바이트의 BIOS 이미지와 sig (이)가, 현재 위치로부터 sigofs 바이트의 오프셋(offset)에 대해 비교됩니다. 매치 하지 않는 것이 밝혀지면(자), 현재 위치가 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()
    인수 ent 의 ident 필드에서 건네받는 4 바이트의 식별자에 매치 하는 BIOS32 서비스 의 장소를 특정하려고 시도합니다.

bios32()
    bios32 함수를 호출합니다. 이것은 함수가, 커널 세그먼트(segment)내에서 동작할 수 있는 것을 가정하고 있습니다 (통상의 경우). 엔트리 포인트의 가상 주소는 entry 그리고 주어져 함수에의 레지스터 인수는 args 그리고 주어집니다.

PCIbios
    NULL 가 아닌 경우는, 시스템 기동시에 발견되었다 PCI BIOS 엔트리 포인트를 기술한다 struct bios32_SDentry 구조체를 가리킵니다.