BIOS and BMC Communication
There is one interface for BMC and BIOS communication, KCS. BIOS uses IPMI standard and OEM commands, and
follows their message format as well as protocol to communicate with BMC. BIOS must send/get complete Request and
Response data to/from BMC; otherwise, it may make a mess of BMC. For example, BMC will response “Get Device ID”
with 12-16 bytes data. Even if BIOS just needs data byte 4 and 5, it must read all response bytes data rather than 5
bytes.( Refer KCS interface section 9)
Overview
Purpose and Scope
This document specifies the server BIOS design guideline to support BMC (Base-board Management Controller) firmware as
well as SMS (server management software). The BMC is a micro-controller support IPMI (Intelligent Platform Management
Interface) for server management. BMC and its related circuit may be built on server motherboard or on a daughter board.
BMC firmware needs server BIOS providing some system information and reaction for server management. For SMS,
SMBIOS is a major interface that SMS can get system information and status.
KCS
Keyboard Controller Style (KCS) interface follows Intel 8742 bit definitions and operation. Data is transferred across the
KCS interface using a per-byte handshake.
System I/O Ports and Registers
To avoid SMS KCS transfer being interrupted by BIOS SMI handler, BIOS should use other KCS I/O port than SMS. The
default port CA2h and CA3h is reserved for SMS.
For the details of KCS registers definition, please refer chapter 9 of IPMI specification v2.0.
Chapter 3 — BIOS
Micro-Controller AST
Series
User
BIOS in SMM
I/O Address
0xCA8
0xCAC
55