summaryrefslogtreecommitdiffstats
path: root/sbe/hwpf
diff options
context:
space:
mode:
authorSantosh Puranik <santosh.puranik@in.ibm.com>2016-06-09 02:59:50 -0500
committerSantosh S. Puranik <santosh.puranik@in.ibm.com>2016-06-21 01:09:01 -0400
commit2af56e4130cf02ee9c480c959ba07d4ea82d6179 (patch)
tree170b363fca04cd9f5def99b2cfd0d6ad963f3d51 /sbe/hwpf
parentb6e96c3e8edb4972591c6003942d7d0d898a0bf2 (diff)
downloadtalos-sbe-2af56e4130cf02ee9c480c959ba07d4ea82d6179.tar.gz
talos-sbe-2af56e4130cf02ee9c480c959ba07d4ea82d6179.zip
Changes for handling EX/MCS scoms
Change-Id: I411440954ce98add0a70013efa1d8aadd05b60c5 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/25740 Tested-by: Jenkins Server Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com> Reviewed-by: Gregory S. Still <stillgs@us.ibm.com> Reviewed-by: Santosh S. Puranik <santosh.puranik@in.ibm.com>
Diffstat (limited to 'sbe/hwpf')
-rw-r--r--sbe/hwpf/include/plat/plat_hw_access.H40
1 files changed, 32 insertions, 8 deletions
diff --git a/sbe/hwpf/include/plat/plat_hw_access.H b/sbe/hwpf/include/plat/plat_hw_access.H
index 765837fd..0860e83d 100644
--- a/sbe/hwpf/include/plat/plat_hw_access.H
+++ b/sbe/hwpf/include/plat/plat_hw_access.H
@@ -1,3 +1,27 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: sbe/hwpf/include/plat/plat_hw_access.H $ */
+/* */
+/* OpenPOWER sbe Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2015,2016 */
+/* [+] International Business Machines Corp. */
+/* */
+/* */
+/* Licensed under the Apache License, Version 2.0 (the "License"); */
+/* you may not use this file except in compliance with the License. */
+/* You may obtain a copy of the License at */
+/* */
+/* http://www.apache.org/licenses/LICENSE-2.0 */
+/* */
+/* Unless required by applicable law or agreed to in writing, software */
+/* distributed under the License is distributed on an "AS IS" BASIS, */
+/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
+/* implied. See the License for the specific language governing */
+/* permissions and limitations under the License. */
+/* */
+/* IBM_PROLOG_END_TAG */
/**
* @file plat_hw_access.H
*
@@ -20,12 +44,12 @@
/* Write MSR */ \
mtmsr(msr_data); \
};
-
+
#define PLAT_GET_PIB_ERROR_MASK(_m_mask) \
uint8_t _m_mask; \
uint32_t _sem = mfmsr(); \
_m_mask = (uint8_t)((_sem & MSR_SEM) >> (32-(MSR_SEM_START_BIT + MSR_SEM_LEN)));
-
+
// Building block PPE instructions
#define PPE_MFMSR(_m_data) \
asm volatile \
@@ -45,13 +69,13 @@ asm volatile \
/// GetScom
#define PLAT_GETSCOM(_m_rc, _m_base, _m_offset, _m_data) \
- _m_rc = getscom(_m_base.getAddressOverlay(), (0 == _m_base.getAddressOverlay())?_m_offset:(uint32_t)(_m_offset & BITS(40,24)), _m_data);
-
+ _m_rc = getscom_abs(getEffectiveAddress(_m_base, _m_offset), _m_data)
+
/// PutScom
#define PLAT_PUTSCOM(_m_rc, _m_base, _m_offset, _m_data) \
- _m_rc = putscom(_m_base.getAddressOverlay(), (0 == _m_base.getAddressOverlay())?_m_offset:(uint32_t)(_m_offset & BITS(40,24)), _m_data);
-
-/// GetCFAM
+ _m_rc = putscom_abs(getEffectiveAddress(_m_base, _m_offset), _m_data)
+
+/// GetCFAM
#define PLAT_GETCFAM(_m_base, _m_offset, _m_data) \
static_assert( K == TARGET_TYPE_NONE, \
"getCfamRegister is not supported by PPE platforms")
@@ -60,7 +84,7 @@ asm volatile \
#define PLAT_PUTCFAM(_m_base, _m_offset, _m_data) \
static_assert( K == TARGET_TYPE_NONE, \
"putCfamRegister is not supported by PPE platforms")
-
+
/// ModifyCFAM
#define PLAT_MODCFAM(_m_base, _m_offset, _m_data, _m_mode) \
static_assert( K == TARGET_TYPE_NONE, \
OpenPOWER on IntegriCloud