L4Re/departure

Graph

(0) -300 -100 -60 +60 +100 tip
Added a reference to the L4Re code describing the interface.
Added initial support for detaching regions. Without this, it is likely that
Sought to prevent a race condition when deleting pipe paging coordinators.
Changed the process monitoring architecture, separating monitoring of the actual
Made the notify operation one-way, meaning that it does not produce a reply.
Permit re-entry, needed when subscribing to receive deferred notifications.
Obtain the task-level notifier at the start, closing it at the end of the test.
Introduced support for stopping a notifier.
Separated auto-deletion from general notifications related to IPC.
Record all server details to permit their deallocation.
Obtain the task-level notifier only one, closing it at the end of the test.
Introduced a separate library for the resource and resource server abstractions.
Changed notifier support to use resources instead of its own IPC handler.
Introduced a new method to start a resource in an existing thread, also
Removed superfluous interfaces and includes.
Moved notifier support into its own library.
Changed IPC message handling to interpret gate labels as generic endpoint ipc-config-endpoints
Added a separate prepare operation distinct from starting any server.
Reordered pager capability freeing to avoid warnings about invalid pagers.
Moved opening of the region mapper program file to the process server
Close the principal file structure after having constructed the program payload.
Made a separate test payload and program for file-related testing.
Made the process creation activity sequential and introduced a missing reset
Added missing include statements and introduced an explicit verbose mode.
Employ a more general way of including programs in the generated filesystem.
Fixed unwanted mapped region growth due to adjustment of region boundaries.
Fixed file member initialisation.
Added debugging support to show a name for each server in jdb.
Added a remark about file structure deallocation.
On MIPS32, at least, in a payload started by libexec, the main thread is not
Fixed memchr invocation when searching for the end of line.
Introduced support for reserve_area in the internal pager along with different
Fixed the first free UTCB address and thus pthread initialisation.
Expanded the execution test payload to test filesystem access.
Made use of a utility function for binding the IRQ to a thread.
Provide the filesystem capability to the new process.
Augmented comment with more details.
Removed redundant interface generation definitions.
Attempt to handle local capabilities in messages sent within tasks.
Introduced naming conventions for server capabilities.
Changed the internal pager capability name to avoid potential conflicts.
Moved program file opening to the general process creation functionality.
Introduced deallocation of pager/region mapper resources.
Renamed variables to be more obviously informative.
Introduced freeing of imported capabilities that cannot be attached.
Propagated the created task's own capability details to the pager so that it may
Added a convenience function for unmapping capabilities from tasks.
Propagate capability details for the pager and threads in the new task back to
Added close method and resource deallocation.
Added comment.
Fixed region mapper initialisation array sizes to correspond to the program
Allocate payload and stack resources dynamically to permit control over when
Fixed deletion of segments when payloads are deallocated.
Support same-thread resource finalisation, making InternalPager a resource.
Handle termination signals, decoupling programs from their pagers and releasing
Changed the process server to act as a plain Opener object, yielding a context
Moved get_path to the SimplePager class as get_string for broader potential use.
Made the external pager a resource so that it can be managed more conveniently.
Changed the unsubscribe operation in the notification interface to involve an
Create a new pager object for each new process.
(0) -300 -100 -60 +60 +100 tip