Integrate core's RAM service into the PD service

Fixes #2407
This commit is contained in:
Norman Feske
2017-05-11 20:03:28 +02:00
committed by Christian Helmuth
parent 5a3a1c704b
commit 0167d5af50
93 changed files with 871 additions and 1545 deletions

View File

@ -12,7 +12,7 @@
*/
#include <base/component.h>
#include <ram_session/connection.h>
#include <pd_session/connection.h>
#include <timer_session/connection.h>
using namespace Genode;
@ -22,17 +22,16 @@ static void test_linux_rmmap_bug(Env &env)
enum { QUOTA = 1*1024*1024, CHUNK = 0x1000, ROUNDS = 0x10 };
log("line: ", __LINE__);
Ram_connection ram(env);
Pd_connection pd(env);
#if 1 /* transfer quota */
log("line: ", __LINE__);
ram.ref_account(env.ram_session_cap());
env.ram().transfer_quota(ram.cap(), QUOTA);
#endif
pd.ref_account(env.pd_session_cap());
env.pd().transfer_quota(pd.cap(), Ram_quota{QUOTA});
env.pd().transfer_quota(pd.cap(), Cap_quota{30});
log("line: ", __LINE__);
for (unsigned i = 0; i < ROUNDS; ++i) {
Ram_dataspace_capability ds(ram.alloc(CHUNK));
Ram_dataspace_capability ds(pd.alloc(CHUNK));
log(i + 1, " of ", (unsigned)ROUNDS, " pages allocated");
}