diff options
| author | Jinhua Cao <caojinhua1@huawei.com> | 2021-06-25 10:12:32 +0800 |
|---|---|---|
| committer | Corey Minyard <cminyard@mvista.com> | 2021-07-08 14:15:01 -0500 |
| commit | 9e7449901d33ed0ddc0c432b15896019e3aec4f1 (patch) | |
| tree | 37877661929b4e5055f1e16a40280c01407c50e5 | |
| parent | 90603c5b894eae0e4c8a4a6fdde622143142489c (diff) | |
| download | focaccia-qemu-9e7449901d33ed0ddc0c432b15896019e3aec4f1.tar.gz focaccia-qemu-9e7449901d33ed0ddc0c432b15896019e3aec4f1.zip | |
ipmi/sim: fix watchdog_expired data type error in IPMIBmcSim struct
1) watchdog_expired is set bool which value could only be 0 or 1, but watchdog_expired every bit mean different Timer Use. 2) Use the command -ipmitool mc get watchdog- to query ipmi-watchdog status in guest. ... [root@localhost ~]# ipmitool mc watchdog get Watchdog Timer Use: SMS/OS (0x44) Watchdog Timer Is: Started/Running Watchdog Timer Actions: Hard Reset (0x01) Pre-timeout interval: 0 seconds Timer Expiration Flags: 0x00 Initial Countdown: 60 sec Present Countdown: 57 sec ... bool for watchdog_expired results -Timer Expiration Flags- always be 0x00 or 0x01, but the -Timer Expiration Flags- indicts the Timer Use after timeout. So change watchdog_expired data type from bool to uint8_t to fix this problem. Signed-off-by: Jinhua Cao <caojinhua1@huawei.com> Message-Id: <20210625021232.73614-1-caojinhua1@huawei.com> [I checked, a bool and uint8 are the same size for the vmstate transfer, so this should be fine.] Signed-off-by: Corey Minyard <cminyard@mvista.com>
Diffstat (limited to '')
| -rw-r--r-- | hw/ipmi/ipmi_bmc_sim.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/hw/ipmi/ipmi_bmc_sim.c b/hw/ipmi/ipmi_bmc_sim.c index 55fb81fa5a..905e091094 100644 --- a/hw/ipmi/ipmi_bmc_sim.c +++ b/hw/ipmi/ipmi_bmc_sim.c @@ -189,7 +189,7 @@ struct IPMIBmcSim { uint8_t watchdog_use; uint8_t watchdog_action; uint8_t watchdog_pretimeout; /* In seconds */ - bool watchdog_expired; + uint8_t watchdog_expired; uint16_t watchdog_timeout; /* in 100's of milliseconds */ bool watchdog_running; @@ -2110,7 +2110,7 @@ static const VMStateDescription vmstate_ipmi_sim = { VMSTATE_UINT8(watchdog_use, IPMIBmcSim), VMSTATE_UINT8(watchdog_action, IPMIBmcSim), VMSTATE_UINT8(watchdog_pretimeout, IPMIBmcSim), - VMSTATE_BOOL(watchdog_expired, IPMIBmcSim), + VMSTATE_UINT8(watchdog_expired, IPMIBmcSim), VMSTATE_UINT16(watchdog_timeout, IPMIBmcSim), VMSTATE_BOOL(watchdog_running, IPMIBmcSim), VMSTATE_BOOL(watchdog_preaction_ran, IPMIBmcSim), |