Add boot info ack paramter to set/get boot option command
It's required by BIOS, BIOS always checks the bootinfo ack
paramter, otherwise, BIOS will bypass the boot option flow
Tested: Ran `ipmitool chassis bootdev pxe`, saw the BIOS
entered into pxe
Signed-off-by: John Wang <wangzhiqiang.bj@bytedance.com>
Change-Id: I127801301d713d7177fcf84a166800a9158545c1
diff --git a/chassishandler.cpp b/chassishandler.cpp
index 5431e59..4ca981d 100644
--- a/chassishandler.cpp
+++ b/chassishandler.cpp
@@ -1715,6 +1715,15 @@
return ipmi::responseSuccess(std::move(response));
}
+ if (static_cast<uint8_t>(bootOptionParameter) ==
+ static_cast<uint8_t>(BootOptionParameter::bootInfo))
+ {
+ constexpr uint8_t writeMask = 0;
+ constexpr uint8_t bootInfoAck = 0;
+ response.pack(bootOptionParameter, writeMask, bootInfoAck);
+ return ipmi::responseSuccess(std::move(response));
+ }
+
/*
* Parameter #5 means boot flags. Please refer to 28.13 of ipmi doc.
* This is the only parameter used by petitboot.