diff options
| author | Yong Li <yong.b.li@linux.intel.com> | 2019-10-30 13:27:12 +0800 |
|---|---|---|
| committer | Vernon Mauery <vernon.mauery@linux.intel.com> | 2019-11-06 01:03:01 +0000 |
| commit | 5833cb6ee09bd911e02b36675932c3f97c533048 (patch) | |
| tree | 51b0416427148cb53abe6b0c7299c56bf58296df | |
| parent | ecd7bb9889e512b654ed4596e3f4d5efeadcc05b (diff) | |
| download | phosphor-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.cpp | 4 | ||||
| -rw-r--r-- | configure.ac | 11 |
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]]) |

