diff mbox series

[7/8] ipmi: Allow BMC device properties to be set

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

Commit Message

Corey Minyard Dec. 7, 2017, 9:30 p.m. UTC
From: Corey Minyard <cminyard@mvista.com>


Signed-off-by: Corey Minyard <cminyard@mvista.com>

---
 hw/ipmi/ipmi_bmc_sim.c | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

-- 
2.7.4

Comments

Marc-André Lureau Jan. 12, 2018, 5:10 p.m. UTC | #1
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 mbox series

Patch

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(),
 };