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