CamkES support for waiting on multiple signals
Hello , I would like to know if the CamkES has support for wait on multiple signal events ? I need to wait for 3 different events (say write, read and timer), I need to wait until one of these events occur. As soon as I get an event, I need to call a common function. I cannot use emitter/consumer signal events concept of CamKES here as it allows only one to one connection and not many to one connection. So in other words a single consumer_wait() for 3 different emitter events is not possible in CamkES. Any suggestions how can this be achieved using CamkES? Regards yk
Hi yk,
I would like to know if the CamkES has support for wait on multiple signal events ?
CAmkES currently does not have support for waiting on multiple signal events on a single notification. It is however, possible to do so by creating a new CAmkES connector. You can take a look at the connectors that we currently have inside the camkes-tool repository and possibly the custom connectors we've made for some of our CAmkES components in the global-components respository (see camkes-tool/camkes/templates and global-components/templates).
I need to wait until one of these events occur. As soon as I get an event, I need to call a common function.
But in this case, I figure that the seL4NotificationQueue or the seL4GlobalAsynchCallback connector would be more useful for your use case here. You could have three separate "consume/emit" pairs and each of them can call a separate callback function when an event arrives. I hope this answers your questions. Sincerely, Damon
Hi Damon, Thanks for the inputs. I could not find any example using seL4NotificationQueue() or seL4GlobalAsynchCallback(). I found only the CamkES template. Is there any tutorial on usage of these custom connectors that you have ? Regards yk On Wed, Jul 17, 2019 at 4:33 AM Lee, Damon (Data61, Kensington NSW) < Damon.Lee@data61.csiro.au> wrote:
Hi yk,
I would like to know if the CamkES has support for wait on multiple signal events ?
CAmkES currently does not have support for waiting on multiple signal events on a single notification. It is however, possible to do so by creating a new CAmkES connector.
You can take a look at the connectors that we currently have inside the camkes-tool repository and possibly the custom connectors we've made for some of our CAmkES components in the global-components respository (see camkes-tool/camkes/templates and global-components/templates).
I need to wait until one of these events occur. As soon as I get an event, I need to call a common function.
But in this case, I figure that the seL4NotificationQueue or the seL4GlobalAsynchCallback connector would be more useful for your use case here. You could have three separate "consume/emit" pairs and each of them can call a separate callback function when an event arrives.
I hope this answers your questions.
Sincerely, Damon _______________________________________________ Devel mailing list Devel@sel4.systems https://sel4.systems/lists/listinfo/devel
I could not find any example using seL4NotificationQueue() or seL4GlobalAsynchCallback(). I found only the CamkES template. I don't believe seL4NotificationQueue is currently used anywhere. seL4GlobalAsynchCallback is used with some of the components in the system examples here: https://github.com/seL4/camkes-vm-examples Is there any tutorial on usage of these custom connectors that you have ? You could look at the camkes picotcp example (https://github.com/seL4/camkes/blob/master/apps/picoserver/picoserver.camkes...) to see how seL4GlobalAsynchCallback is used to get multiple signals on a single thread.
participants (3)
-
Lee, Damon (Data61, Kensington NSW)
-
Mcleod, Kent (Data61, Kensington NSW)
-
yogidk .