From b1658dacba3bb14c9ceff016dce9da0f12fdbcc0 Mon Sep 17 00:00:00 2001 From: xiexs Date: Wed, 17 Aug 2016 03:01:30 -0400 Subject: [PATCH] Support NMI in bmc In the fix Ib7465ace5b370b31dab5334a34f7216170e1ff2b, we used cold_reset() as NMI, but it is not correct. According to [1], we should add a new interface to handle NMI. [1]https://sourceforge.net/p/ipmitool/source/ci/ 9caa78be38f2bdf1f3c03571f0c7310a1cb486b7/tree/ include/ipmitool/ipmi_constants.h Change-Id: I711053704d27a74a29bb6f50ca85666dd2049d65 --- pyghmi/ipmi/bmc.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pyghmi/ipmi/bmc.py b/pyghmi/ipmi/bmc.py index 08e73590..8cebd26a 100644 --- a/pyghmi/ipmi/bmc.py +++ b/pyghmi/ipmi/bmc.py @@ -38,6 +38,9 @@ class Bmc(serversession.IpmiServer): def power_reset(self): raise NotImplementedError + def pulse_diag(self): + raise NotImplementedError + def power_shutdown(self): raise NotImplementedError @@ -73,8 +76,8 @@ class Bmc(serversession.IpmiServer): elif directive == 3: rc = self.power_reset() elif directive == 4: - # i.e. a NMI reset - rc = self.cold_reset() + # i.e. Pulse a diagnostic interrupt(NMI) directly + rc = self.pulse_diag() elif directive == 5: rc = self.power_shutdown() if rc is None: