| /* | |
| * Copyright 2011 Tilera Corporation. All Rights Reserved. | |
| * | |
| * This program is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU General Public License | |
| * as published by the Free Software Foundation, version 2. | |
| * | |
| * This program is distributed in the hope that it will be useful, but | |
| * WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or | |
| * NON INFRINGEMENT. See the GNU General Public License for | |
| * more details. | |
| */ | |
| /** | |
| * @file drv_mshim_intf.h | |
| * Interface definitions for the Linux EDAC memory controller driver. | |
| */ | |
| #ifndef _SYS_HV_INCLUDE_DRV_MSHIM_INTF_H | |
| #define _SYS_HV_INCLUDE_DRV_MSHIM_INTF_H | |
| /** Number of memory controllers in the public API. */ | |
| #define TILE_MAX_MSHIMS 4 | |
| /** Memory info under each memory controller. */ | |
| struct mshim_mem_info | |
| { | |
| uint64_t mem_size; /**< Total memory size in bytes. */ | |
| uint8_t mem_type; /**< Memory type, DDR2 or DDR3. */ | |
| uint8_t mem_ecc; /**< Memory supports ECC. */ | |
| }; | |
| /** | |
| * DIMM error structure. | |
| * For now, only correctable errors are counted and the mshim doesn't record | |
| * the error PA. HV takes panic upon uncorrectable errors. | |
| */ | |
| struct mshim_mem_error | |
| { | |
| uint32_t sbe_count; /**< Number of single-bit errors. */ | |
| }; | |
| /** Read this offset to get the memory info per mshim. */ | |
| #define MSHIM_MEM_INFO_OFF 0x100 | |
| /** Read this offset to check DIMM error. */ | |
| #define MSHIM_MEM_ERROR_OFF 0x200 | |
| #endif /* _SYS_HV_INCLUDE_DRV_MSHIM_INTF_H */ |