{"push_id":697988575,"size":1,"distinct_size":1,"ref":"refs/heads/issue#1588","head":"d1add405bb60d6d343af7ce7a33973d4cbc83b93","before":"ee868012f88eb69a5ba97abd1ee3cbb70b7d7a5d","commits":[{"sha":"d1add405bb60d6d343af7ce7a33973d4cbc83b93","author":{"email":"839b0aa02f9e1df6c36b6d7f6467c923611f5e7a@genode-labs.com","name":"Stefan Kalkowski"},"message":"hw: replace page table allocator with static one\n\nInstead of organizing page tables within slab blocks and allocating such\nblocks dynamically on demand, replace the page table allocator with a\nsimple, static alternative. The new page table allocator is dimensioned\nat compile-time. When a PD runs out of page-tables, we simply flush its\ncurrent mappings, and re-use the freed tables. The only exception is\ncore/kernel that should not produce any page faults. Thereby it has to\nbe ensured that core has enough page tables to populate it's virtual\nmemory.\n\nA positive side-effect of this static approach is that the accounting\nof memory used for page-tables is now possible again. In the dynamic case\nthere was no protocol existent that solved the problem of donating memory\nto core during a page fault.\n\nFix #1588","distinct":true,"url":"https://api.github.com/repos/skalk/genode/commits/d1add405bb60d6d343af7ce7a33973d4cbc83b93"}]}