diff options
author | Tim Chu <Tim.Chu@quantatw.com> | 2021-01-12 01:44:37 -0800 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2021-01-19 09:02:25 +0000 |
commit | 0c094aeb0e214b2abcef9a15ab23b1669a20d80e (patch) | |
tree | 94bc158de1fed8293d55306cb482256482164beb /src/arch | |
parent | 9918c34d87ea2c4f87651eea9ee833937d9e79f4 (diff) |
arch/x86/smbios: Update SMBIOS type 17 type detail
Update SMBIOS type 17 type detail. Define this field by module type.
Tested=Execute "dmidecode -t 17" to check type detail is correct.
Signed-off-by: Tim Chu <Tim.Chu@quantatw.com>
Change-Id: I6700056edad5db2b86f6da526329b1343b026385
Reviewed-on: https://review.coreboot.org/c/coreboot/+/49347
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Christian Walter <christian.walter@9elements.com>
Reviewed-by: Jonathan Zhang <jonzhang@fb.com>
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/x86/smbios.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/arch/x86/smbios.c b/src/arch/x86/smbios.c index 3856acf0d2..87714c0abe 100644 --- a/src/arch/x86/smbios.c +++ b/src/arch/x86/smbios.c @@ -327,8 +327,22 @@ static int create_smbios_type17_for_dimm(struct dimm_info *dimm, t->minimum_voltage = dimm->vdd_voltage; t->maximum_voltage = dimm->vdd_voltage; + /* Fill in type detail */ + switch (dimm->mod_type) { + case SPD_RDIMM: + case SPD_MINI_RDIMM: + t->type_detail = MEMORY_TYPE_DETAIL_REGISTERED; + break; + case SPD_UDIMM: + case SPD_MINI_UDIMM: + t->type_detail = MEMORY_TYPE_DETAIL_UNBUFFERED; + break; + default: + t->type_detail = MEMORY_TYPE_DETAIL_UNKNOWN; + break; + } /* Synchronous = 1 */ - t->type_detail = MEMORY_TYPE_DETAIL_SYNCHRONOUS; + t->type_detail |= MEMORY_TYPE_DETAIL_SYNCHRONOUS; /* no handle for error information */ t->memory_error_information_handle = 0xFFFE; t->attributes = dimm->rank_per_dimm; |