fix(ff-a): notification pending interrupt

Currently for S-EL1 partitions, the NPI is injected in two different
moments depending on the type of interrupt:
- For per-vCPU notifications NPI injected at the moment notifications
are set.
- For Global notifications NPI injected at context switch from the NWd
to the receiver SP.

This patch ammends what described above. The injection of the NPI now
happens at handling of FFA_RUN and FFA_MSG_SEND_DIRECT_REQ, when the
vCPU is resumed to running state.
Also, the injection of the NPI is done through the same method/function,
regardless of notifications type. This caters for a better
implementation, as it makes it easier to read and debug (if necessary).

For S-EL0 partitions, the NPI is not used. The S-EL0 partition must be
notified it has pending notifications through an IMPDEF direct messaging
request.

Change-Id: Ib1906c8e5de4be63ca7a7a1cafd25a4675b9b940
Signed-off-by: J-Alves <joao.alves@arm.com>
9 files changed
tree: 2d240b22dd843b6d4057a9805ebbd76efcdfa793
  1. .vscode/
  2. build/
  3. docs/
  4. driver/
  5. inc/
  6. kokoro/
  7. project/
  8. src/
  9. test/
  10. third_party/
  11. vmlib/
  12. .clang-format
  13. .clang-tidy
  14. .gitignore
  15. .gitmodules
  16. .gn
  17. AUTHORS
  18. BUILD.gn
  19. CONTRIBUTING.md
  20. dco.txt
  21. LICENSE
  22. Makefile
  23. navbar.md
  24. README.md
README.md

Hafnium

Hafnium is a hypervisor, initially supporting aarch64 (64-bit Armv8 CPUs).

Get in touch and keep up-to-date at hafnium@lists.trustedfirmware.org. See feature requests and bugs on our bug dashboard.

Getting started

To jump in and build Hafnium, follow the getting started instructions.

If you want to contribute to the project, see details of how we accept contributions.

Documentation

More documentation is available on: