2022-06-17 |
Paul Boddie |
raw
annotate
files
changeset
graph
|
Introduced a region mapper thread alongside the actual program to be run in a
new task, with the region mapper being moved from the test files into libexec.
The region mapper needs to reside in a different area of memory, with a special
Makefile definition being employed to indicate this.
Various adjustments to the task and thread initialisation mechanisms were
required, along with fixes to the program regions provided to the region mapper
thread (these having been erroneously specified using the region mapper's own
segments). A more flexible method of allocating capability slots to the threads
in the new task was introduced, and the mapped IPC gate capability (used by the
region mapper to provide its service to the program) also needed a special
control right, necessitating the expansion of the mapped capability structure.
For performance, more pages are allocated to the ext2 filesystem server. One
troublesome issue arose with regard to the first free capability setting and
possible capability slot conflicts, necessitating a special adjustment of this
setting so that the region mapper and actual program may start without the
apparent loss of capabilities, this having been seen to affect the external
pager. |
mmap-region-flags |