mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-20 17:52:52 +00:00
Transfer quota to the session local RAM session to react to the Quota_exceeded exception properly. The platform driver keeps a session local RAM session for each of its clients that is used to allocate DMA memory. A client needs to transfer some of its quota to the platform driver, which in return transfers this quota to the session local RAM session. As it happens allocating memory from a RAM session involves book keeping and in this case, where the available quota in the session did not suffice and the request was only a few KiB, the platform driver handled the exception wrongly and did not transfer the quota. This problem did not surface up to now because all drivers allocate DMA memory in larger chunks and the book keeping overhead was of no consequence as the initial quota transfer probably covered the overhead. Fixes #2316.
This is the example operating system based on the Genode OS framework: :_Init_: is the first real process in the system. The provided implementation uses a very simple XML parser to read its configuration files. :_Drivers_: The example OS has basic drivers for frame buffer, mouse and keyboard input, the PCI bus, the real-time clock, and system-specific timers. :_Server_: The only server in the example OS is Nitpicker, a minimal-complexity GUI server. :_Test_: are also part of the example OS. You may have a look at the fork bomb as a simple system stress test. :_Ldso_: is the dynamic linker used for loading executables that are linked against shared libraries. :_Lib_: contains libraries used by the components of the OS repository, for example, the alarm framework.