1This .so file is designed to support the OpenPOWER's BIOS OEM commands. 2Documentation can be found by contacting the OpenPOWER mailing list @ https://github.com/open-power/op-build 3 4## To Build 5``` 6To build this package, do the following steps: 7 8 1. ./bootstrap.sh 9 2. ./configure ${CONFIGURE_FLAGS} 10 3. make 11 12To clean the repository run `./bootstrap.sh clean`. 13``` 14 15## Supported Commands 16- Partial Add 17- Prepare for host update 18- BMC Factory Reset 19 20## Command Documentation 21 22### BMC Factory Reset 23Netfun: 0x3a 24Command: 0x11 25 26This command will call to reset the BMC to its factory default. See [here][0] 27for the factory reset implementation details. 28 29This includes: 301. Power the chassis off. The host needs to be powered off because the factory 31reset deletes the inventory items, which are needed for the BMC during the power 32on path, causing the power on to fail. The inventory items are repopulated 33during a host power on. 34An enhancement to OpenBMC would be to handle missing inventory items during 35a BMC reboot when the host is on. 362. Set the BMC to perform factory reset on reboot. 373. Reboot the BMC for the factory reset to take effect. 38 39Because the chassis is powered off, the host does not receive a return code 40when successful. 41 42This command is not allowed when the IPMI restriction mode is set to 43'Whitelist'. See [here][1] for more information. 44 45[0]: https://github.com/openbmc/phosphor-dbus-interfaces/tree/master/xyz/openbmc_project/Common/FactoryReset#xyzopenbmc_projectsoftwarebmcupdater 46[1]: https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/yaml/xyz/openbmc_project/Control/Security/RestrictionMode.interface.yaml 47 48