4 firmware, Code, Structure and functionality – Kontron AM5010 IPMI User Manual
Page 27: 2 firmware, Upgrade, 5 firmware, Configuration, Refer to 6.4.2), Am5010 ipmi firmware user guide
AM5010
IPMI Firmware User Guide
ID 1022-2948, Rev. 1.0
© 2008 Kontron AG
Page 27
6.4 Firmware
Code
6.4.1 Structure and Functionality
MMC firmware code is organized into boot code and operational code, both of which are
stored in a flash module. Upon an MMC reset, the MMC executes the boot code and performs
the following:
• Self test to verify the status of its hardware and memory.
• Performs a checksum of the operational code.
• Communicates with the Firmware Upgrade Manager (FWUM) in order to inform the
MC watchdog that the actual MMC firmware is suitable for execution. Upon successful
verification of the operational code checksum, the firmware will jump to the operational
code.
Operational code is upgradeable in-the-field.
6.4.2 Firmware Upgrade
The standard way to upgrade the MMC’s operational code is to use the open tool ‘ipmitool’
[1] together with an image file. Ipmitool allows the downloading (‘ipmitool fwum download
…’) and activation (‘ipmitool fwum upgrade’) of the new operational code and saves an
existing one. The rollback to the formerly running operational code is possible as well
(‘ipmitool fwum rollback’).
All IPMI interfaces which are offered by ipmitool are usable (KCS interface, IPMB bus,
LAN). This allows local upgrade or remote upgrade.
Files which contain an image of operational code have the module type (AM5010) and the
string “FWUM” in its name.
During the download process the currently running operational code operates as usual until
the upgrade command is issued. During the upgrade process the MMC is off line for about 45
seconds while the boot code is re-organizing the firmware storage and afterwards starts the
new operational code. If this doesn’t succeed, after a time out the boot code performs an
automatic rollback to the last working operational code.
6.5 Firmware
Configuration
For software that uses the local KCS connection to the MMC, it may be more favorable to set
up interrupt based KCS communications. This may help to speed up data exchange via KCS
considerably. By default, the MMC does not generate interrupts to the local CPU at all. The
best way to change this is to use the IPMI menu in BIOS (Advanced -> IPMI 1.5
Configuration -> KCS-SMS IRQ). Possible options are: IRQ10, IRQ11 or disabled (default
setting).
Another method of interrupt configuration is to do it ‘manually’ executing an ‘OEM Set
Firmware Parameters Command’ (refer to 6.2.2.2, Set Firmware Parameters.
It is strongly recommended to make changes in this area with the help of the BIOS. The BIOS
code creates an ‘IPMI Device Information Record (Type 38h)’ entry in the SMBIOS Table.