Skip to content

Commit

Permalink
Verify frequency attributes across nodes
Browse files Browse the repository at this point in the history
  -Existing code ensures consistency of frequency data
   across all modules in istep6.12.
  -In a multi-drawer config this data needs to be
   consistent across all drawers.
  -Master drawer sends the frequency data to all the
   other via IPC mechanism.
  -This data is compared and error is returned if there
   is a mismatch.

Change-Id: I922d32456c9d3c4e53dae528f088dbb013c3ded9
RTC:158036
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/54825
CI-Ready: SWATHI M. BHATTIPROLU <bhmadhur@in.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Richard Ward <rward15@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
  • Loading branch information
bhmadhur authored and wghoffa committed Apr 5, 2018
1 parent ad4459f commit 571e1d8
Show file tree
Hide file tree
Showing 11 changed files with 944 additions and 9 deletions.
8 changes: 7 additions & 1 deletion src/include/usr/hwas/common/hwasCallout.H
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2012,2017 */
/* Contributors Listed Below - COPYRIGHT 2012,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
Expand Down Expand Up @@ -61,6 +61,12 @@ typedef enum {
GARD_Void = 0xFF
} GARD_ErrorType;

enum ErrorCategory {
ERR_CATEGORY_INVALID_SERIAL = 0x01,
ERR_CATEGORY_INVALID_PART = 0x02,

};

// from src/epub/fsp/epub_service_codes.H v1.24.24.4
// - Any additions should be added to FipS code first

Expand Down
2 changes: 1 addition & 1 deletion src/include/usr/isteps/hwpf_reasoncodes.H
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2013,2017 */
/* Contributors Listed Below - COPYRIGHT 2013,2018 */
/* [+] Google Inc. */
/* [+] International Business Machines Corp. */
/* */
Expand Down
10 changes: 9 additions & 1 deletion src/include/usr/isteps/istep_reasoncodes.H
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2015,2017 */
/* Contributors Listed Below - COPYRIGHT 2015,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
Expand Down Expand Up @@ -60,6 +60,7 @@ namespace ISTEP
MOD_SET_IPL_PARMS = 0x1D,
MOD_OCC_XSTOP_HANDLER = 0x1E,
MOD_VERIFY_AND_MOVE_PAYLOAD = 0x1F,
MOD_FREQ_ATTR_DATA = 0x20,
};

/**
Expand Down Expand Up @@ -114,6 +115,13 @@ namespace ISTEP
RC_P9N_DD1_NOT_SUPPORTED = ISTEP_COMP_ID | 0x35,
RC_PREVENT_REBOOT_IN_MFG_TERM_MODE = ISTEP_COMP_ID | 0x36,
RC_FAILED_WRITE_SPR = ISTEP_COMP_ID | 0x37,
RC_FREQ_ATTR_TIMER_EXPIRED = ISTEP_COMP_ID | 0x38,
RC_FREQ_ATTR_TIMER_THREAD_FAIL = ISTEP_COMP_ID | 0x39,
RC_FLOOR_FREQ_MISMATCH = ISTEP_COMP_ID | 0x40,
RC_CEIL_FREQ_MISMATCH = ISTEP_COMP_ID | 0x41,
RC_TURBO_FREQ_MISMATCH = ISTEP_COMP_ID | 0x42,
RC_ULTRA_TURBO_FREQ_MISMATCH = ISTEP_COMP_ID | 0x43,
RC_NEST_FREQ_MISMATCH = ISTEP_COMP_ID | 0x44,
};

};
Expand Down
2 changes: 2 additions & 0 deletions src/include/usr/mbox/ipc_msg_types.H
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ namespace IPC
IPC_QUERY_CHIPINFO,
IPC_SET_SBE_CHIPINFO,
IPC_CLOSE_TCES,
IPC_FREQ_ATTR_DATA, // frequency attribute data from master to other drawers

};

}; // namespace IPC
Expand Down
1 change: 1 addition & 0 deletions src/include/usr/mbox/mbox_queues.H
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ namespace MBOX
HB_COALESCE_MSGQ = 11, //host_coalesce response
HB_SBE_SYSCONFIG_MSGQ = 12, //For SBE System Config response
HB_CLOSE_TCES_MSGQ = 13, // close/disable TCEs
HB_FREQ_ATTR_DATA_MSGQ = 14, // freq attributes data from master to all other drawers

// Add HB mbox msg queue ids (services) before this line
HB_LAST_VALID_MSGQ, // end of valid HB mbox msgQ ids
Expand Down
14 changes: 14 additions & 0 deletions src/usr/isteps/istep21/call_host_start_payload.C
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@
#include <p9_int_scom.H>
#include <sbeio/sbeioif.H>
#include <runtime/runtime.H>
#include "freqAttrData.H"

#ifdef CONFIG_DRTM_TRIGGERING
#include <secureboot/drtm.H>
Expand Down Expand Up @@ -192,6 +193,19 @@ void* call_host_start_payload (void *io_pArgs)

do{

// Synchronize the frequency attribute across drawers
l_errl = ISTEP_21::sendFreqAttrData();

if(l_errl)
{
TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
"call_host_start_payload: ERROR: sendFreqAttrData Failed");
l_errl->collectTrace("ISTEPS_TRACE",256);
errlCommit(l_errl, ISTEP_COMP_ID );

break;
}

// Place a separator in the TPM to indicate we are passing control
// to the next level of firmware in the stack. Send the synchronous
// message to make sure that the traces are flushed prior to the daemon
Expand Down

0 comments on commit 571e1d8

Please sign in to comment.