Message ID | 1512682213-4354-8-git-send-email-minyard@acm.org |
---|---|
State | Superseded |
Headers | show |
Series | [1/8] ipmi: Fix SEL get/set time commands | expand |
On Thu, Dec 7, 2017 at 10:30 PM, <minyard@acm.org> wrote: > From: Corey Minyard <cminyard@mvista.com> > > Signed-off-by: Corey Minyard <cminyard@mvista.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> > --- > hw/ipmi/ipmi_bmc_sim.c | 21 ++++++++++++++------- > 1 file 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(), > }; > > -- > 2.7.4 > > -- Marc-André Lureau
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(), };