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