summary refs log tree commit diff stats
path: root/lib/genode_cpp
Commit message (Collapse)AuthorAgeFilesLines
* Genode: add scheduleCallbacks to asyncdispatch (#20708)ehmry2022-10-311-0/+39
| | | | | | | | | * Genode: add native signal handler * Genode: add scheduleCallbacks to asyncdispatch This resolves some awkwardness where an RPC server may or may not use callSoon while dispatching RPC but without scheduling timers or I/O.
* [std/locks]close #7998(complete condition variables) (#17711)flywind2021-04-191-0/+5
| | | | | | * close #7998 * workaround genode * Update lib/system/syslocks.nim
* Genode platform fixes (#17521)Emery Hemingway2021-04-091-11/+9
| | | | | | | | | | | | | | | | | | | * Genode: move dyncall failures to runtime Do not use the "error" pragma to warn that dynamic library loading is not implemented, print a message at runtime and exit. * Genode: use stricter dataspace type in page allocator * Genode: remove compiler configuration from nim.cfg Self-hosting Nim is not supported on Genode and defining the cross-compilation environment can be done externally. * Genode: use new mutex API * Genode: call nim_component_construct as a C procedure * Genode: implement echo for NimStringV2
* Native access to Genode environmentEmery Hemingway2018-06-071-0/+1
| | | | | | | | | | | | | | | | | Add a 'GenodeEnv' type and a 'componentConstructHook' to the system module. The 'componentConstructHook' allows for detection of POSIX style programs that exit implicitly or native Genode components that initialize to serve RPC requests and OS signals. This hook takes a 'GenodeEnv' argument so that the environment interface is passed cleanly to application code after globals are initialized. This is an typed pointer to a C++ object, procedures for accessing the environment will be available from a Nimble library and not included in the standard library. The standard library has an internal pointer to the environment object but this is not for external use, the undocumented global environment pointer has been removed.
* balance Genode CPU pinning, deadlock at Genode exit (#6317)Emery Hemingway2017-09-161-4/+8
| | | | | | | | | | | | | * Genode: balance thread CPU affinities Genode threads are pinned by defaut to the same CPU as the initial component entrypoint thread. Thread affinities are also permanent. This patch pins new threads to CPUs in a round-robin manner. Arbitrary CPU pinning is not exposed and the 'nimPinToCpu' has no effect. * Genode: guarantee that 'quit' will not return On Genode exits are handled by whatever component is acting as parent. The caller has no guarentee that the parent implementation will halt the caller's threads, so explicitly deadlock the 'quit' procedure.
* fixup! support for the Genode OS framework (#5653)Emery Hemingway2017-04-021-1/+0
| | | Allocate thread metadata at createThread.
* support for the Genode OS framework (#5560)Emery Hemingway2017-03-312-0/+147