summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf/common/framework/rule/prdfGroup.C
diff options
context:
space:
mode:
authorZane Shelley <zshelle@us.ibm.com>2016-03-07 17:09:21 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2016-03-25 12:24:28 -0400
commit4dea56a10f144a1b0acb8aa9cc027870fd3c8d41 (patch)
treea015e5aa25d9d2753bdf6a01ab82e4de2527591a /src/usr/diag/prdf/common/framework/rule/prdfGroup.C
parent3ce1f242a85719ac94315bedb17d00536e1bf8cf (diff)
downloadtalos-hostboot-4dea56a10f144a1b0acb8aa9cc027870fd3c8d41.tar.gz
talos-hostboot-4dea56a10f144a1b0acb8aa9cc027870fd3c8d41.zip
PRD: moved rule/ out of framework/
Change-Id: I4ddfa567abb576f7949bf8a9c4ab5ee530eed70e RTC: 140081 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/21860 Tested-by: Jenkins Server Reviewed-by: Caleb N. Palmer <cnpalmer@us.ibm.com> Reviewed-by: Benjamin J. Weisenbeck <bweisenb@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com> Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/22137 Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/diag/prdf/common/framework/rule/prdfGroup.C')
-rwxr-xr-xsrc/usr/diag/prdf/common/framework/rule/prdfGroup.C288
1 files changed, 0 insertions, 288 deletions
diff --git a/src/usr/diag/prdf/common/framework/rule/prdfGroup.C b/src/usr/diag/prdf/common/framework/rule/prdfGroup.C
deleted file mode 100755
index 61043540a..000000000
--- a/src/usr/diag/prdf/common/framework/rule/prdfGroup.C
+++ /dev/null
@@ -1,288 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/diag/prdf/common/framework/rule/prdfGroup.C $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2015 */
-/* [+] 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 */
-
-#include <prdfGroup.H>
-
-#include <algorithm>
-
-#include <iipResetErrorRegister.h>
-#include <iipServiceDataCollector.h>
-#include <prdfBitString.H>
-#include <prdfMain.H>
-#include <prdfResolutionMap.H>
-
-namespace PRDF
-{
-
-Group::~Group()
-{
- RegisterList_t::const_iterator l_errRegsEnd = cv_errRegs.end();
- for (RegisterList_t::const_iterator i = cv_errRegs.begin();
- i != l_errRegsEnd;
- ++i)
- {
- delete *i;
- }
-
- ResMaps_t::const_iterator l_resMapsEnd = cv_resMaps.end();
- for (ResMaps_t::const_iterator i = cv_resMaps.begin();
- i != l_resMapsEnd;
- ++i)
- {
- delete (ResolutionMap *)(*i).second;
- }
-
- // Delete filters.
- FilterList_t::const_iterator l_filterEnd = cv_filters.end();
- for (FilterList_t::const_iterator i = cv_filters.begin();
- i != l_filterEnd;
- ++i)
- {
- delete (*i);
- }
-}
-
-int32_t Group::Analyze(STEP_CODE_DATA_STRUCT & i_step)
-{
- int32_t l_rc = -1;
- ServiceDataCollector l_backupStep(*i_step.service_data);
- int32_t l_tmpRC = SUCCESS;
-
- RegisterList_t::const_iterator l_errRegsEnd = cv_errRegs.end();
- for (RegisterList_t::const_iterator i = cv_errRegs.begin();
- (i != l_errRegsEnd) && (l_rc != SUCCESS);
- ++i)
- {
- bool l_secErr = i_step.service_data->isSecondaryErrFound();
- (*i_step.service_data) = l_backupStep;
-
- if( l_secErr )
- {
- i_step.service_data->setSecondaryErrFlag();
- }
-
- l_tmpRC = (*i)->Analyze(i_step);
-
- if (PRD_SCAN_COMM_REGISTER_ZERO != l_tmpRC)
- {
- l_rc = l_tmpRC;
- }
- }
- if ( PRD_SCAN_COMM_REGISTER_ZERO == l_tmpRC )
- {
- l_rc = l_tmpRC;
- }
-
- if (0 == cv_errRegs.size())
- l_rc = cv_defaultRes.Resolve(i_step);
-
- return l_rc;
-};
-
-void Group::Add(SCAN_COMM_REGISTER_CLASS * i_reg,
- const uint8_t * i_bits,
- size_t i_bitSize,
- Resolution & i_action,
- ResetAndMaskPair & i_resets,
- uint16_t i_scrID,
- bool i_reqTranspose)
-{
- FilterClass * l_transposeFilter = NULL;
- uint8_t l_bits[1] = { '\0' };
- ResolutionMap * l_res = cv_resMaps[i_reg];
-
- if (NULL == l_res)
- {
- l_res = cv_resMaps[i_reg] = new ResolutionMap(1, cv_defaultRes);
- ResetAndMaskErrorRegister * l_errReg =
- new ResetAndMaskErrorRegister(*i_reg, *l_res, i_scrID);
- cv_errRegs.push_back(l_errReg);
-
- // Sort reset and mask lists.
- std::sort(i_resets.first.begin(), i_resets.first.end());
- std::sort(i_resets.second.begin(), i_resets.second.end());
-
- // Remove duplicate resets and masks.
- i_resets.first.erase(
- std::unique(i_resets.first.begin(), i_resets.first.end()),
- i_resets.first.end());
- i_resets.second.erase(
- std::unique(i_resets.second.begin(), i_resets.second.end()),
- i_resets.second.end());
-
- // Add resets.
- std::for_each(i_resets.first.begin(), i_resets.first.end(),
- std::bind1st(
- std::mem_fun(&ResetAndMaskErrorRegister::addReset),
- l_errReg)
- );
-
- // Add masks.
- std::for_each(i_resets.second.begin(), i_resets.second.end(),
- std::bind1st(
- std::mem_fun(&ResetAndMaskErrorRegister::addMask),
- l_errReg)
- );
- }
-
- // This action requires a transpose filter (multiple bits &'d)
- if (i_reqTranspose)
- {
- // Create key and transposition filter. Add to filter list.
- BitKey l_tmpKey(i_bits, i_bitSize);
- l_transposeFilter = new FilterTranspose(l_tmpKey,
- cv_nextBitForTranspose);
- cv_filters.push_back(l_transposeFilter);
-
- // Update bit string pointers/values.
- l_bits[0] = cv_nextBitForTranspose++;
- i_bits = l_bits;
- i_bitSize = 1;
-
- // Check for existing transposition filter, create link as needed.
- if (NULL != l_res->getFilter())
- {
- l_transposeFilter = new FilterLink(*l_res->getFilter(),
- *l_transposeFilter); // pw01
- cv_filters.push_back(l_transposeFilter);
- }
-
- // Assign transpose filter.
- l_res->setFilter(l_transposeFilter);
- }
-
- // Add action to resolution.
- l_res->Add(i_bits, i_bitSize, &i_action);
-};
-
-void Group::Add(SCAN_COMM_REGISTER_CLASS * i_reg,
- Resolution & i_action,
- ResetAndMaskPair & i_resets,
- uint16_t i_scrID)
-{
- ResolutionMap * l_res = cv_resMaps[i_reg];
-
- if (NULL == l_res)
- {
- l_res = cv_resMaps[i_reg] = new ResolutionMap(1, cv_defaultRes);
- ResetAndMaskErrorRegister * l_errReg =
- new ResetAndMaskErrorRegister(*i_reg, *l_res, i_scrID);
- cv_errRegs.push_back(l_errReg);
-
- // Sort reset and mask lists.
- std::sort(i_resets.first.begin(), i_resets.first.end());
- std::sort(i_resets.second.begin(), i_resets.second.end());
-
- // Remove duplicate resets and masks.
- i_resets.first.erase(
- std::unique(i_resets.first.begin(), i_resets.first.end()),
- i_resets.first.end());
- i_resets.second.erase(
- std::unique(i_resets.second.begin(), i_resets.second.end()),
- i_resets.second.end());
-
- // Add resets.
- std::for_each(i_resets.first.begin(), i_resets.first.end(),
- std::bind1st(
- std::mem_fun(&ResetAndMaskErrorRegister::addReset),
- l_errReg)
- );
-
- // Add masks.
- std::for_each(i_resets.second.begin(), i_resets.second.end(),
- std::bind1st(
- std::mem_fun(&ResetAndMaskErrorRegister::addMask),
- l_errReg)
- );
- }
-
- l_res->ReplaceDefaultWith(i_action);
-
-};
-
-void Group::AddFilter(FilterClass * i_filter, bool i_addFirst )
-{
- // Add to filter list, for deallocation later.
- cv_filters.push_back(i_filter);
-
- // Iterate through all resolution maps.
- for(ResMaps_t::const_iterator i = cv_resMaps.begin();
- i != cv_resMaps.end();
- i++)
- {
- // Get old filter.
- FilterClass * l_bitFilter =
- ((ResolutionMap *)(*i).second)->getFilter();
-
- // Need new filter link?
- if (NULL != l_bitFilter)
- {
- if( i_addFirst )
- {
- l_bitFilter = new FilterLink( *i_filter, *l_bitFilter );
- }
- else
- {
- l_bitFilter = new FilterLink( *l_bitFilter, *i_filter );
- }
-
- // Add to filter list, for deallocation later.
- cv_filters.push_back(l_bitFilter);
- }
- else
- {
- l_bitFilter = i_filter;
- }
-
- // Assign filter to resolution map.
- ((ResolutionMap *)(*i).second)->setFilter(l_bitFilter);
- }
-}
-
-
-
-const BIT_STRING_CLASS & Group::Read(ATTENTION_TYPE i_attn)
-{
- static BIT_STRING_BUFFER_CLASS a(64);
- return a;
-};
-
-BIT_LIST_CLASS Group::Filter(const BIT_STRING_CLASS & i)
-{
- return BIT_LIST_CLASS();
-};
-
-int32_t Group::Lookup(STEP_CODE_DATA_STRUCT & i_step, BIT_LIST_CLASS & b)
-{
- return -1;
-};
-
-int32_t Group::Reset(const BIT_LIST_CLASS & b, STEP_CODE_DATA_STRUCT & i_step)
-{
- return -1;
-};
-
-} // end namespace PRDF
-
OpenPOWER on IntegriCloud