1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
From c834e8916d482a20e2f322dbd772ddd8a3f2b65b Mon Sep 17 00:00:00 2001
From: eportnov <eportnov@ibs.ru>
Date: Fri, 8 Jul 2022 16:30:51 +0300
Subject: [PATCH] add new dimm fields
---
redfish-core/lib/memory.hpp | 25 ++++++++++++++++++++++++-
1 file changed, 24 insertions(+), 1 deletion(-)
diff --git a/redfish-core/lib/memory.hpp b/redfish-core/lib/memory.hpp
index 6e4ab67..31dd3c7 100644
--- a/redfish-core/lib/memory.hpp
+++ b/redfish-core/lib/memory.hpp
@@ -30,6 +30,10 @@ namespace redfish
inline std::string translateMemoryTypeToRedfish(const std::string& memoryType)
{
+ if (memoryType == "xyz.openbmc_project.Inventory.Item.Dimm.DeviceType.DRAM")
+ {
+ return "DRAM";
+ }
if (memoryType == "xyz.openbmc_project.Inventory.Item.Dimm.DeviceType.DDR")
{
return "DDR";
@@ -473,6 +477,7 @@ inline void getDimmDataByService(std::shared_ptr<bmcweb::AsyncResp> aResp,
messages::internalError(aResp->res);
return;
}
+ aResp->res.jsonValue["MemorySize"] = (*memorySize);
aResp->res.jsonValue["CapacityMiB"] = (*memorySize >> 10);
}
else if (property.first == "PartNumber")
@@ -647,7 +652,7 @@ inline void getDimmDataByService(std::shared_ptr<bmcweb::AsyncResp> aResp,
// so just leave off
if (!memoryDeviceType.empty())
{
- aResp->res.jsonValue["MemoryDeviceType"] =
+ aResp->res.jsonValue["MemoryType"] =
memoryDeviceType;
}
if (value->find("DDR") != std::string::npos)
@@ -660,6 +665,24 @@ inline void getDimmDataByService(std::shared_ptr<bmcweb::AsyncResp> aResp,
}
}
}
+ else if (property.first == "Model")
+ {
+ const auto* value =
+ std::get_if<std::string>(&property.second);
+ if (value != nullptr)
+ {
+ aResp->res.jsonValue["Model"] = *value;
+ }
+ }
+ else if (property.first == "Description")
+ {
+ const auto* value =
+ std::get_if<std::string>(&property.second);
+ if (value != nullptr)
+ {
+ aResp->res.jsonValue["Description"] = *value;
+ }
+ }
// memory location interface
else if (property.first == "Channel" ||
property.first == "MemoryController" ||
|