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