From bc843b94d9125b5e864672ec8de20ff92bfca61c Mon Sep 17 00:00:00 2001 From: Marty Gloff Date: Thu, 19 May 2016 09:30:00 -0500 Subject: Platform support for FAPI2 winkle/stop ring accessors Add getMvpdRing function and supporting utility functions by porting P8 code and replacing FAPI interfaces with FAPI2 interfaces. Change-Id: Iee290652c559015b2113521747c491ee2bb154c2 Original-Change-Id: Ied4895f560177a8c68e57ac47db9d9769a04dbdd RTC:142622 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/24800 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell Reviewed-by: Claus M. Olsen Reviewed-by: Jennifer A. Stofer Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/26926 Tested-by: Jenkins Server --- .../procedures/hwp/accessors/p9_mvpd_ring_funcs.H | 78 ++++++++++++++++++++++ .../procedures/hwp/accessors/p9_mvpd_ring_funcs.mk | 23 +++++++ 2 files changed, 101 insertions(+) create mode 100644 src/import/chips/p9/procedures/hwp/accessors/p9_mvpd_ring_funcs.H create mode 100644 src/import/chips/p9/procedures/hwp/accessors/p9_mvpd_ring_funcs.mk (limited to 'src/import/chips/p9/procedures/hwp/accessors') diff --git a/src/import/chips/p9/procedures/hwp/accessors/p9_mvpd_ring_funcs.H b/src/import/chips/p9/procedures/hwp/accessors/p9_mvpd_ring_funcs.H new file mode 100644 index 000000000..4e9f70112 --- /dev/null +++ b/src/import/chips/p9/procedures/hwp/accessors/p9_mvpd_ring_funcs.H @@ -0,0 +1,78 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: chips/p9/procedures/hwp/accessors/p9_mvpd_ring_funcs.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* EKB Project */ +/* */ +/* COPYRIGHT 2012,2016 */ +/* [+] 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 */ +// $Id: p9_mvpd_ring_funcs.H,v 1.4 2014/07/16 19:07:08 cswenson Exp $ +/** + * @file p9_mvpd_ring_funcs.H + * + * @brief Prototype for p9_mvpd_ring_funcs() + */ + +#ifndef _HWP_MVPDRINGFUNCS_ +#define _HWP_MVPDRINGFUNCS_ + +#include + +namespace fapi2 +{ +/// +/// @brief Enumeration of mvpdRingFunc ops +/// +enum mvpdRingFuncOp +{ + MVPD_RING_GET, + MVPD_RING_SET, +}; + +extern "C" +{ + + /** + * @brief get or set the requested ring for the record and keyword + * for the specified target CPU. + * + * detailed comments on get and set are in the + * getMvpdRing.H and setMvpdRing.H and apply here as well. + * + * @param i_mvpdRingFuncOp - indicate get or set via enum mvpdRingFuncOp + * @param i_record - Record enumerator + * @param i_keyword - Keyword enumerator + * @param i_fapiTarget - cpu target + * @param i_chipletId - Chiplet ID + * @param i_ringId - Ring ID + * @param i_pRingBuf - The buffer to receive or send the ring + * @param io_rRingBufsize - Size of ring / ring buffer + * + * @return fapi2::ReturnCode - FAPI_RC_SUCCESS if success, + * relevant error code for failure. + */ + ReturnCode mvpdRingFunc(mvpdRingFuncOp i_mvpdRingFuncOp, + MvpdRecord i_record, + MvpdKeyword i_keyword, + const Target& + i_fapiTarget, + const uint8_t i_chipletId, + const uint8_t i_ringId, + uint8_t* i_pRingBuf, + uint32_t& io_rRingBufsize); + +} // extern "C" + +} // namespace fapi2 + +#endif diff --git a/src/import/chips/p9/procedures/hwp/accessors/p9_mvpd_ring_funcs.mk b/src/import/chips/p9/procedures/hwp/accessors/p9_mvpd_ring_funcs.mk new file mode 100644 index 000000000..20d1d2de5 --- /dev/null +++ b/src/import/chips/p9/procedures/hwp/accessors/p9_mvpd_ring_funcs.mk @@ -0,0 +1,23 @@ +# IBM_PROLOG_BEGIN_TAG +# This is an automatically generated prolog. +# +# $Source: chips/p9/procedures/hwp/accessors/p9_mvpd_ring_funcs.mk $ +# +# IBM CONFIDENTIAL +# +# EKB Project +# +# COPYRIGHT 2016 +# [+] 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 + +# Include the macros and things for MVPD ring procedures +PROCEDURE=p9_mvpd_ring_funcs +$(call ADD_MODULE_INCDIR,$(PROCEDURE),$(ROOTPATH)/chips/p9/utils/imageProcs) +$(call BUILD_PROCEDURE) -- cgit v1.2.1