A method and apparatus are provided for implementing coexistence and
cooperation between system firmware and debug code. A service processor is
coupled to a machine under test for sending system firmware test functions
to the machine under test and receiving test data from the machine under
test. A host computer is coupled to the service processor for sending
bring-up tool debug test functions to the machine under test and receiving
test data from the machine under test. The system firmware starts without
user intervention on initial power-on routine of the machine under test.
When the host computer receives a user request, the host computer notifies
the service processor. The bring-up tool debug test functions are started
responsive to the user request. The system firmware can be used for
certain operations to a certain point in an operational test sequence of
the machine under test and then the debug tool debug test functions are
used for other functions that are not implemented in the system firmware.
A user can use either the system firmware or the bring-up tool debug test
functions at any time.