170dbc587SMatthew BarthThis .so file is designed to support the OpenPOWER's BIOS OEM commands. 270dbc587SMatthew BarthDocumentation can be found by contacting the OpenPOWER mailing list @ https://github.com/open-power/op-build 35607b82fSChris Austen 45607b82fSChris Austen## To Build 55607b82fSChris Austen``` 670dbc587SMatthew BarthTo build this package, do the following steps: 770dbc587SMatthew Barth 870dbc587SMatthew Barth 1. ./bootstrap.sh 970dbc587SMatthew Barth 2. ./configure ${CONFIGURE_FLAGS} 1070dbc587SMatthew Barth 3. make 1170dbc587SMatthew Barth 1211b6efa6SGunnar MillsTo clean the repository run `./bootstrap.sh clean`. 135607b82fSChris Austen``` 145607b82fSChris Austen 155607b82fSChris Austen## Supported Commands 165607b82fSChris Austen- Partial Add 175607b82fSChris Austen- Prepare for host update 18*81c34dfeSAdriana Kobylak- BMC Factory Reset 19*81c34dfeSAdriana Kobylak 20*81c34dfeSAdriana Kobylak## Command Documentation 21*81c34dfeSAdriana Kobylak 22*81c34dfeSAdriana Kobylak### BMC Factory Reset 23*81c34dfeSAdriana KobylakNetfun: 0x3a 24*81c34dfeSAdriana KobylakCommand: 0x11 25*81c34dfeSAdriana Kobylak 26*81c34dfeSAdriana KobylakThis command will call to reset the BMC to its factory default. See [here][0] 27*81c34dfeSAdriana Kobylakfor the factory reset implementation details. 28*81c34dfeSAdriana Kobylak 29*81c34dfeSAdriana KobylakThis includes: 30*81c34dfeSAdriana Kobylak1. Power the chassis off. The host needs to be powered off because the factory 31*81c34dfeSAdriana Kobylakreset deletes the inventory items, which are needed for the BMC during the power 32*81c34dfeSAdriana Kobylakon path, causing the power on to fail. The inventory items are repopulated 33*81c34dfeSAdriana Kobylakduring a host power on. 34*81c34dfeSAdriana KobylakAn enhancement to OpenBMC would be to handle missing inventory items during 35*81c34dfeSAdriana Kobylaka BMC reboot when the host is on. 36*81c34dfeSAdriana Kobylak2. Set the BMC to perform factory reset on reboot. 37*81c34dfeSAdriana Kobylak3. Reboot the BMC for the factory reset to take effect. 38*81c34dfeSAdriana Kobylak 39*81c34dfeSAdriana KobylakBecause the chassis is powered off, the host does not receive a return code 40*81c34dfeSAdriana Kobylakwhen successful. 41*81c34dfeSAdriana Kobylak 42*81c34dfeSAdriana KobylakThis command is not allowed when the IPMI restriction mode is set to 43*81c34dfeSAdriana Kobylak'Whitelist'. See [here][1] for more information. 44*81c34dfeSAdriana Kobylak 45*81c34dfeSAdriana Kobylak[0]: https://github.com/openbmc/phosphor-dbus-interfaces/tree/master/xyz/openbmc_project/Common/FactoryReset#xyzopenbmc_projectsoftwarebmcupdater 46*81c34dfeSAdriana Kobylak[1]: https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/xyz/openbmc_project/Control/Security/RestrictionMode.interface.yaml 475607b82fSChris Austen 48