# HG changeset patch # User Paul Boddie # Date 1670947576 -3600 # Node ID 768bb7469370e592163cc9bd762e322d0352a352 # Parent 89b9c10db829a778393c3a1c3e403114d3b973a8# Parent 3bfe96e5fc6e4ab1456fb31100b8033837855bbd Merged concurrent changes. diff -r 89b9c10db829 -r 768bb7469370 README.txt --- a/README.txt Tue Dec 13 17:05:51 2022 +0100 +++ b/README.txt Tue Dec 13 17:06:16 2022 +0100 @@ -7,6 +7,30 @@ This directory (departure) should be installed within the pkg directory in the L4Re distribution. +More information can be found in the docs directory in this distribution. + + * For reading in a text editor, see docs/wiki/Departure + * For reading in a Web browser, see docs/html/index.html + +A Note about the Documentation +------------------------------ + +The original content in docs/wiki aims to be readable as plain text under most +circumstances, but the intention is that this content be translated to HTML +since it employs a formatting language based on the MoinMoin wiki format +syntax. + +The following command can be used to generate the HTML form of the +documentation from the main directory of this distribution: + +./docs/tools/make_docs.sh + +Specify the --web option for Web server deployment: + +./docs/tools/make_docs.sh --web + +To generate individual documents, specify their names after any options. + Prerequisites ============= @@ -30,7 +54,9 @@ When building the Departure software within the L4Re build system, the idl4re directory will need to be present in the appropriate location, this being -inside the l4 directory. See below for more details. +inside the l4 directory. The easiest way of satisfying this requirement is to +copy or move the idl4re directory into the l4 directory, making sure that the +software is built before trying to build L4Re itself. Obtaining and Building Fiasco.OC and L4Re ========================================= @@ -87,28 +113,23 @@ distribution within the pkg directory. Also, the idl4re distribution should be made available within the l4 directory itself. -Possible L4Re Fix ------------------ - -It appears that the following file may need a fix or workaround for a problem -where IPC communications employ a bad protocol type: - -pkg/l4re-core/l4sys/include/cxx/ipc_iface - -Prior to this line... - - // handle in-data part of the arguments - int send_bytes = - Args::template write_op(mrs->mr, 0, Mr_bytes, - Opt::Opcode, a...); - -...it appears necessary to introduce the following statement: - - mrs->mr[0] = 0; - Building L4Re ------------- +To build this distribution successfully along with the rest of the L4Re +sources, the idl4re distribution must reside within the l4 directory and the +idl tool built, as described above, and this distribution must be placed at +the pkg/departure location within the l4 directory. + +To summarise: + +l4/ + idl4re/ + idl - the built idl tool + pkg/ + departure/ + README.txt - this file + Here is a quick summary of the build process for L4Re, also starting at the parent directory of the Fiasco.OC and L4Re distributions: @@ -122,11 +143,7 @@ make -j8 O=mybuild Along with the usual L4Re software, this will also build the software provided -by this distribution if this distribution has been placed at the pkg/departure -location within the l4 directory. - -Note also that to build this distribution successfully, the idl4re -distribution must reside within the l4 directory, as noted above. +by this distribution if the above instructions have been followed. Defining the L4Re Configuration =============================== @@ -169,3 +186,17 @@ make O=mybuild qemu E=dstest_test_client The particular program used above is a short concurrency test. + +Copyright and Licence Information +================================= + +See the following Web pages for more information about this work: + +https://projects.boddie.org.uk/Departure + +The author can be contacted at the following e-mail address: + +paul@boddie.org.uk + +Copyright and licence information can be found in the docs directory - see +docs/COPYING.txt and docs/LICENCE.txt for more information. diff -r 89b9c10db829 -r 768bb7469370 docs/wiki/Components --- a/docs/wiki/Components Tue Dec 13 17:05:51 2022 +0100 +++ b/docs/wiki/Components Tue Dec 13 17:06:16 2022 +0100 @@ -8,7 +8,7 @@ Components are provided by functionality in [[Libraries#libfsserver| `libfsserver`]] used by programs found in the `servers` directory within the -`departure` package. +`departure` package. In general, each component runs in its own server thread. <> diff -r 89b9c10db829 -r 768bb7469370 docs/wiki/Filesystem_Access --- a/docs/wiki/Filesystem_Access Tue Dec 13 17:05:51 2022 +0100 +++ b/docs/wiki/Filesystem_Access Tue Dec 13 17:06:16 2022 +0100 @@ -269,6 +269,12 @@ ######## +The `Resource` obtained to deliver file content to a client will be served by +a distinct thread through a dedicated communications endpoint, leaving the +`Opener` available to satisfy other requests. This new thread will remain +active while a file remains open, being terminated when the file is closed and +the communications endpoint released by the client. + == Notifications == Within the filesystem access architecture, users of files may act in ways that