diff options
author | Joe McGill <jmcgill@us.ibm.com> | 2015-10-30 13:49:19 -0500 |
---|---|---|
committer | Stephen Cprek <smcprek@us.ibm.com> | 2016-02-19 15:31:49 -0600 |
commit | d67a26201583d5b02679b07cf7eda4d5d469c603 (patch) | |
tree | 0fd702369c9589cf885042215177eccda2fc4d3a /src/import/chips | |
parent | ee2a062059e865e564720fc3ee6618480586c416 (diff) | |
download | talos-hostboot-d67a26201583d5b02679b07cf7eda4d5d469c603.tar.gz talos-hostboot-d67a26201583d5b02679b07cf7eda4d5d469c603.zip |
p9_setup_bars L1 delivery
HWP shell
Attributes for PSI,FSP only
Change-Id: Iecbf392f56536f6bde7623a12e3f518c119fc725
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/21636
Tested-by: Jenkins Server
Reviewed-by: CHRISTINA L. GRAVES <clgraves@us.ibm.com>
Reviewed-by: Thi N. Tran <thi@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/23169
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import/chips')
3 files changed, 162 insertions, 0 deletions
diff --git a/src/import/chips/p9/procedures/hwp/nest/p9_setup_bars.C b/src/import/chips/p9/procedures/hwp/nest/p9_setup_bars.C new file mode 100644 index 000000000..0a7696ac4 --- /dev/null +++ b/src/import/chips/p9/procedures/hwp/nest/p9_setup_bars.C @@ -0,0 +1,45 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: chips/p9/procedures/hwp/nest/p9_setup_bars.C $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* EKB Project */ +/* */ +/* COPYRIGHT 2015 */ +/* [+] International Business Machines Corp. */ +/* */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* IBM_PROLOG_END_TAG */ +/// +/// @file p9_setup_bars.C +/// @brief Configure nest unit base address registers (FAPI2) +/// + +// *HWP HWP Owner: Joe McGill jmcgill@us.ibm.com +// *HWP FW Owner: Thi Tran thi@us.ibm.com +// *HWP Team: Nest +// *HWP Level: 1 +// *HWP Consumed by: HB,FSP + +//----------------------------------------------------------------------------------- +// Includes +//----------------------------------------------------------------------------------- +#include <p9_setup_bars.H> + + +//----------------------------------------------------------------------------------- +// Function definitions +//----------------------------------------------------------------------------------- +fapi2::ReturnCode p9_setup_bars(std::vector<fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>>& i_proc_chips, + const p9_setup_bars_operation i_op) +{ + FAPI_INF("Start"); + FAPI_INF("End"); + return fapi2::current_err; +} diff --git a/src/import/chips/p9/procedures/hwp/nest/p9_setup_bars.H b/src/import/chips/p9/procedures/hwp/nest/p9_setup_bars.H new file mode 100644 index 000000000..cd44e1d52 --- /dev/null +++ b/src/import/chips/p9/procedures/hwp/nest/p9_setup_bars.H @@ -0,0 +1,97 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: chips/p9/procedures/hwp/nest/p9_setup_bars.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* EKB Project */ +/* */ +/* COPYRIGHT 2015 */ +/* [+] International Business Machines Corp. */ +/* */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* IBM_PROLOG_END_TAG */ +/// +/// @file p9_setup_bars.H +/// @brief Configure nest unit base address registers (FAPI2) +/// +/// Program nest unit BAR registers, driven by attributes representing system +/// memory map (including MMIO). +/// +/// Platform Notes: +/// This HWP has multiple IPL use cases. In all cases the HWP input +/// is expected to contain an entry for each chip in the SMP at the +/// time/scope of the invocation: +/// +/// 1. HB (drawer scope): +/// All local chip/local node resources should be initialized +/// at this time (HWP boolean flag controlling this function +/// set to true). +/// +/// 2. FSP (drawer integration): +/// All local chip/local node resources should already have +/// been initialized in each drawer, so the HWP boolean flag +/// controlling this function should be set to false. +/// +/// + +// *HWP HWP Owner: Joe McGill jmcgill@us.ibm.com +// *HWP FW Owner: Thi Tran thi@us.ibm.com +// *HWP Team: Nest +// *HWP Level: 1 +// *HWP Consumed by: HB,FSP + +#ifndef _P9_SETUP_BARS_H_ +#define _P9_SETUP_BARS_H_ + + +//----------------------------------------------------------------------------------- +// Includes +//----------------------------------------------------------------------------------- +#include <fapi2.H> + + +//----------------------------------------------------------------------------------- +// Structure definitions +//----------------------------------------------------------------------------------- + +// HWP argument, define supported execution modes +enum p9_setup_bars_operation +{ + // call from HB (init resources inside drawer boundary) + BAR_SETUP_PHASE1 = 1, + // call from FSP (init resources which cross drawer boundaries) + BAR_SETUP_PHASE2 = 2 +}; + +// function pointer typedef definition for HWP call support +typedef fapi2::ReturnCode (*p9_setup_bars_FP_t) (std::vector<fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>>&, + const p9_setup_bars_operation); + +//----------------------------------------------------------------------------------- +// Constant definitions +//----------------------------------------------------------------------------------- + +extern "C" { + +//----------------------------------------------------------------------------------- +// Function prototype +//----------------------------------------------------------------------------------- + +/// @brief Program nest unit BAR registers, driven by attributes representing +// system memory map (including MMIO) +/// @param[in] i_proc_chips => Vector of processor chip targets +/// @param[in] i_op => Enumerated type representing BAR setup phase (HB or FSP) +/// @return FAPI_RC_SUCCESS if the setup completes successfully, +// + fapi2::ReturnCode p9_setup_bars(std::vector<fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>>& i_proc_chips, + const p9_setup_bars_operation i_op); + +} //extern"C" + +#endif //_P9_SETUP_BARS_H_ diff --git a/src/import/chips/p9/procedures/hwp/nest/p9_setup_bars.mk b/src/import/chips/p9/procedures/hwp/nest/p9_setup_bars.mk new file mode 100644 index 000000000..1652a1923 --- /dev/null +++ b/src/import/chips/p9/procedures/hwp/nest/p9_setup_bars.mk @@ -0,0 +1,20 @@ +# IBM_PROLOG_BEGIN_TAG +# This is an automatically generated prolog. +# +# $Source: chips/p9/procedures/hwp/nest/p9_setup_bars.mk $ +# +# IBM CONFIDENTIAL +# +# EKB Project +# +# COPYRIGHT 2015 +# [+] International Business Machines Corp. +# +# +# The source code for this program is not published or otherwise +# divested of its trade secrets, irrespective of what has been +# deposited with the U.S. Copyright Office. +# +# IBM_PROLOG_END_TAG +PROCEDURE=p9_setup_bars +$(call BUILD_PROCEDURE) |