/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2008 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _SYS_MC_OPL_H
#define _SYS_MC_OPL_H
#pragma ident "%Z%%M% %I% %E% SMI"
#ifdef __cplusplus
extern "C" {
#endif
#ifdef DEBUG
extern int oplmc_debug;
#else
#endif
/*
*/
typedef struct {
} cs_status_t;
typedef struct scf_log {
int sl_bank;
} scf_log_t;
/*
* Current max serial number size is 12, but keep enough room
* to accomodate any future changes.
*
* Current max part number size is 18 + 18(Sun's partnumber + FJ's partnumber),
* but keep enough room to accomodate any future changes.
*/
typedef struct mc_dimm_info {
typedef struct mc_retry_info {
#define RETRY_STATE_PENDING 0
int ri_state;
typedef struct mc_opl_state {
struct mc_bank {
int mcb_rewrite_count;
int mc_last_error;
/* number of times memory scanned */
int mc_tick_left;
} mc_opl_t;
typedef struct mc_addr {
} mc_addr_t;
int mi_valid;
int mi_injectrestart;
typedef struct mc_flt_stat {
typedef struct mc_aflt {
} mc_aflt_t;
typedef struct mc_flt_page {
/* use PA[37:6] */
/*
* This is for changing MI_ERR_ADDR accuracy.
* Last two bits of PTRL_ERR_ADDR are always 0.
*/
/*
* MAC_BANKm_PTRL_STAT_Register
*/
/*
* MAC_BANKm_PTRL_CTRL_Register
*/
& MAC_CNTL_PTRL_START)) \
/*
*/
/*
* MAC_BANKm_STATIC_ERR_ADD_Register
*/
/*
* MAC_BANKm_MIRR_Register
*/
/*
* MAC_BANKm_EG_ADD_Register
*/
/*
* To set the EG_CNTL register, bit[26-25] and
* bit[21-20] must be cleared. Then the other
* control bit should be set. Then the bit[26-25]
* and bit[21-20] should be set while other bits
* should be the same as before.
*/
/* For MAC-PA translation */
/* export interface for error injection */
#ifdef DEBUG
#endif
#ifdef __cplusplus
}
#endif
#endif /* _SYS_MC_OPL_H */