#
53f39c24 |
|
21-May-2020 |
Oliver Scott <Oliver.Scott@data61.csiro.au> |
python-capdl-tool: Add smmu v2 support Add support for generating arm streamid and contextbank specs. Signed-off-by: Oliver Scott <Oliver.Scott@data61.csiro.au>
|
#
3aa810cb |
|
17-Jun-2020 |
Gerwin Klein <gerwin.klein@data61.csiro.au> |
Make python style compliant Brings the python files in this repo into compliance with the checks in `sel4_tools`.
|
#
9f1ba467 |
|
17-Jun-2020 |
Gerwin Klein <gerwin.klein@data61.csiro.au> |
Convert to SPDX license tags This includes marking all documentation files CC-BY-SA-4.0.
|
#
6545eaa9 |
|
21-Apr-2020 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
Add resume field to TCB capDL object This field is used to indicate whether the TCB should remain suspended or resumed instead.
|
#
a66a1b30 |
|
10-Feb-2020 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
Add support for Arm GetTrigger and GetTriggerCore There are additional IRQ control invocations on Arm for specifying the trigger mode (edge or level) and for specifying the target core. This adds support to the capDL language to allow specifying IRQs of this type. Additionally this adds support to the capdl-loader-app for creating these IRQ handlers and also support in the python-capdl-tool library for generating Arm specs that have IRQs specifying trigger or target core attributes.
|
#
6aee2c3d |
|
04-Feb-2020 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
python-capdl-tool: Add get_libsel4_constant This allows for direct querying out of the object_sizes dictionary that is registered for calculating object sizes.
|
#
b316756f |
|
23-Oct-2019 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
Remove elf attribute from TCB object This attribute was used by a loader to infer which ELF file to load into the thread's address space. It is no longer used as the functionality for loading an ELF is implemented by a fill frames mechanism for specifying which sections of a frame contains subsections of an ELF file. This also makes it possible to load specs with sections of a thread's address space constructed from multiple ELF files. This also removes a potential ambiguity where two TCBs with the same VSpace cap refer to different ELFs.
|
#
29d57d03 |
|
09-Oct-2019 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
Add support for multiple FrameFills A FrameFill fills a section of a frame with data. In anticipation of more variants of FrameFills becoming available there will be a need for describing multiple FrameFills for a single frame this would be for either multiple non-overlapping sections or potentially layering of overlapping sections.
|
#
303d2321 |
|
05-Aug-2019 |
Anna Lyons <anna@gh.st> |
python-capdl-tool: fix quirk in get_object_size Don't return 1 when the value returned is 0.
|
#
fc2cbe61 |
|
29-Mar-2019 |
Chris Guikema <chris.guikema@dornerworks.com> |
capdl: support 40-bit PA size on aarch64-hyp Update vspace structure when starting at level 1 Co-authored-by: Anna Lyons <anna@gh.st>
|
#
830bff5c |
|
09-Jul-2019 |
Japheth Lim <Japheth.Lim@data61.csiro.au> |
python-capdl-tool, capdl_linker: allocate slots for ASID pools This adds an ASIDTableAllocator to auto-allocate asid_high numbers for capDL specs, therefore making the ASID table mappings explicit in our generated specifications.
|
#
3c3963cf |
|
09-Jul-2019 |
Japheth Lim <Japheth.Lim@data61.csiro.au> |
capDL-tool: implement asid_high attribute for ASID pools This removes the `asid` attribute from ASID pool caps, and moves it to an `asid_high` attribute on ASID pool objects.
|
#
fa63beff |
|
25-Jun-2019 |
Anna Lyons <anna@gh.st> |
trivial: style changed files
|
#
dc081bd7 |
|
25-Jun-2019 |
Anna Lyons <anna@gh.st> |
python-capdl-tool: fix errors reported by pylint3 Fix errors reported by pylint3 --errors-only on .py files in python-capdl-tool.
|
#
ef2fe742 |
|
13-Feb-2019 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
python-capdl-tool: add untyped allocator This change adds an offline allocator for calculating untyped derivations, which will be used in future to specify exact derivations from boot info untyped objects. This allows the allocation logic to be removed from the loader, this simplifying the loader model for verificaion while allowing for policy freedom in terms of allocation. The initial allocator implementation is a best-fit allocator.
|
#
f57c5270 |
|
04-Jun-2019 |
Japheth Lim <Japheth.Lim@data61.csiro.au> |
cdl_utils: get untyped_gen to run
|
#
4216ad0a |
|
27-Mar-2019 |
Yu Hou <Yu.Hou@data61.csiro.au> |
capdl: Handle passing DomainCap and ASIDControlCap add support for passing DomainCap and ASIDControlCap to capdl-loader-app, capdl-tool and python-capdl-tool
|
#
7c85c7f8 |
|
02-Mar-2019 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
python-capdl-tool: Update cap guards automatically Whenever finalise_size is called, we want to update all the Caps that are registered referring to this CNode to have their guards updated.
|
#
043ec4b2 |
|
24-Feb-2019 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
python-capdl-tool: Return None if no object_sizes Sometimes this library is used in a context that doesn't require object_sizes to be known. Returning None sets the object's size to None which may be fine if the objects size is never needed.
|
#
3d6ddfcd |
|
13-Feb-2019 |
Japheth Lim <Japheth.Lim@data61.csiro.au> |
python-capdl-tool: better sorting and index type-checking for ContainerObject
|
#
36be506a |
|
14-Feb-2019 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
Revert "python-capdl-tool: add untyped allocator" This reverts commit 1b369bbe54cb57a2169e2fe659936844e4d23990.
|
#
1b369bbe |
|
13-Feb-2019 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
python-capdl-tool: add untyped allocator TODO context
|
#
fb0e8d35 |
|
13-Feb-2019 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
python-capdl-tool: make Untyped objects sortable
|
#
61e85e48 |
|
13-Feb-2019 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
python-capdl-tool: correct exception type An invalid key is a KeyError not a ValueError.
|
#
d2aa66b8 |
|
06-Feb-2019 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
python-capdl-tool: trivial fix whitespace
|
#
c325b91f |
|
06-Feb-2019 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
python-capdl-tool: use get_object_size for frame sizes This change removes the hardcoded frame sizes from util.c and uses get_object_size to query the sizes of frames.
|
#
cb2256bb |
|
12-Feb-2019 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
python-capdl-tool: add object sizes This change allows a dictionary of object sizes to be registered with the python capdl tool (via Object.register_object_sizes) which can then be queried to find the size of non-fixed sized object types. The dictionary provided should define sizes for all fixed-sized objects in the Object.ObjectType enum that are used by the spec being processed with the library.
|
#
e04a3575 |
|
06-Feb-2019 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
python-capdl-tool: remove IA32 from non-ia32 only constants seL4_IA32_VCPU -> seL4_VCPU seL4_IA32_IOPageTable -> seL4_IOPageTable
|
#
198ac825 |
|
05-Feb-2019 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
python-capdl-tool: reduce duplicated object constants This change removes duplicated object types for types that are shared across architecutes. For example, rather than have both seL4_IA32_PageTableObject and seL4_ARM_PageTableObject, just use seL4_PageTableObject. This reduces code complexity.
|
#
baf0f11d |
|
06-Feb-2019 |
Japheth Lim <Japheth.Lim@data61.csiro.au> |
Object.py: clean up hexadecimal formatting
|
#
450eb90c |
|
05-Feb-2019 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
python-capdl-tool: use aenum package for enums - use auto() to generate enum numbers - use the Flag class for values that need to be flags Both these changes make the enums in Object.py far more maintainable and amenable to changes.
|
#
04919f74 |
|
04-Feb-2019 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
python-capdl-tool: mark ObjectType enum as unique Prevent accidental collisions
|
#
55cb1121 |
|
04-Feb-2019 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
python-capdl-tool: fix whitespace in object.py Abide by PEP-3
|
#
aad29b63 |
|
05-Dec-2018 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
Add new GrantReply right to capDL tools
|
#
0d2ce4a5 |
|
04-Nov-2018 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
python-capdl-tool: Add aarch64 support
|
#
9e4652b8 |
|
06-Oct-2018 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
python-capdl: Auto update guard_size on CNode caps If possible update the guard_size attribute on caps to CNodes when the CNode size is changed from 'auto' to an actual size
|
#
1ce8a69c |
|
09-Oct-2018 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
capdl: allow IRQControl to be in loaded cnode This commit allows the IRQControl capability to be loaded by the capdl loader into a single cspace (you cannot create copies of this cap, so trying to put it into two cspaces will fail). There are no changes to the Haskell, which already supports irq_control. Changes to python: - change ObjectType.seL4_IRQControl to ObjectType.IRQHandler. This looks like an error in the existing code, as the constant was always interpreted as an IRQHandler not the IRQControl capability. - add a new ObjectType.seL4_IRQControl - add a new Object.IRQControl class which resolves to "irq_control". This matches how other control capabilities are treated in the python, although they do not actually resolve to Objects (just caps). Changes to C: - add a new capdl_to_irq_ctrl data structure which mirrors the sched_ctrl data structure - when irq_control is specified in a cnode, move it to that slot
|
#
1ddbb545 |
|
03-Oct-2018 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
python: create and use ObjectRights enum Add the ObjectRights enum which contains all seL4 rights constants, eg seL4_CapRights etc. This allows for easy iteration of all object rights and reduces import complexity.
|
#
10e2666c |
|
03-Oct-2018 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
python: create and use ObjectType enum Move the object type (seL4_.*Object) constants into a new enum, ObjectType. This allows the types to be iterable and reduces the number of imports, resulting in less boilerplate.
|
#
5737a1c5 |
|
14-May-2018 |
Japheth Lim <Japheth.Lim@data61.csiro.au> |
remove crit and max_crit fields These fields have never been used.
|
#
5f4c257a |
|
09-May-2018 |
Japheth Lim <Japheth.Lim@data61.csiro.au> |
python-capdl-tool: calculate size for empty CNodes
|
#
2609e35e |
|
27-Apr-2018 |
Japheth Lim <Japheth.Lim@data61.csiro.au> |
python-capdl-tool: refactor TCB printer
|
#
46cd2575 |
|
27-Apr-2018 |
Japheth Lim <Japheth.Lim@data61.csiro.au> |
python-capdl-tool: safer encoding of objects with no fixed paddrs Encoding it as 0 is inelegant and also makes the camkes-tool's new object sorter more complicated. This commit uses None instead.
|
#
e1ad3289 |
|
22-Apr-2018 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
Update IOPort model Changes the model of the IOPorts in the capdl specification and the surrounding tools to reflect a change in the kernel model. There is now a single IO port control capability that can produce non overlapping IO port caps. Due to the non overlapping requirement the capdl model treats the 'object' as an IO port cap issued from the control capability and this is then duplicated at the cap level to produce all cap references.
|
#
142df05b |
|
13-Jul-2017 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
Fix whitespace - Remove trialing whitespace - Remove duplicate blank lines - Remove blank lines at end of file
|
#
d5ae4e67 |
|
04-Jun-2017 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
Fix licenses
|
#
35c121f9 |
|
29-May-2017 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
capDL: add bits and defaults to scheduling contexts - add bits parameter with default value - provide defaults for period/budget
|
#
8bd705cc |
|
03-May-2017 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
Support loading sched_control caps. This change allows sched_control caps to be placed into CNodes and updates the capdl-loader-app to copy them.
|
#
c1ecbdb3 |
|
03-May-2017 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
python-capdl-tool: drop Object from seL4_SchedControl SchedControl is just a cap, not an object
|
#
33d5618b |
|
27-Apr-2017 |
Stephen Sherratt <Stephen.Sherratt@data61.csiro.au> |
Using reliable_hex to make python more portable
|
#
f8d52769 |
|
01-Mar-2017 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
python-capdl: Add 'fill' attribute to allocated frame objects 'fill' attribute is blindly passed into the final capDL spec
|
#
d12d518d |
|
13-Feb-2017 |
Kofi Doku Atuah <kofidoku.atuah@data61.csiro.au> |
CAMKES-560: Add support for new-rt's Reply kernel object.
|
#
7c4acb17 |
|
21-Feb-2017 |
Stephen Sherratt <Stephen.Sherratt@data61.csiro.au> |
Replace tabs with spaces
|
#
8239c29c |
|
09-Jan-2017 |
Stephen Sherratt <Stephen.Sherratt@data61.csiro.au> |
python-capdl-tool: Add message to assert
|
#
4936eb82 |
|
09-Jan-2017 |
Stephen Sherratt <Stephen.Sherratt@data61.csiro.au> |
python-capdl-tool: Slot indices may be longs Previously they were required to be python ints. This resulted in an error when building on 32 bit machines, as indices could be longs instead. We now ensure that they are a type in six.integer_types.
|
#
526e4af3 |
|
03-Jan-2017 |
Stephen Sherratt <Stephen.Sherratt@data61.csiro.au> |
Add kwargs argument to Frame constructor
|
#
002daba9 |
|
17-Nov-2016 |
Gamlath, Kalana (Data61, Kensington UNSW) <Kalana.Gamlath@data61.csiro.au> |
Modified set_fault_ep_slot to allow setting fault eps in the RT kernel. Also changed allocator to allow fault eps to be badged in the RT kernel.
|
#
33737a5f |
|
15-Nov-2016 |
Kofi Doku Atuah <kofidoku.atuah@data61.csiro.au> |
Add multicore "affinity" attribute to CDL * capDL loader support for non-RT kernel, via seL4_TCB_SetAffinity
|
#
3553212e |
|
01-Nov-2016 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
Add support for the ARM variant of IO spaces
|
#
e44f9234 |
|
17-Apr-2016 |
Adrian Danis <Adrian.Danis@nicta.com.au> |
python-capdl: Define x86_64 types
|
#
6308b310 |
|
12-May-2016 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
Add MSI and IOAPIC interrupt support
|
#
756935a6 |
|
02-May-2016 |
Stephen Sherratt <Stephen.Sherratt@nicta.com.au> |
python-capdl-tool: Replaced sc flags with sc data
|
#
dfd25bb2 |
|
28-Apr-2016 |
Stephen Sherratt <Stephen.Sherratt@nicta.com.au> |
python-capdl-tool: Support for schedule contexts
|
#
ed81a9c6 |
|
12-Apr-2016 |
Adrian Danis <Adrian.Danis@nicta.com.au> |
python-capdl-tool: Move seL4 type definitions to Object.py Moving the definitions here makes more logical sense and is neccessary to prevent a circular build dependency in future commits
|
#
a69ed53c |
|
13-Apr-2016 |
Kalana Gamlath <Kalana.Gamlath@nicta.com.au> |
Added method to allow templates to register fault eps on TCBs.
|
#
768db227 |
|
30-Nov-2015 |
Matthew Fernandez <matthew.fernandez@nicta.com.au> |
python-capdl: Omit TCBs' fault_ep_slot when not present. This has no effect on systems booted by the CapDL initialiser, as 0 is the default fault_ep_slot. The purpose of this change is that, when set, the fault_ep_slot is translated into the Isabelle representation of CapDL as setting the cdl_tcb_has_fault member of the TCB's record. This causes flow on problems when trying to prove correspondence to the output of the CAmkES generator function. This cherry picks 8b2fcbe68bca83839b04442fbe29543ffa3fe5c6 from GINCA:mfernandez/project.
|
#
cc850776 |
|
30-Nov-2015 |
Matthew Fernandez <matthew.fernandez@nicta.com.au> |
python-capdl: Use `six`'s wrappers for string types. This commit facilitates interoperability between Python 2 and Python 3. In Python 3, strings are unicode and there no longer exists a distinct `unicode` type. This commit also indirectly fixes an issue where unicode was not accepted by certain functions. This commit cherry picks 0d6f19fdeed62701a453633ac02054ba535ad7e7 from GINCA:mfernandez/project.
|
#
39a78477 |
|
26-Nov-2015 |
Matthew Fernandez <matthew.fernandez@nicta.com.au> |
python-capdl: Enable Python 3 compatibility settings from `__future__`. This change enables a variety of Python 3 compatibility settings from `__future__` when running Python 2. Essentially this forces all existing code under Python 2 to conform to the Python 3 semantics. This makes bilingual compatibility easier.
|
#
e7a43739 |
|
26-Nov-2015 |
Matthew Fernandez <matthew.fernandez@nicta.com.au> |
python-capdl: Use `//` whenever performing a division that assumes floor. The `//` and `/` operators are equivalent in standard Python 2, but Python 3 changes the `/` operator to return a float, rather than flooring the result. These changes are part of movement towards switching on division compatibility from `__future__` within Python 2.
|
#
512a76ac |
|
26-Nov-2015 |
Matthew Fernandez <matthew.fernandez@nicta.com.au> |
python-capdl: Remove now unused import. This fixes a circular dependency within this package. This change is motivated by Python 3 compatibility. Everything worked fine previously under Python 2, but Python 3 requires these imports to be relative and then fails on this cycle in the dependencies here. The issue is that a dependency like this should never be allowed, but Python 2 accidentally permits this. Following this change, we are still not completely compatible with Python 3, but getting there bit-by-bit.
|
#
ac78ac9e |
|
29-Nov-2015 |
Matthew Fernandez <matthew.fernandez@nicta.com.au> |
python-capdl: Rename set_endpoint to set_notification. This is in line with recent changes to seL4 terminology to refer to the objects that used to be known as "asynchronous endpoints" as now "notification objects."
|
#
be95b00d |
|
26-Nov-2015 |
Matthew Fernandez <matthew.fernandez@nicta.com.au> |
python-capdl: Remove the ability to pass an AEP when setting IRQ association. **BREAKING CHANGE** Prior to this change, it was possible to pass either an AEP object or a cap to an AEP when performing this association with an IRQ. This change limits what can be passed as this parameter to only AEP *caps*. The purpose of this is to remove a circular dependency, which will finally be cut in an upcoming commit.
|
#
6671f0f6 |
|
26-Nov-2015 |
Matthew Fernandez <matthew.fernandez@nicta.com.au> |
python-capdl: Support for assigning fault endpoints to TCBs. This change allows TCBs to be assigned a fault endpoint. Support for this already exists in the CapDL translator. Note that this feature is not yet used by CAmkES.
|
#
7d6dade6 |
|
18-Nov-2015 |
Stephen Sherratt <Stephen.Sherratt@nicta.com.au> |
Moved python-capdl-tool into subdirectory
|