[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 06/10] ipmi: use a function to initialize the SDR
From: |
Cédric Le Goater |
Subject: |
[Qemu-devel] [PATCH v2 06/10] ipmi: use a function to initialize the SDR table |
Date: |
Wed, 2 Mar 2016 11:14:54 +0100 |
This patch moves the code section initializing the sdrs in its own
routine to prepare ground for changes in the subsequent patches.
Signed-off-by: Cédric Le Goater <address@hidden>
Acked-by: Corey Minyard <address@hidden>
---
hw/ipmi/ipmi_bmc_sim.c | 49 ++++++++++++++++++++++++++++---------------------
1 file changed, 28 insertions(+), 21 deletions(-)
diff --git a/hw/ipmi/ipmi_bmc_sim.c b/hw/ipmi/ipmi_bmc_sim.c
index 096f71010659..1556332b9f5d 100644
--- a/hw/ipmi/ipmi_bmc_sim.c
+++ b/hw/ipmi/ipmi_bmc_sim.c
@@ -1678,6 +1678,33 @@ static const uint8_t init_sdrs[] = {
0xff, 0xff, 0x00, 0x00, 0x00
};
+static void ipmi_sdr_init(IPMIBmcSim *ibs)
+{
+ unsigned int i;
+ unsigned int recid;
+
+ for (i = 0;;) {
+ struct ipmi_sdr_header *sdrh;
+ int len;
+ if ((i + IPMI_SDR_HEADER_SIZE) > sizeof(init_sdrs)) {
+ error_report("Problem with recid 0x%4.4x", i);
+ return;
+ }
+ sdrh = (struct ipmi_sdr_header *) &init_sdrs[i];
+ len = ipmi_sdr_length(sdrh);
+ recid = ipmi_sdr_recid(sdrh);
+ if (recid == 0xffff) {
+ break;
+ }
+ if ((i + len) > sizeof(init_sdrs)) {
+ error_report("Problem with recid 0x%4.4x", i);
+ return;
+ }
+ sdr_add_entry(ibs, sdrh, len, NULL);
+ i += len;
+ }
+}
+
static const VMStateDescription vmstate_ipmi_sim = {
.name = TYPE_IPMI_BMC_SIMULATOR,
.version_id = 1,
@@ -1710,7 +1737,6 @@ static void ipmi_sim_realize(DeviceState *dev, Error
**errp)
{
IPMIBmc *b = IPMI_BMC(dev);
unsigned int i;
- unsigned int recid;
IPMIBmcSim *ibs = IPMI_BMC_SIMULATOR(b);
qemu_mutex_init(&ibs->lock);
@@ -1727,26 +1753,7 @@ static void ipmi_sim_realize(DeviceState *dev, Error
**errp)
ibs->sdr.last_clear[i] = 0xff;
}
- for (i = 0;;) {
- struct ipmi_sdr_header *sdrh;
- int len;
- if ((i + IPMI_SDR_HEADER_SIZE) > sizeof(init_sdrs)) {
- error_report("Problem with recid 0x%4.4x", i);
- return;
- }
- sdrh = (struct ipmi_sdr_header *) &init_sdrs[i];
- len = ipmi_sdr_length(sdrh);
- recid = ipmi_sdr_recid(sdrh);
- if (recid == 0xffff) {
- break;
- }
- if ((i + len) > sizeof(init_sdrs)) {
- error_report("Problem with recid 0x%4.4x", i);
- return;
- }
- sdr_add_entry(ibs, sdrh, len, NULL);
- i += len;
- }
+ ipmi_sdr_init(ibs);
ibs->acpi_power_state[0] = 0;
ibs->acpi_power_state[1] = 0;
--
2.1.4
[Qemu-devel] [PATCH v2 06/10] ipmi: use a function to initialize the SDR table,
Cédric Le Goater <=
[Qemu-devel] [PATCH v2 09/10] ipmi: use a file to load SDRs, Cédric Le Goater, 2016/03/02
[Qemu-devel] [PATCH v2 10/10] ipmi: provide support for FRUs, Cédric Le Goater, 2016/03/02
[Qemu-devel] [PATCH v2 04/10] ipmi: add rsp_buffer_set_error() helper, Cédric Le Goater, 2016/03/02
[Qemu-devel] [PATCH v2 07/10] ipmi: remove the need of an ending record in the SDR table, Cédric Le Goater, 2016/03/02
[Qemu-devel] [PATCH v2 08/10] ipmi: add some local variables in ipmi_sdr_init, Cédric Le Goater, 2016/03/02
[Qemu-devel] [PATCH v2 03/10] ipmi: remove IPMI_CHECK_RESERVATION() macro, Cédric Le Goater, 2016/03/02
[Qemu-devel] [PATCH v2 01/10] ipmi: remove IPMI_CHECK_CMD_LEN() macro, Cédric Le Goater, 2016/03/02