Andreas Kling
82aea65bd3
UserspaceEmulator: Add fast-path for is<MmapRegion>()
...
Don't use default RTTI for these since they are performance-sensitive.
2021-03-09 15:17:15 +01:00
Andreas Kling
728d947601
UserspaceEmulator: Remember VM region names for MAP_ANONYMOUS
...
For some reason we only remembered the names of MAP_FILE mmap regions.
2021-03-09 11:31:18 +01:00
Andreas Kling
735a6482ac
UserspaceEmulator: Implement sys$set_mmap_name()
2021-03-09 11:31:18 +01:00
Ben Wiederhake
45443f24ec
UserspaceEmulator: Enable splitting regions at arbitrary points
...
This is not yet useful in and of itself, but enables the feature in the next commit.
2021-03-08 22:57:36 +01:00
Ben Wiederhake
7cc8f20a30
UserspaceEmulator: Convert backing storage from malloc to mmap
...
This saves a few bytes for each guest-mmaped region, especially since these are likely to be page-aligned.
2021-03-08 22:57:36 +01:00
Andreas Kling
89483a9408
UserspaceEmulator: Implement a proper VM allocator
...
This patch brings Kernel::RangeAllocator to UserspaceEmulator in a
slightly simplified form.
It supports the basic three allocation types needed by virt$mmap():
allocate_anywhere, allocate_specific, and allocate_randomized.
Porting virt$mmap() and virt$munmap() to use the allocator makes
UE work correctly once again. :^)
2021-02-06 23:15:44 +01:00
Andreas Kling
4055b03291
DevTools: Move to Userland/DevTools/
2021-01-12 12:18:55 +01:00