1.1 --- a/README.txt Tue Dec 13 17:05:51 2022 +0100
1.2 +++ b/README.txt Tue Dec 13 17:06:16 2022 +0100
1.3 @@ -7,6 +7,30 @@
1.4 This directory (departure) should be installed within the pkg directory in the
1.5 L4Re distribution.
1.6
1.7 +More information can be found in the docs directory in this distribution.
1.8 +
1.9 + * For reading in a text editor, see docs/wiki/Departure
1.10 + * For reading in a Web browser, see docs/html/index.html
1.11 +
1.12 +A Note about the Documentation
1.13 +------------------------------
1.14 +
1.15 +The original content in docs/wiki aims to be readable as plain text under most
1.16 +circumstances, but the intention is that this content be translated to HTML
1.17 +since it employs a formatting language based on the MoinMoin wiki format
1.18 +syntax.
1.19 +
1.20 +The following command can be used to generate the HTML form of the
1.21 +documentation from the main directory of this distribution:
1.22 +
1.23 +./docs/tools/make_docs.sh
1.24 +
1.25 +Specify the --web option for Web server deployment:
1.26 +
1.27 +./docs/tools/make_docs.sh --web
1.28 +
1.29 +To generate individual documents, specify their names after any options.
1.30 +
1.31 Prerequisites
1.32 =============
1.33
1.34 @@ -30,7 +54,9 @@
1.35
1.36 When building the Departure software within the L4Re build system, the idl4re
1.37 directory will need to be present in the appropriate location, this being
1.38 -inside the l4 directory. See below for more details.
1.39 +inside the l4 directory. The easiest way of satisfying this requirement is to
1.40 +copy or move the idl4re directory into the l4 directory, making sure that the
1.41 +software is built before trying to build L4Re itself.
1.42
1.43 Obtaining and Building Fiasco.OC and L4Re
1.44 =========================================
1.45 @@ -87,28 +113,23 @@
1.46 distribution within the pkg directory. Also, the idl4re distribution should be
1.47 made available within the l4 directory itself.
1.48
1.49 -Possible L4Re Fix
1.50 ------------------
1.51 -
1.52 -It appears that the following file may need a fix or workaround for a problem
1.53 -where IPC communications employ a bad protocol type:
1.54 -
1.55 -pkg/l4re-core/l4sys/include/cxx/ipc_iface
1.56 -
1.57 -Prior to this line...
1.58 -
1.59 - // handle in-data part of the arguments
1.60 - int send_bytes =
1.61 - Args::template write_op<Do_in_data>(mrs->mr, 0, Mr_bytes,
1.62 - Opt::Opcode, a...);
1.63 -
1.64 -...it appears necessary to introduce the following statement:
1.65 -
1.66 - mrs->mr[0] = 0;
1.67 -
1.68 Building L4Re
1.69 -------------
1.70
1.71 +To build this distribution successfully along with the rest of the L4Re
1.72 +sources, the idl4re distribution must reside within the l4 directory and the
1.73 +idl tool built, as described above, and this distribution must be placed at
1.74 +the pkg/departure location within the l4 directory.
1.75 +
1.76 +To summarise:
1.77 +
1.78 +l4/
1.79 + idl4re/
1.80 + idl - the built idl tool
1.81 + pkg/
1.82 + departure/
1.83 + README.txt - this file
1.84 +
1.85 Here is a quick summary of the build process for L4Re, also starting at the
1.86 parent directory of the Fiasco.OC and L4Re distributions:
1.87
1.88 @@ -122,11 +143,7 @@
1.89 make -j8 O=mybuild
1.90
1.91 Along with the usual L4Re software, this will also build the software provided
1.92 -by this distribution if this distribution has been placed at the pkg/departure
1.93 -location within the l4 directory.
1.94 -
1.95 -Note also that to build this distribution successfully, the idl4re
1.96 -distribution must reside within the l4 directory, as noted above.
1.97 +by this distribution if the above instructions have been followed.
1.98
1.99 Defining the L4Re Configuration
1.100 ===============================
1.101 @@ -169,3 +186,17 @@
1.102 make O=mybuild qemu E=dstest_test_client
1.103
1.104 The particular program used above is a short concurrency test.
1.105 +
1.106 +Copyright and Licence Information
1.107 +=================================
1.108 +
1.109 +See the following Web pages for more information about this work:
1.110 +
1.111 +https://projects.boddie.org.uk/Departure
1.112 +
1.113 +The author can be contacted at the following e-mail address:
1.114 +
1.115 +paul@boddie.org.uk
1.116 +
1.117 +Copyright and licence information can be found in the docs directory - see
1.118 +docs/COPYING.txt and docs/LICENCE.txt for more information.
2.1 --- a/docs/wiki/Components Tue Dec 13 17:05:51 2022 +0100
2.2 +++ b/docs/wiki/Components Tue Dec 13 17:06:16 2022 +0100
2.3 @@ -8,7 +8,7 @@
2.4
2.5 Components are provided by functionality in [[Libraries#libfsserver|
2.6 `libfsserver`]] used by programs found in the `servers` directory within the
2.7 -`departure` package.
2.8 +`departure` package. In general, each component runs in its own server thread.
2.9
2.10 <<TableOfContents(2,3)>>
2.11
3.1 --- a/docs/wiki/Filesystem_Access Tue Dec 13 17:05:51 2022 +0100
3.2 +++ b/docs/wiki/Filesystem_Access Tue Dec 13 17:06:16 2022 +0100
3.3 @@ -269,6 +269,12 @@
3.4
3.5 ########
3.6
3.7 +The `Resource` obtained to deliver file content to a client will be served by
3.8 +a distinct thread through a dedicated communications endpoint, leaving the
3.9 +`Opener` available to satisfy other requests. This new thread will remain
3.10 +active while a file remains open, being terminated when the file is closed and
3.11 +the communications endpoint released by the client.
3.12 +
3.13 == Notifications ==
3.14
3.15 Within the filesystem access architecture, users of files may act in ways that