[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 07/10] ipmi: remove the need of an ending record
From: |
Cédric Le Goater |
Subject: |
[Qemu-devel] [PATCH v3 07/10] ipmi: remove the need of an ending record in the SDR table |
Date: |
Thu, 10 Mar 2016 15:04:00 +0100 |
Currently, the code initializing the sdr table relies on an ending
record with a recid of 0xffff. This patch changes the loop to use the
sdr size as a breaking condition.
Signed-off-by: Cédric Le Goater <address@hidden>
Acked-by: Corey Minyard <address@hidden>
Reviewed-by: Marcel Apfelbaum <address@hidden>
---
hw/ipmi/ipmi_bmc_sim.c | 13 +++----------
1 file changed, 3 insertions(+), 10 deletions(-)
Index: qemu-powernv.git/hw/ipmi/ipmi_bmc_sim.c
===================================================================
--- qemu-powernv.git.orig/hw/ipmi/ipmi_bmc_sim.c
+++ qemu-powernv.git/hw/ipmi/ipmi_bmc_sim.c
@@ -1690,34 +1690,27 @@ static const uint8_t init_sdrs[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8,
'W', 'a', 't', 'c', 'h', 'd', 'o', 'g',
- /* End */
- 0xff, 0xff, 0x00, 0x00, 0x00
};
static void ipmi_sdr_init(IPMIBmcSim *ibs)
{
unsigned int i;
- unsigned int recid;
+ int len;
- for (i = 0;;) {
+ for (i = 0; i < sizeof(init_sdrs); i += len) {
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;
}
}
- [Qemu-devel] [PATCH v3 00/10] ipmi: a couple of enhancements to the BMC simulator (round 2), Cédric Le Goater, 2016/03/10
- [Qemu-devel] [PATCH v3 01/10] ipmi: remove IPMI_CHECK_CMD_LEN() macro, Cédric Le Goater, 2016/03/10
- [Qemu-devel] [PATCH v3 04/10] ipmi: add rsp_buffer_set_error() helper, Cédric Le Goater, 2016/03/10
- [Qemu-devel] [PATCH v3 03/10] ipmi: remove IPMI_CHECK_RESERVATION() macro, Cédric Le Goater, 2016/03/10
- [Qemu-devel] [PATCH v3 02/10] ipmi: replace IPMI_ADD_RSP_DATA() macro with inline helpers, Cédric Le Goater, 2016/03/10
- [Qemu-devel] [PATCH v3 07/10] ipmi: remove the need of an ending record in the SDR table,
Cédric Le Goater <=
- [Qemu-devel] [PATCH v3 05/10] ipmi: add a realize function to the device class, Cédric Le Goater, 2016/03/10
- [Qemu-devel] [PATCH v3 08/10] ipmi: add some local variables in ipmi_sdr_init, Cédric Le Goater, 2016/03/10
- [Qemu-devel] [PATCH v3 09/10] ipmi: use a file to load SDRs, Cédric Le Goater, 2016/03/10
- [Qemu-devel] [PATCH v3 10/10] ipmi: provide support for FRUs, Cédric Le Goater, 2016/03/10
- [Qemu-devel] [PATCH v3 06/10] ipmi: use a function to initialize the SDR table, Cédric Le Goater, 2016/03/10