blob: e87d702107e7beab81143e256f828e99a5de544f [file] [log] [blame]
/* IBM_PROLOG_BEGIN_TAG */
/* This is an automatically generated prolog. */
/* */
/* $Source: src/usr/diag/prdf/common/framework/register/iipMopRegisterAccessScanComm.h $ */
/* */
/* OpenPOWER HostBoot Project */
/* */
/* Contributors Listed Below - COPYRIGHT 1996,2017 */
/* [+] 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 */
#ifndef iipMopRegisterAccessScanComm_h
#define iipMopRegisterAccessScanComm_h
// Class Specification *************************************************
//
// Class name: MopRegisterAccessScanComm
// Parent class: MopRegisterAccess.
//
// Summary: This class provides access to hardware register data via
// a MOP Scan Comm routine.
//
// Cardinality: 0
//
// Performance/Implementation:
// Space Complexity: Constant
// Time Complexity: All member functions constant unless otherwise
// stated.
//
// Usage Examples:
//
//
//
// End Class Specification *********************************************
// Includes
#pragma interface
#ifndef iipMopRegisterAccess_h
#include <iipMopRegisterAccess.h>
#endif
namespace PRDF
{
// Forward References
class MopRegisterAccessScanComm : public MopRegisterAccess
{
public:
// Function Specification ********************************************
//
// Purpose: CTOR
// Parameters: None
// Returns: No value returned.
// Requirements: None.
// Promises: All data members are initialized.
// Exceptions: None.
// Concurrency: N/A
// Note: Multiple chip IDs are for chips that MOPs must
// access at the same time when performing a Scan
// Comm operation (ie STINGER & ARROW chips)
//
// End Function Specification //////////////////////////////////////
// MopRegisterAccessScanComm(const MopRegisterAccessScanComm & scr);
// Function Specification ********************************************
//
// Purpose: Copy
// Parameters: scr: Reference to instance to copy
// Returns: No value returned.
// Requirements: None.
// Promises: All data members will be copied (Deep copy).
// Exceptions: None.
// Concurrency: N/A.
// Notes: This constructor is not declared. This compiler generated
// default definition is sufficient.
//
// End Function Specification ****************************************
// virtual ~MopRegisterAccessScanComm(void);
// Function Specification ********************************************
//
// Purpose: Destruction
// Parameters: None.
// Returns: No value returned
// Requirements: None.
// Promises: None.
// Exceptions: None.
// Concurrency: N/A
// Notes: This destructor is not declared. This compiler generated
// default definition is sufficient.
//
// End Function Specification ****************************************
// MopRegisterAccessScanComm & operator=(const MopRegisterAccessScanComm & scr);
// Function Specification ********************************************
//
// Purpose: Assigment
// Parameters: d: Reference to instance to assign from
// Returns: Reference to this instance
// Requirements: None.
// Promises: All data members are assigned to
// Exceptions: None.
// Concurrency: N/A.
// Notes: This assingment operator is not declared. The compiler
// generated default definition is sufficient.
//
// End Function Specification ****************************************
virtual uint32_t Access(BitString & bs,
uint32_t registerId,
Operation operation) const;
// Function Specification ********************************************
//
// Purpose: This function reads or writes the hardware according
// to the specified operation.
// Parameters: bs: Bit string to retrieve(for write) or store data
// (from read)
// registerId: ScanComm register address
// operation: Indicates either read or write operation
// Returns: Hardware OPs return code
// Requirements: bs.Length() == long enough
// Promises: For read operation, bs is modified to reflect hardware
// register state
// Exceptions: None.
// Concurrency: Nonreentrant.
// Note: The first bs.Length() bits from the Hardware OPs read
// are set/reset in bs (from left to right)
// For a write, the first bs.Length() bits are written
// to the hardware register with right padded 0's if
// needed
//
// End Function Specification ****************************************
private: // DATA
};
} // end namespace PRDF
#endif