blob: 4ddf223b579a494f5cb787cfd1a115e77a4a8acc [file] [log] [blame]
/**
*
* This file has a hardcoded resource id mapper for some machine- can be changed
* This would not be used once the PDR is implemented
*
*/
#include <stdplus/print.hpp>
#include <util/common.hpp>
#include <cstdint>
#include <string>
#include <string_view>
#include <unordered_map>
std::unordered_map<std::string_view, uint32_t> resourceIdMap = {
{"/redfish/v1/Chassis", 0x00000000},
{"/redfish/v1/Chassis/Tray", 0x00010000},
{"/redfish/v1/Chassis/SATA_0", 0x00010001},
{"/redfish/v1/Chassis/SATA_1", 0x00010002},
{"/redfish/v1/Chassis/SATA_2", 0x00010003},
{"/redfish/v1/Chassis/SATA_3", 0x00010004},
{"/redfish/v1/Chassis/SATA_4", 0x00010005},
{"/redfish/v1/Chassis/SATA_5", 0x00010006},
{"/redfish/v1/Chassis/SATA_6", 0x00010007},
{"/redfish/v1/Chassis/SATA_7", 0x00010008},
{"/redfish/v1/Chassis/SATA_8", 0x00010009},
{"/redfish/v1/Chassis/SATA_9", 0x0001000a},
{"/redfish/v1/Chassis/SATA_10", 0x0001000b},
{"/redfish/v1/Chassis/SATA_11", 0x0001000c},
{"/redfish/v1/Chassis/SATA_12", 0x0001000d},
{"/redfish/v1/Chassis/SATA_13", 0x0001000e},
{"/redfish/v1/Chassis/SATA_14", 0x0001000f},
{"/redfish/v1/Chassis/SATA_15", 0x00010010},
{"/redfish/v1/Chassis/SATA_16", 0x00010011},
{"/redfish/v1/Chassis/SATA_17", 0x00010012},
{"/redfish/v1/Chassis/SATA_18", 0x00010013},
{"/redfish/v1/Chassis/SATA_19", 0x00010014},
{"/redfish/v1/Chassis/SATA_20", 0x00010015},
{"/redfish/v1/Chassis/SATA_21", 0x00010016},
{"/redfish/v1/Chassis/SATA_22", 0x00010017},
{"/redfish/v1/Chassis/SATA_23", 0x00010018},
{"/redfish/v1/Chassis/Tray/Sensors", 0x00020000},
{"/redfish/v1/Chassis/SATA_0/Sensors", 0x00020001},
{"/redfish/v1/Chassis/SATA_1/Sensors", 0x00020002},
{"/redfish/v1/Chassis/SATA_2/Sensors", 0x00020003},
{"/redfish/v1/Chassis/SATA_3/Sensors", 0x00020004},
{"/redfish/v1/Chassis/SATA_4/Sensors", 0x00020005},
{"/redfish/v1/Chassis/SATA_5/Sensors", 0x00020006},
{"/redfish/v1/Chassis/SATA_6/Sensors", 0x00020007},
{"/redfish/v1/Chassis/SATA_7/Sensors", 0x00020008},
{"/redfish/v1/Chassis/SATA_8/Sensors", 0x00020009},
{"/redfish/v1/Chassis/SATA_9/Sensors", 0x0002000a},
{"/redfish/v1/Chassis/SATA_10/Sensors", 0x0002000b},
{"/redfish/v1/Chassis/SATA_11/Sensors", 0x0002000c},
{"/redfish/v1/Chassis/SATA_12/Sensors", 0x0002000d},
{"/redfish/v1/Chassis/SATA_13/Sensors", 0x0002000e},
{"/redfish/v1/Chassis/SATA_14/Sensors", 0x0002000f},
{"/redfish/v1/Chassis/SATA_15/Sensors", 0x00020010},
{"/redfish/v1/Chassis/SATA_16/Sensors", 0x00020011},
{"/redfish/v1/Chassis/SATA_17/Sensors", 0x00020012},
{"/redfish/v1/Chassis/SATA_18/Sensors", 0x00020013},
{"/redfish/v1/Chassis/SATA_19/Sensors", 0x00020014},
{"/redfish/v1/Chassis/SATA_20/Sensors", 0x00020015},
{"/redfish/v1/Chassis/SATA_21/Sensors", 0x00020016},
{"/redfish/v1/Chassis/SATA_22/Sensors", 0x00020017},
{"/redfish/v1/Chassis/SATA_23/Sensors", 0x00020018},
{"/redfish/v1/Chassis/Tray/Sensors/vol_p12v_scaled", 0x00030000},
{"/redfish/v1/Chassis/Tray/Sensors/vol_p5v1_scaled", 0x00030001},
{"/redfish/v1/Chassis/Tray/Sensors/vol_p5v2_scaled", 0x00030002},
{"/redfish/v1/Chassis/Tray/Sensors/vol_p3v3_aux_scaled", 0x00030003},
{"/redfish/v1/Chassis/Tray/Sensors/vol_p1v8_scaled", 0x00030004},
{"/redfish/v1/Chassis/Tray/Sensors/vol_p0v86_scaled", 0x00030005},
{"/redfish/v1/Chassis/Tray/Sensors/vol_p1v45_scaled", 0x00030006},
{"/redfish/v1/Chassis/Tray/Sensors/temp_i2tang", 0x00030007},
{"/redfish/v1/Chassis/Tray/Sensors/hsc_temp", 0x00030008},
{"/redfish/v1/Chassis/Tray/Sensors/hsc_vin", 0x00030009},
{"/redfish/v1/Chassis/Tray/Sensors/hsc_vout", 0x0003000a},
{"/redfish/v1/Chassis/Tray/Sensors/hsc_pin", 0x0003000b},
{"/redfish/v1/Chassis/Tray/Sensors/hsc_iout", 0x0003000c},
{"/redfish/v1/Chassis/Tray/Sensors/hsc_peak_iout", 0x0003000d},
{"/redfish/v1/Chassis/Tray/Sensors/hsc_peak_vin", 0x0003000e},
{"/redfish/v1/Chassis/Tray/Sensors/hsc_peak_temp", 0x0003000f},
{"/redfish/v1/Chassis/Tray/Sensors/hsc_peak_pin", 0x00030010},
{"/redfish/v1/Chassis/Tray/Sensors/brick_p12v_temp", 0x00030011},
{"/redfish/v1/Chassis/Tray/Sensors/brick_p12v_vin", 0x00030012},
{"/redfish/v1/Chassis/Tray/Sensors/brick_p12v_vout", 0x00030013},
{"/redfish/v1/Chassis/Tray/Sensors/brick_p12v_iout", 0x00030014},
{"/redfish/v1/Chassis/Tray/Sensors/brick_p12v_pout", 0x00030015},
{"/redfish/v1/Chassis/Tray/Sensors/p5v_1_vin", 0x00030016},
{"/redfish/v1/Chassis/Tray/Sensors/p5v_1_vout", 0x00030017},
{"/redfish/v1/Chassis/Tray/Sensors/p5v_1_iout", 0x00030018},
{"/redfish/v1/Chassis/Tray/Sensors/p5v_1_temp", 0x00030019},
{"/redfish/v1/Chassis/Tray/Sensors/p5v_2_vin", 0x0003001a},
{"/redfish/v1/Chassis/Tray/Sensors/p5v_2_vout", 0x0003001b},
{"/redfish/v1/Chassis/Tray/Sensors/p5v_2_iout", 0x0003001c},
{"/redfish/v1/Chassis/Tray/Sensors/p5v_2_temp", 0x0003001d},
{"/redfish/v1/Chassis/Tray/Sensors/p0v86_vin", 0x0003001e},
{"/redfish/v1/Chassis/Tray/Sensors/p0v86_vout", 0x0003001f},
{"/redfish/v1/Chassis/Tray/Sensors/p0v86_iout", 0x00030020},
{"/redfish/v1/Chassis/Tray/Sensors/p0v86_temp", 0x00030021},
{"/redfish/v1/Chassis/Tray/Sensors/fan0_tach", 0x00030022},
{"/redfish/v1/Chassis/Tray/Sensors/fan1_tach", 0x00030023},
{"/redfish/v1/Chassis/Tray/Sensors/fan0_duty", 0x00030024},
{"/redfish/v1/Chassis/Tray/Sensors/fan1_duty", 0x00030025},
{"/redfish/v1/Chassis/Tray/Sensors/ioc_temp", 0x00030026},
{"/redfish/v1/Chassis/SATA_0/Sensors/Drive_0t", 0x00030027},
{"/redfish/v1/Chassis/SATA_1/Sensors/Drive_0t", 0x00030028},
{"/redfish/v1/Chassis/SATA_2/Sensors/Drive_0t", 0x00030029},
{"/redfish/v1/Chassis/SATA_3/Sensors/Drive_0t", 0x0003002a},
{"/redfish/v1/Chassis/SATA_4/Sensors/Drive_0t", 0x0003002b},
{"/redfish/v1/Chassis/SATA_5/Sensors/Drive_0t", 0x0003002c},
{"/redfish/v1/Chassis/SATA_6/Sensors/Drive_0t", 0x0003002d},
{"/redfish/v1/Chassis/SATA_7/Sensors/Drive_0t", 0x0003002e},
{"/redfish/v1/Chassis/SATA_8/Sensors/Drive_0t", 0x0003002f},
{"/redfish/v1/Chassis/SATA_9/Sensors/Drive_0t", 0x00030030},
{"/redfish/v1/Chassis/SATA_10/Sensors/Drive_0t", 0x00030031},
{"/redfish/v1/Chassis/SATA_11/Sensors/Drive_0t", 0x00030032},
{"/redfish/v1/Chassis/SATA_12/Sensors/Drive_0t", 0x00030033},
{"/redfish/v1/Chassis/SATA_13/Sensors/Drive_0t", 0x00030034},
{"/redfish/v1/Chassis/SATA_14/Sensors/Drive_0t", 0x00030035},
{"/redfish/v1/Chassis/SATA_15/Sensors/Drive_0t", 0x00030036},
{"/redfish/v1/Chassis/SATA_16/Sensors/Drive_0t", 0x00030037},
{"/redfish/v1/Chassis/SATA_17/Sensors/Drive_0t", 0x00030038},
{"/redfish/v1/Chassis/SATA_18/Sensors/Drive_0t", 0x00030039},
{"/redfish/v1/Chassis/SATA_19/Sensors/Drive_0t", 0x0003003a},
{"/redfish/v1/Chassis/SATA_20/Sensors/Drive_0t", 0x0003003b},
{"/redfish/v1/Chassis/SATA_21/Sensors/Drive_0t", 0x0003003c},
{"/redfish/v1/Chassis/SATA_22/Sensors/Drive_0t", 0x0003003d},
{"/redfish/v1/Chassis/SATA_23/Sensors/Drive_0t", 0x0003003e},
{"/redfish/v1/Chassis/Tray/Sensors/host_fan0_pwm", 0x0003003f},
{"/redfish/v1/Managers", 0x00040000},
{"/redfish/v1/Managers/mbmc", 0x00050000},
{"/redfish/v1/Chassis/SATA_0/Drives", 0x00060001},
{"/redfish/v1/Chassis/SATA_1/Drives", 0x00060002},
{"/redfish/v1/Chassis/SATA_2/Drives", 0x00060003},
{"/redfish/v1/Chassis/SATA_3/Drives", 0x00060004},
{"/redfish/v1/Chassis/SATA_4/Drives", 0x00060005},
{"/redfish/v1/Chassis/SATA_5/Drives", 0x00060006},
{"/redfish/v1/Chassis/SATA_6/Drives", 0x00060007},
{"/redfish/v1/Chassis/SATA_7/Drives", 0x00060008},
{"/redfish/v1/Chassis/SATA_8/Drives", 0x00060009},
{"/redfish/v1/Chassis/SATA_9/Drives", 0x0006000a},
{"/redfish/v1/Chassis/SATA_10/Drives", 0x0006000b},
{"/redfish/v1/Chassis/SATA_11/Drives", 0x0006000c},
{"/redfish/v1/Chassis/SATA_12/Drives", 0x0006000d},
{"/redfish/v1/Chassis/SATA_13/Drives", 0x0006000e},
{"/redfish/v1/Chassis/SATA_14/Drives", 0x0006000f},
{"/redfish/v1/Chassis/SATA_15/Drives", 0x00060010},
{"/redfish/v1/Chassis/SATA_16/Drives", 0x00060011},
{"/redfish/v1/Chassis/SATA_17/Drives", 0x00060012},
{"/redfish/v1/Chassis/SATA_18/Drives", 0x00060013},
{"/redfish/v1/Chassis/SATA_19/Drives", 0x00060014},
{"/redfish/v1/Chassis/SATA_20/Drives", 0x00060015},
{"/redfish/v1/Chassis/SATA_21/Drives", 0x00060016},
{"/redfish/v1/Chassis/SATA_22/Drives", 0x00060017},
{"/redfish/v1/Chassis/SATA_23/Drives", 0x00060018},
{"/redfish/v1/Chassis/SATA_0/Drives/SATA_0", 0x00070000},
{"/redfish/v1/Chassis/SATA_1/Drives/SATA_1", 0x00070001},
{"/redfish/v1/Chassis/SATA_2/Drives/SATA_2", 0x00070002},
{"/redfish/v1/Chassis/SATA_3/Drives/SATA_3", 0x00070003},
{"/redfish/v1/Chassis/SATA_4/Drives/SATA_4", 0x00070004},
{"/redfish/v1/Chassis/SATA_5/Drives/SATA_5", 0x00070005},
{"/redfish/v1/Chassis/SATA_6/Drives/SATA_6", 0x00070006},
{"/redfish/v1/Chassis/SATA_7/Drives/SATA_7", 0x00070007},
{"/redfish/v1/Chassis/SATA_8/Drives/SATA_8", 0x00070008},
{"/redfish/v1/Chassis/SATA_9/Drives/SATA_9", 0x00070009},
{"/redfish/v1/Chassis/SATA_10/Drives/SATA_10", 0x0007000a},
{"/redfish/v1/Chassis/SATA_11/Drives/SATA_11", 0x0007000b},
{"/redfish/v1/Chassis/SATA_12/Drives/SATA_12", 0x0007000c},
{"/redfish/v1/Chassis/SATA_13/Drives/SATA_13", 0x0007000d},
{"/redfish/v1/Chassis/SATA_14/Drives/SATA_14", 0x0007000e},
{"/redfish/v1/Chassis/SATA_15/Drives/SATA_15", 0x0007000f},
{"/redfish/v1/Chassis/SATA_16/Drives/SATA_16", 0x00070010},
{"/redfish/v1/Chassis/SATA_17/Drives/SATA_17", 0x00070011},
{"/redfish/v1/Chassis/SATA_18/Drives/SATA_18", 0x00070012},
{"/redfish/v1/Chassis/SATA_19/Drives/SATA_19", 0x00070013},
{"/redfish/v1/Chassis/SATA_20/Drives/SATA_20", 0x00070014},
{"/redfish/v1/Chassis/SATA_21/Drives/SATA_21", 0x00070015},
{"/redfish/v1/Chassis/SATA_22/Drives/SATA_22", 0x00070016},
{"/redfish/v1/Chassis/SATA_23/Drives/SATA_23", 0x00070017},
{"/redfish/v1/UpdateService", 0x00080000},
{"/redfish/v1/UpdateService/FirmwareInventory", 0x000a0000},
{"/redfish/v1/UpdateService/FirmwareInventory/mbmc", 0x00090000},
{"/redfish/v1/Chassis/Tray/Controls", 0x000c0000},
{"/redfish/v1/Chassis/Tray/Controls/HDD_SetPoint", 0x000b0000},
{"/redfish/v1/Chassis/Tray/Sensors/p12v_cem_imon", 0x00030040},
{"/redfish/v1/Chassis/Tray/Sensors/p12v_cem", 0x00030041},
{"/redfish/v1/Chassis/Tray/Sensors/mb_pwr_status", 0x00030042},
{"/redfish/v1/Chassis/Tray/Sensors/fan0_imon", 0x00030043},
{"/redfish/v1/Chassis/Tray/Sensors/fan1_imon", 0x00030044},
{"/redfish/v1/Chassis/Tray/Controls/fans", 0x000b0001},
{"/redfish/v1/Storage", 0x000d0000},
{"/redfish/v1/Storage/SATA", 0x000e0000},
{"/redfish/v1/Storage/SATA/Controllers", 0x000f0000},
{"/redfish/v1/Storage/SATA/Controllers/ioc", 0x00100000}
// Whenever making a new entry make sure to check the resourceIds vector in
// rde_discovery.cpp to see if the parent dictionary is present or not
};
std::optional<uint32_t> getResourceIdForUri(std::string_view uri)
{
auto it = resourceIdMap.find(uri);
if (it != resourceIdMap.end())
{
if (DEBUG)
{
stdplus::print(stderr, "Resource id found: {}\n",
std::to_string(it->second));
}
return it->second;
}
// Ignore logs for unsupported resources
if (UNSUPPORTED_RESOURCES.find(std::string(uri)) ==
UNSUPPORTED_RESOURCES.end())
{
stdplus::print(stderr, "Resource id not found for uri: {}\n", uri);
}
return std::nullopt;
}