aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hw/ipmi/ipmi_bmc_sim.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/hw/ipmi/ipmi_bmc_sim.c b/hw/ipmi/ipmi_bmc_sim.c
index e84d710..9b509f8 100644
--- a/hw/ipmi/ipmi_bmc_sim.c
+++ b/hw/ipmi/ipmi_bmc_sim.c
@@ -214,8 +214,8 @@ struct IPMIBmcSim {
uint8_t device_rev;
uint8_t fwrev1;
uint8_t fwrev2;
- uint8_t mfg_id[3];
- uint8_t product_id[2];
+ uint32_t mfg_id;
+ uint16_t product_id;
uint8_t restart_cause;
@@ -867,11 +867,11 @@ static void get_device_id(IPMIBmcSim *ibs,
rsp_buffer_push(rsp, ibs->fwrev2);
rsp_buffer_push(rsp, ibs->ipmi_version);
rsp_buffer_push(rsp, 0x07); /* sensor, SDR, and SEL. */
- rsp_buffer_push(rsp, ibs->mfg_id[0]);
- rsp_buffer_push(rsp, ibs->mfg_id[1]);
- rsp_buffer_push(rsp, ibs->mfg_id[2]);
- rsp_buffer_push(rsp, ibs->product_id[0]);
- rsp_buffer_push(rsp, ibs->product_id[1]);
+ rsp_buffer_push(rsp, ibs->mfg_id & 0xff);
+ rsp_buffer_push(rsp, (ibs->mfg_id >> 8) & 0xff);
+ rsp_buffer_push(rsp, (ibs->mfg_id >> 16) & 0xff);
+ rsp_buffer_push(rsp, ibs->product_id & 0xff);
+ rsp_buffer_push(rsp, (ibs->product_id >> 8) & 0xff);
}
static void set_global_enables(IPMIBmcSim *ibs, uint8_t val)
@@ -1997,6 +1997,13 @@ static Property ipmi_sim_properties[] = {
DEFINE_PROP_UINT16("fruareasize", IPMIBmcSim, fru.areasize, 1024),
DEFINE_PROP_STRING("frudatafile", IPMIBmcSim, fru.filename),
DEFINE_PROP_STRING("sdrfile", IPMIBmcSim, sdr_filename),
+ DEFINE_PROP_UINT8("device_id", IPMIBmcSim, device_id, 0x20),
+ DEFINE_PROP_UINT8("ipmi_version", IPMIBmcSim, ipmi_version, 0x02),
+ DEFINE_PROP_UINT8("device_rev", IPMIBmcSim, device_rev, 0),
+ DEFINE_PROP_UINT8("fwrev1", IPMIBmcSim, fwrev1, 0),
+ DEFINE_PROP_UINT8("fwrev2", IPMIBmcSim, fwrev2, 0),
+ DEFINE_PROP_UINT32("mfg_id", IPMIBmcSim, mfg_id, 0),
+ DEFINE_PROP_UINT16("product_id", IPMIBmcSim, product_id, 0),
DEFINE_PROP_END_OF_LIST(),
};