# HG changeset patch # User Paul Boddie # Date 1615159861 -3600 # Node ID 2bd7137bfc8ef295d73743d167a7fa22637edb76 # Parent d46bc79623873ed8b41f28b8b6dea6f3556c92b0 Allow configuration of the number of available pages via a program argument. diff -r d46bc7962387 -r 2bd7137bfc8e conf/dstest_test.cfg --- a/conf/dstest_test.cfg Mon Mar 08 00:29:19 2021 +0100 +++ b/conf/dstest_test.cfg Mon Mar 08 00:31:01 2021 +0100 @@ -6,13 +6,13 @@ local server = l:new_channel(); -l:start({ +l:startv({ caps = { server = server:svr(), }, log = { "server", "r" }, }, - "rom/dstest_test_server"); + "rom/dstest_test_server", "20"); l:start({ caps = { diff -r d46bc7962387 -r 2bd7137bfc8e dstest_test_server.cc --- a/dstest_test_server.cc Mon Mar 08 00:29:19 2021 +0100 +++ b/dstest_test_server.cc Mon Mar 08 00:31:01 2021 +0100 @@ -42,15 +42,22 @@ const unsigned int MEMORY_PAGES = REGION_PAGES * 10; const unsigned int FILE_PAGES = 20; -int main(void) +int main(int argc, char *argv[]) { /* Introduce concurrency control. */ ipc_cap_alloc_init(); + /* Configure the number of available pages using any argument. */ + + unsigned int memory_pages = MEMORY_PAGES; + + if (argc > 1) + memory_pages = atoi(argv[1]) * REGION_PAGES; + /* Some memory plus infrastructure. */ - Memory mem(MEMORY_PAGES, page(REGION_PAGES)); + Memory mem(memory_pages, page(REGION_PAGES)); Accessing accessing; Paging paging; Pages pages(&mem); @@ -71,3 +78,5 @@ server.start(); return 0; } + +// vim: tabstop=2 expandtab shiftwidth=2