A method, apparatus, and computer instructions for determining validity of
and updating a microcode image. Responsive to initiation of an update
process, a first validity indicator is checked to determine whether a
first microcode image in the memory is valid. In response to the first
microcode image being valid, a second validity indicator is set indies,
to indicate that a second microcode image is invalid, and the update
process is allowed to update the second microcode image to form an
updated microcode image. A determination is made as to whether the
updated microcode image is valid. The second validity indicator is set to
indicate that the updated microcode is valid if the updated image is
valid. The second validity indicator is checked during booting of a data
processing system. If the second validity indicator is valid, the updated
microcode will be loaded.