summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYong Li <yong.b.li@linux.intel.com>2019-10-30 13:27:12 +0800
committerVernon Mauery <vernon.mauery@linux.intel.com>2019-11-06 01:03:01 +0000
commit5833cb6ee09bd911e02b36675932c3f97c533048 (patch)
tree51b0416427148cb53abe6b0c7299c56bf58296df
parentecd7bb9889e512b654ed4596e3f4d5efeadcc05b (diff)
downloadphosphor-host-ipmid-5833cb6ee09bd911e02b36675932c3f97c533048.tar.gz
phosphor-host-ipmid-5833cb6ee09bd911e02b36675932c3f97c533048.zip
Add compile option to disable safe mode option in boot flags
Some platforms doe not support safe mode in set/get system boot options commands, add an compile option to disable it. Using the below command: ./configure --disable-boot-flag-safe-mode-support Tested: After adding this compile option, below command fails: // set safe mode in set system boot options command ipmitool raw 0 8 5 0x80 0xc Unable to send RAW command (channel=0x0 netfn=0x0 lun=0x0 cmd=0x8 rsp=0xcc): Invalid data field in request Signed-off-by: Yong Li <yong.b.li@linux.intel.com> Change-Id: Ie479a0c68a8e9fc79f99c9d4cc10cdd1e6ceb20e
-rw-r--r--chassishandler.cpp4
-rw-r--r--configure.ac11
2 files changed, 15 insertions, 0 deletions
diff --git a/chassishandler.cpp b/chassishandler.cpp
index 2e911f9..305897b 100644
--- a/chassishandler.cpp
+++ b/chassishandler.cpp
@@ -1327,7 +1327,9 @@ std::map<IpmiValue, Source::Sources> sourceIpmiToDbus = {
{ipmiDefault, Source::Sources::Default}};
std::map<IpmiValue, Mode::Modes> modeIpmiToDbus = {
+#ifdef ENABLE_BOOT_FLAG_SAFE_MODE_SUPPORT
{0x03, Mode::Modes::Safe},
+#endif // ENABLE_BOOT_SAFE_MODE_SUPPORT
{0x06, Mode::Modes::Setup},
{ipmiDefault, Mode::Modes::Regular}};
@@ -1339,7 +1341,9 @@ std::map<Source::Sources, IpmiValue> sourceDbusToIpmi = {
{Source::Sources::Default, ipmiDefault}};
std::map<Mode::Modes, IpmiValue> modeDbusToIpmi = {
+#ifdef ENABLE_BOOT_FLAG_SAFE_MODE_SUPPORT
{Mode::Modes::Safe, 0x03},
+#endif // ENABLE_BOOT_SAFE_MODE_SUPPORT
{Mode::Modes::Setup, 0x06},
{Mode::Modes::Regular, ipmiDefault}};
diff --git a/configure.ac b/configure.ac
index 04c48b8..296165f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -25,6 +25,17 @@ AM_PROG_AR
AC_PROG_INSTALL
AC_PROG_MAKE_SET
+# Add an option to enable/disable safe mode in boot flags
+AC_ARG_ENABLE([boot-flag-safe-mode-support],
+ AS_HELP_STRING([--disable-boot-flag-safe-mode-support], [Disable safe mode option in boot flags. [default=enable]])
+)
+AS_IF([test "x$enable_boot_flag_safe_mode_support" != "xno"],
+ AC_MSG_NOTICE([Enabling safe mode option in boot flags])
+ [cpp_flags="-DENABLE_BOOT_FLAG_SAFE_MODE_SUPPORT"]
+ AC_SUBST([CPPFLAGS], [$cpp_flags]),
+ AC_MSG_WARN([Disabling safe mode option in boot flags])
+)
+
# Add an option to enable/disable i2c master write read command white list checking
AC_ARG_ENABLE([i2c-whitelist-check],
AS_HELP_STRING([--disable-i2c-whitelist-check], [Disable I2C master write read command white list check. [default=enable]])
OpenPOWER on IntegriCloud