op-continue-mpreboot: ensure it runs after start_host

During an mpreboot, the obmc-host-startmin@.target is executed. Within
this target there are two services that can start the boot. One is the
standard start_host@.service which is used for a normal boot. The
op-continue-mpreboot@.service is used when it is a mpreboot.

The decision on which one runs and which one doesn't is based on the
/run/openbmc/mpreboot@%i file. The race condition we have is that both
services start at the same time from a systemd perspective. If the
mpreboot service happens to run first, it removes the mpreboot@%i file.
Then when the start_host service starts, it does not see the file so it
also runs! This is not good. To fix this, ensure the start_host service
runs first if it is started at the same time as the mpreboot service.

Tested:
- Verified start_host ran first and was skipped in mpreboot
Oct 27 22:46:58 openbmc systemd[1]: Condition check resulted in Start host0 SBE being skipped.
Oct 27 22:46:58 openbmc systemd[1]: Starting Continue mp reboot on host0...

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: Ifb995d3d1ac66314db5a171446097f88ead277c4
1 file changed
tree: cad9996bcc2d51d2373ecd90ea7ca2bcb6c51ecb
  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. p10_cfam.hpp
  22. p9_cfam.hpp
  23. proc_control.cpp
  24. README.md
  25. registration.hpp
  26. targeting.cpp
  27. targeting.hpp
  28. util.cpp
  29. 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`.