mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-23 10:40:27 +00:00
This commit simplifies the creation of additional threads and VCPUs in L4linux. By now, some Genode::Thread_base methods where overridden to use a Fiasco.OC specific Cpu_session when creating threads. Recent commit: 297538678e06fe091fe6c3370d38c54d33627109 moved the actual creation of the platform thread into the constructor of the generic Thread_base class. Thereby the Vcpu class, which extended the Thread_base class, now unnecessarily created two platform threads for each thread created via Vcpu. Nowadays, the cpu_session capability is available via the Genode::env() environment. So we can use the Thread_base parent class for the setup of the platform thread, and afterwards create a Fiasco.OC specific cpu session client with the same cpu session capability, Thread_base used for creation, to make use of the L4Linux specific features of this interface (VCPU enabling, irq object creation etc.).