Hello L4 hackers,
I would like to thank the community for helping me learn; I am back with more questions. This time it is about L4::Platform_Control
1. It seems IO and UVMM both have this L4::Platform_Control capability, is it correct?
2. I can't seem to create a usable L4::Platform_Control capability in a userland application using the factory from env. Does this mean there is one such platform control capability only?
3. It seems there is a system_suspend() function, and X86 is particularly supported. Does it work right now for ARM?
4. Once system_suspend() is called in an ARM environment, does the kernel communicate with PSCI, which then gets intercepted by Arm trusted firmware?
5. Also, before suspending the entire system, it would seem a good idea to quiesce all threads (except the kernel I assume) and save the CPU/Thread states/contexts. Is there an API that could help with quiescing threads and saving relevant states? I only see the debugger being able to quiesce all threads, but I can't seem to find an API that can save and reload the saved states once we want to exit suspend.
These are a lot of question, and I thank anyone who reads them.