System information
4.3 VGA BIOS
related operating system to obtain the information of the host computer. To be flexible as
possible, the CHARM uses another possibility to start a program on the host computer.
PCI expansion devices can provide a program to initialize itself and the related function
on the host system [59]. The code is stored at the expansion ROM of the device and is
read out by the computer BIOS during the POST
7
phase. At PC-compatible systems the
expansion ROM init function has to be native Intel x86 code [59]. The CHARM expansion
ROM is appended with an additional code beyond the VGA BIOS functions (section 4.3
gives an overview of the VGA BIOS functions). It provides functions for the CHARM-host
communication. The communication mechanism of the CHARM and the software which
run on the host CPU was called BIOS Remote Procedure Call (BIOS-RPC). The following
tasks are processed by the init function of the CHARM expansion ROM:
• Initialize the VGA interrupt vector of the host system.
• Setup the BIOS video control area of the host computer.
• Ask the CHARM for RPC messages.
• Process the received and the built-in RPC messages.
RPC Message
An RPC message is either a command or a reply of a command. The RPC message consists
of a command ID, a command flag and an optional data field. Figure 4.15 shows the format
of a RPC message. The command flag is marked with an F in picture 4.15 and defines
whether a message is a command or a reply. If the RPC message is an RPC command, the
command flag has to be set. The Command ID assigns a message to a specific command.
For example, the display of a text message is one of the RPC commands. Table 4.5 lists
the RPC commands. The size of the data field defines the size in bytes of the Data Field.
Finally, the Data Field is an optional field which contains either a sub-command or the
requested data of an RPC command.
Size of the Data Field
Data Field
(0 - 64kB)
31
Command IDF
30 0
0x4
0x0
0x8
0xFFFF
Figure 4.15: Data format of a RPC message.
The BIOS-RPC is bidirectional which allows also BIOS functions to execute commands on
the CHARM. An answer of an RPC message is again an RPC message. The communication
between CHARM and host is done via the PCI bus.
7
Power On Self Test.
61