aboutsummaryrefslogtreecommitdiff
path: root/hw/ipmi
diff options
context:
space:
mode:
authorCorey Minyard <cminyard@mvista.com>2017-08-28 12:48:44 -0500
committerCorey Minyard <cminyard@mvista.com>2018-01-30 15:52:53 -0600
commit20b233641d76cc1812064304798ffeb530dc112d (patch)
treeb74b9d73faa2d46a6189f5fa2e416b149b5c6746 /hw/ipmi
parent53d34b8c1ba74f14053deeb2cce7d2501695e83d (diff)
downloadqemu-20b233641d76cc1812064304798ffeb530dc112d.zip
qemu-20b233641d76cc1812064304798ffeb530dc112d.tar.gz
qemu-20b233641d76cc1812064304798ffeb530dc112d.tar.bz2
ipmi: Allow BMC device properties to be set
Signed-off-by: Corey Minyard <cminyard@mvista.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Diffstat (limited to 'hw/ipmi')
-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(),
};