#
a72aa7bd |
|
17-Jul-2020 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
single-threaded: Merge last signal call with wait For a virtqueue signal operation, combine the last signal with waiting on the components endpoint. This is to optimize the case where a component finished doing some work, signals another component and goes back to sleep to remove an additional kernel entry/exit. Note that this optimization is on by default and can be toggled off with a configuration option. To turn this off, set the CAmkES attribute "<interface_name>.disable_optimizations = 1", where interface name is the name of the interface that's connected with another component with the seL4VirtQueues connector.
|
#
5cf20f0b |
|
21-May-2020 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
virtqueues: Support configuration virtqueue size Virtqueues now get initialized with a queue size
|
#
f2e793b4 |
|
04-May-2020 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
seL4VirtQueues: Increase default size to 8KiB This is to support an increase in queue length to 256.
|
#
4c8bb99f |
|
11-Feb-2020 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
seL4VirtQueues: Infer topology for 2 only ends If the connection is only connecting one driver end to one device end, then don't require a topology configuration to be set.
|
#
be88ca2d |
|
11-Feb-2020 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
seL4VirtQueues: Refactor shared memory creation Create the shared memory regions for each virtqueue directly within the connector. This way means that the connector can more directly guarantee that the shared symbols are connected instead of relying on the seL4MultiSharedData connector which had a different interface for linking shared memories that required setting matching attributes on the configuration in the Camkes ADL.
|
#
c45f79a5 |
|
11-Feb-2020 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
seL4VirtQueues: Support automatic ID allocation If an ID isn't set in the configuration for a virtqueue then automatically assign one.
|
#
d7b91a83 |
|
11-Feb-2020 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
seL4VirtQueues: register interface name with lib Pass the interface name of the virtqueue in with the call to camkes_virtqueue_channel_register. This allows the component to request the channel by interface name instead of by ID.
|
#
e2e7f059 |
|
11-Feb-2020 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
seL4VirtQueues: Remove threads from connector def This connector doesn't require threads for either end. The threads were only used for registering the connector symbols on component initialization. Instead we can use a `contstructor` attribute and the init function will be called by the C runtime during initialization instead.
|
#
226664b9 |
|
04-Feb-2020 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
global-endpoint: Refactor to auto-allocate badges As the global-endpoint is a notification object shared across multiple camkes connections, we force each connection end to have a distinct badge value and don't allow the camkes assembly to specify badge values or notification object names.
|
#
e7942f76 |
|
03-Feb-2020 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
seL4VirtQueues: Add recv. notification information When registering a virtqueue, we also provide the badge and notification cap for receiving notifications from the other end.
|
#
cb80c133 |
|
03-Feb-2020 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
seL4VirtQueues: Make notification methods private These are not expected to be called by external modules other than through what's registered in camkes_virtqueue_channel_register.
|
#
1dc07a04 |
|
28-May-2019 |
A Felizzi <Adam.Felizzi@data61.csiro.au> |
VirtQueues: Removed vswitch include in template Removed the vswitch include in the virtqueue template as its not used.
|
#
efa6b856 |
|
22-Oct-2018 |
Adam Felizzi <Adam.Felizzi@data61.csiro.au> |
VirtQueues: Added the seL4VirtQueues connector This adds the seL4VirtQueue connector to global componants. By importing global components, CAmkES apps can use seL4Virtqueue's. This previously existed in the CAmkES VM project.
|