seL4/tools
Gerwin Klein 9f9ceddc18 bitfield_gen: allow non-contiguous tag fields
A tagged union can now optionally use multiple fields to indicate the
tag. These are called "sliced" tags in the code. The tag fields have to
be at the same position and width in each block of the tagged unions,
and all tag fields have to be within the same word.

When sliced tags are used, tag class masks cannot be used at the same
time for this tagged union.

In the `tagged_union` declaration, the values of such sliced tags
become tuples. For instance, if `x` and `y` are tag fields (declared in
blocks not shown here) with width 1 and 2, we can write:

    tagged_union ex exType(x,y) {
        tag ex1 (0,2)
        tag ex2 (1,3)
    }

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2022-03-21 17:43:37 +11:00
..
dts zynqmp/ultra96: Generate smmu node in header 2021-12-21 08:13:14 +11:00
hardware python: use KernelSel4Arch instead of KernelArch 2021-12-03 10:26:41 +11:00
python-deps Convert license tags to SPDX identifiers 2020-03-09 13:21:49 +08:00
bf.vim Convert license tags to SPDX identifiers 2020-03-09 13:21:49 +08:00
bitfield_gen.py bitfield_gen: allow non-contiguous tag fields 2022-03-21 17:43:37 +11:00
changed.sh tools: BSD compat for changed.sh 2020-06-18 12:39:46 +10:00
circular_includes.py Fix indexing into an empty array 2021-10-18 18:10:59 +11:00
cpp_gen.sh tools: use /usr/bin/env for bash/sh invocation 2021-08-25 17:56:49 +10:00
flags.cmake Convert license tags to SPDX identifiers 2020-03-09 13:21:49 +08:00
hardware.yml allwinnerA20: switch to the ARM generic timer 2021-10-28 08:30:41 +11:00
hardware_gen.py python: use KernelSel4Arch instead of KernelArch 2021-12-03 10:26:41 +11:00
hardware_schema.yml Convert license tags to SPDX identifiers 2020-03-09 13:21:49 +08:00
helpers.cmake CMake: unify config options define generation 2021-07-01 12:05:37 +10:00
internal.cmake CMake: inline set_kernel_32() and set_kernel_64() 2021-02-01 18:23:42 +01:00
invocation_header_gen.py use the loop.first builtin instead of namespaces 2022-03-01 07:57:31 +11:00
kernel_pylint.sh tools: more portable shell test 2021-08-25 17:56:49 +10:00
kernel_xmllint.sh tools: more portable shell test 2021-08-25 17:56:49 +10:00
lex.py Convert license tags to SPDX identifiers 2020-03-09 13:21:49 +08:00
pylintrc Convert license tags to SPDX identifiers 2020-03-09 13:21:49 +08:00
reciprocal.py Convert license tags to SPDX identifiers 2020-03-09 13:21:49 +08:00
syscall_header_gen.py trivial: update path to syscall.xml 2022-03-01 07:57:31 +11:00
umm.py umm.py: no memoization 2021-08-24 18:04:43 +10:00
xmllint.sh tools: use /usr/bin/env for bash/sh invocation 2021-08-25 17:56:49 +10:00