PHAL: reinitialize the devtree attributes

In the regular host boot path devtree attribute need to
initialize the default data and also some of the selected
attributes need to preserve with previous boot value.
Preserve attribute list is available BMC pre-defined location.
This function helps to meet the host ipl requirement
related to attribute persistency management for host ipl.

Steps involved
  1. create attribute data file from devtree r/w version based on
     the attribute list file installed in bmc.
  2. create temporary copy of r/w version devtree for attributes
     updates and initialise with r/o DEVTREE version
     to default data.
  3. apply step-1 attribute file on top of the temporary
     copy file.
  4. Incase any failure from step 1 to 3 log an error and
     update r/w version with r/o version ( genesis boot).
  5. Update DEVTREE r/w version with temporary version file.

Also added devtree libs part of the pdata repository to
export/import attributes devtree.

Tested: verified the devtree attribute values.

Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.com>
Change-Id: I20c17ba3013a0b4b01f9f8e0d4462c91489308e8
3 files changed
tree: 8d9042f5ba2120e2081ac83b58fd2ce12d5312cc
  1. extensions/
  2. procedures/
  3. service_files/
  4. test/
  5. .clang-format
  6. .gitignore
  7. .shellcheck
  8. cfam_access.cpp
  9. cfam_access.hpp
  10. ext_interface.cpp
  11. ext_interface.hpp
  12. filedescriptor.cpp
  13. filedescriptor.hpp
  14. LICENSE
  15. MAINTAINERS
  16. meson.build
  17. meson_options.txt
  18. nmi_interface.cpp
  19. nmi_interface.hpp
  20. nmi_main.cpp
  21. OWNERS
  22. p10_cfam.hpp
  23. p9_cfam.hpp
  24. proc_control.cpp
  25. README.md
  26. registration.hpp
  27. targeting.cpp
  28. targeting.hpp
  29. temporary_file.cpp
  30. temporary_file.hpp
  31. util.cpp
  32. util.hpp
README.md

Contains procedures that interact with the OpenPower nest chipset.

To Build

To build this package, do the following steps:

    1. ./bootstrap.sh
    2. ./configure ${CONFIGURE_FLAGS}
    3. make

To build with phal feature:
    1. ./bootstrap.sh
    2. ./configure ${CONFIGURE_FLAGS} --enable-phal --enable-openfsi
    3. make

To clean the repository run `./bootstrap.sh clean`.