diff options
Diffstat (limited to 'src/include/memory_info.h')
-rw-r--r-- | src/include/memory_info.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/include/memory_info.h b/src/include/memory_info.h new file mode 100644 index 0000000000..4613628dab --- /dev/null +++ b/src/include/memory_info.h @@ -0,0 +1,46 @@ +/* + * Memory information + * + * Copyright (C) 2014, Intel 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 version + * 2 as published by the Free Software Foundation. + * + * 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. See the + * GNU General Public License for more details. + */ + +#ifndef _MEMORY_INFO_H_ +#define _MEMORY_INFO_H_ + +/* + * If this table is filled and put in CBMEM, + * then these info in CBMEM will be used to generate smbios type 17 table + */ +struct dimm_info { + uint32_t dimm_size; + uint16_t ddr_type; + uint16_t ddr_frequency; + uint8_t rank_per_dimm; + uint8_t channel_num; + uint8_t dimm_num; + uint8_t bank_locator; + /* The 5th byte is '\0' for the end of string */ + uint8_t serial[5]; + /* The 19th byte is '\0' for the end of string */ + uint8_t module_part_number[19]; + uint16_t mod_id; + uint8_t mod_type; + uint8_t bus_width; +} __attribute__((packed)); + +struct memory_info { + uint8_t dimm_cnt; + /* Maximum num of dimm is 8 */ + struct dimm_info dimm[8]; +} __attribute__((packed)); + +#endif |