From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52295) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aeOhx-0003qm-CC for qemu-devel@nongnu.org; Fri, 11 Mar 2016 10:10:30 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aeOhw-0000aZ-7j for qemu-devel@nongnu.org; Fri, 11 Mar 2016 10:10:29 -0500 Received: from mx1.redhat.com ([209.132.183.28]:34760) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aeOhv-0000aT-Vs for qemu-devel@nongnu.org; Fri, 11 Mar 2016 10:10:28 -0500 Date: Fri, 11 Mar 2016 17:10:23 +0200 From: "Michael S. Tsirkin" Message-ID: <1457708548-14093-49-git-send-email-mst@redhat.com> References: <1457708548-14093-1-git-send-email-mst@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline In-Reply-To: <1457708548-14093-1-git-send-email-mst@redhat.com> Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PULL 48/53] ipmi: use a function to initialize the SDR table List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Peter Maydell , Eduardo Habkost , Corey Minyard , =?us-ascii?B?PT9VVEYtOD9xP0M9QzM9QTlkcmljPTIwTGU9MjBHb2F0ZXI/PQ==?= , Marcel Apfelbaum , Greg Kurz From: C=E9dric Le Goater 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=E9dric Le Goater Acked-by: Corey Minyard Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- 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 52bfdb9..0d4d748 100644 --- a/hw/ipmi/ipmi_bmc_sim.c +++ b/hw/ipmi/ipmi_bmc_sim.c @@ -1694,6 +1694,33 @@ static const uint8_t init_sdrs[] =3D { 0xff, 0xff, 0x00, 0x00, 0x00 }; =20 +static void ipmi_sdr_init(IPMIBmcSim *ibs) +{ + unsigned int i; + unsigned int recid; + + for (i =3D 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 =3D (struct ipmi_sdr_header *) &init_sdrs[i]; + len =3D ipmi_sdr_length(sdrh); + recid =3D ipmi_sdr_recid(sdrh); + if (recid =3D=3D 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 +=3D len; + } +} + static const VMStateDescription vmstate_ipmi_sim =3D { .name =3D TYPE_IPMI_BMC_SIMULATOR, .version_id =3D 1, @@ -1726,7 +1753,6 @@ static void ipmi_sim_realize(DeviceState *dev, Erro= r **errp) { IPMIBmc *b =3D IPMI_BMC(dev); unsigned int i; - unsigned int recid; IPMIBmcSim *ibs =3D IPMI_BMC_SIMULATOR(b); =20 qemu_mutex_init(&ibs->lock); @@ -1743,26 +1769,7 @@ static void ipmi_sim_realize(DeviceState *dev, Err= or **errp) ibs->sdr.last_clear[i] =3D 0xff; } =20 - for (i =3D 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 =3D (struct ipmi_sdr_header *) &init_sdrs[i]; - len =3D ipmi_sdr_length(sdrh); - recid =3D ipmi_sdr_recid(sdrh); - if (recid =3D=3D 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 +=3D len; - } + ipmi_sdr_init(ibs); =20 ibs->acpi_power_state[0] =3D 0; ibs->acpi_power_state[1] =3D 0; --=20 MST