cantrip/irq: support connecting multiple irq's to a single ntfn

Expand the irq connection syntax to support routing multiple irq's to
one endpoint. This is useful for reducing the overhead (thread, stack,
ipc_buffer, etc) for low-duty/low-priority irq's.  Syntax is:

connection cantripIRQ <name>(from <srcA>, from <srcB>, ..., to <dest>);

One thread is created for <dest>. The thread's run method should wait
on the master notification object (<dest>_NOTIFICATION) and then check
the received badge/bitmask to find out which src's were triggered.
Source connections are badged with a bitmask value constructed from
the position in the connection list; e.g. <srcA> = 1<<0, <srcB> = 1<<1,
etc. so a received bitmask of 3 indicates <srcA> & <srcB> were triggered.

Note all IRQ's are badged, even when there is a dedicated thread.

Change-Id: I82262f4a5c399200e1d0acee937644e41a4d3312
2 files changed
tree: 0353d17649060c96db2a8b0dbaa3e67b986c5cf0
  1. .github/
  2. .reuse/
  3. camkes/
  4. cdl-refine-tests/
  5. components/
  6. docs/
  7. examples/
  8. include/
  9. libcamkescakeml/
  10. libsel4camkes/
  11. LICENSES/
  12. misc/
  13. tools/
  14. .gitignore
  15. .licenseignore
  16. .stylefilter
  17. alltests.py
  18. camkes-top-level.cmake
  19. camkes.cmake
  20. CHANGES
  21. CMakeLists.txt
  22. Findcamkes-tool.cmake
  23. LICENSE_BSD2.txt
  24. PREUPLOAD.cfg
  25. README.md
  26. VERSION
README.md

CAmkES

This repository contains the code generator and templating system that form the core of the CAmkES component platform.

For more information about CAmkES functionality, see the documentation.

Dependencies

See the wiki: https://docs.sel4.systems/CAmkES/#build-dependencies

Reporting security vulnerabilities

If you believe you have found a security vulnerability in code generated by camkes-tool, we ask you to follow the seL4 vulnerability disclosure policy.