summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Schwinge <tschwinge@gnu.org>2007-09-03 15:26:03 +0200
committerThomas Schwinge <tschwinge@gnu.org>2007-09-03 15:28:06 +0200
commit855af9a0ee8d1bdebff882a62104134a71044dba (patch)
tree00a93447c5c045df3cc69375de884e76b065ad4a
parent94aafdb76706abe3c0d2f0f06c8f37fbcdb1056e (diff)
Break up `Mach' and `Mig' hierarchies, merge them into `microkernel/mach/', `microkernel/mach/gnumach/', `microkernel/mach/mig/', and elsewhere.
-rw-r--r--Hurd/MicroKernelFUD.mdwn1
-rw-r--r--Hurd/contributing.mdwn4
-rw-r--r--Hurd/gettinghelp.mdwn2
-rw-r--r--Mach/BuildingOskitMach.mdwn2
-rw-r--r--Mach/OskitMach.mdwn4
-rw-r--r--Mach/UsefulOskitPatches.mdwn3
-rw-r--r--Mig/MachInterfaceGenerator.mdwn17
-rw-r--r--idl.mdwn4
-rw-r--r--liedtke.mdwn2
-rw-r--r--microkernel.mdwn6
-rw-r--r--microkernel/for_beginners.mdwn (renamed from Mach/MicroKernelsForBeginners.mdwn)6
-rw-r--r--microkernel/fud.mdwn (renamed from Mach/MicroKernelFUD.mdwn)0
-rw-r--r--microkernel/mach.mdwn (renamed from Mach.mdwn)14
-rw-r--r--microkernel/mach/concepts.mdwn (renamed from Mach/MachConcepts.mdwn)0
-rw-r--r--microkernel/mach/discussion.mdwn (renamed from Mach/discussion.mdwn)0
-rw-r--r--microkernel/mach/documentation.mdwn (renamed from Mach/documentation.mdwn)0
-rw-r--r--microkernel/mach/externalpagermechanism.mdwn (renamed from mach/externalpagermechanism.mdwn)2
-rw-r--r--microkernel/mach/gnumach.mdwn (renamed from Mach/GNUMach.mdwn)5
-rw-r--r--microkernel/mach/gnumach/building.mdwn (renamed from Mach/BuildingGNUMach.mdwn)2
-rw-r--r--microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn (renamed from Mach/hardwarecompatibilitylist.mdwn)0
-rw-r--r--microkernel/mach/gnumach/hardwarecompatibilitylist/discussion.mdwn (renamed from Mach/hardwarecompatibilitylist/discussion.mdwn)0
-rw-r--r--microkernel/mach/gnumach/ports.mdwn (renamed from Mach/GNUMach/ports.mdwn)0
-rw-r--r--microkernel/mach/gnumach/revivalproject.mdwn (renamed from Mach/GNUMachRevivalProject.mdwn)0
-rw-r--r--microkernel/mach/history.mdwn (renamed from Mach/MachHistory.mdwn)2
-rw-r--r--microkernel/mach/ipc.mdwn (renamed from Mach/mach/ipc.mdwn)4
-rw-r--r--microkernel/mach/mig.mdwn (renamed from Mig.mdwn)6
-rw-r--r--microkernel/mach/mig/WebPreferences/logo.png (renamed from Mig/WebPreferences/logo.png)bin23622 -> 23622 bytes
-rw-r--r--microkernel/mach/mig/building.mdwn (renamed from Mig/BuildingMIG.mdwn)2
-rw-r--r--microkernel/mach/mig/discussion.mdwn (renamed from Mig/discussion.mdwn)0
-rw-r--r--microkernel/mach/mig/documentation.mdwn (renamed from Mig/MigDocumentation.mdwn)4
-rw-r--r--microkernel/mach/port.mdwn (renamed from Mach/mach/ports.mdwn)0
-rw-r--r--microkernel/research.mdwn (renamed from Mach/MicroKernelResearch.mdwn)0
-rw-r--r--sidebar.mdwn9
-rw-r--r--tcb.mdwn (renamed from mach/tcb.mdwn)0
34 files changed, 43 insertions, 58 deletions
diff --git a/Hurd/MicroKernelFUD.mdwn b/Hurd/MicroKernelFUD.mdwn
deleted file mode 100644
index b48d2c9..0000000
--- a/Hurd/MicroKernelFUD.mdwn
+++ /dev/null
@@ -1 +0,0 @@
-This page has moved to a [[Mach/MicroKernelFUD]].
diff --git a/Hurd/contributing.mdwn b/Hurd/contributing.mdwn
index 083301e..d86923f 100644
--- a/Hurd/contributing.mdwn
+++ b/Hurd/contributing.mdwn
@@ -42,7 +42,7 @@ not touch the Hurd proper.
If you are interested in developping the Hurd proper, there is
plenty of work to do. Before you can significantly contribute,
take some time to learn about the system, e.g.,
-[[Mach/MicroKernelsForBeginners]]. Until you can do the basic exercises
+[[microkernels_for_beginners|microkernel/for_beginners]]. Until you can do the basic exercises
listed there, you won't be able to significantly contribute to
the Hurd.
@@ -51,4 +51,4 @@ See the [[ToDo]].
# GNU Mach
GNU Mach is the underlying microkernel used by the Hurd. It has
-a number of deficencies [[Mach/GNUMachRevivalProject]].
+a number of deficencies; [[mach/gnumach/RevivalProject]].
diff --git a/Hurd/gettinghelp.mdwn b/Hurd/gettinghelp.mdwn
index 2b163c1..c8dfc07 100644
--- a/Hurd/gettinghelp.mdwn
+++ b/Hurd/gettinghelp.mdwn
@@ -18,7 +18,7 @@ redistribute your contributions.
# Essential Documentation
* [[FrequentlyAskedQuestions]]
-* [[Mach/HardwareCompatibilityList]]
+* [[mach/gnumach/HardwareCompatibilityList]]
# Forums
diff --git a/Mach/BuildingOskitMach.mdwn b/Mach/BuildingOskitMach.mdwn
index e1bf66f..334b066 100644
--- a/Mach/BuildingOskitMach.mdwn
+++ b/Mach/BuildingOskitMach.mdwn
@@ -69,7 +69,7 @@ In case you want to build the Hurd servers as well, you can check them out with:
**_Inteface generator:_**
-See the [[Mig/MachInterfaceGenerator]] for more information.
+See the [[microkernel/mach/MIG]] for more information.
Check it out using
diff --git a/Mach/OskitMach.mdwn b/Mach/OskitMach.mdwn
index 999c771..bfa1238 100644
--- a/Mach/OskitMach.mdwn
+++ b/Mach/OskitMach.mdwn
@@ -9,13 +9,13 @@
## <a name="About"> About </a>
-OSKit-Mach began as a branch of the GNUMach 1.2 kernel, but since the release of GNU Mach 1.3, OSKit-Mach has been merged as the new GNUMach 2.x mainline. The [[Mach/MachHistory]] page tells a more interesting story including other operating systems who use Mach in their kernels.
+OSKit-Mach began as a branch of the GNUMach 1.2 kernel, but since the release of GNU Mach 1.3, OSKit-Mach has been merged as the new GNUMach 2.x mainline. The [[history]] page tells a more interesting story including other operating systems who use Mach in their kernels.
GNU Mach 2.0 makes use of the drivers provided by [the OSKit](http://www.cs.utah.edu/flux/oskit/) from [the Flux Research Group](http://www.cs.utah.edu/flux/). The OSKit provided a neat driver base where both [[TWiki/FreeBSD]] and Linux (2.2.12) drivers are made available to [Mach](http://www-2.cs.cmu.edu/afs/cs/project/mach/public/www/mach.html) and thus the Hurd. However, OSKit isn't maintained anymore.
## <a name="Status"> Status </a>
-The OSKit-Mach version of GNUmach is today (2005) more or less defunct. Nobody is working on it. Few people ever got it running, and by now there are also problems building with recent toolchains. Instead, the Hurd developers now concentrate on completely different microkernels (Coyotos being the current favourite), as well as on improving the original GNU Mach 1.x codebase. (See also [[GNUMachRevivalProject]].)
+The OSKit-Mach version of GNUmach is today (2005) more or less defunct. Nobody is working on it. Few people ever got it running, and by now there are also problems building with recent toolchains. Instead, the Hurd developers now concentrate on completely different microkernels (Coyotos being the current favourite), as well as on improving the original GNU Mach 1.x codebase. (See also [[gnumach/RevivalProject]].)
The [[MailingLists]], or the [[IRC]] is, like always, the best source of more current information.
diff --git a/Mach/UsefulOskitPatches.mdwn b/Mach/UsefulOskitPatches.mdwn
deleted file mode 100644
index 6718610..0000000
--- a/Mach/UsefulOskitPatches.mdwn
+++ /dev/null
@@ -1,3 +0,0 @@
-This page has been moved to [[OskitPatches]].
-
--- [[Main/JoachimNilsson]] - 08 Jan 2003
diff --git a/Mig/MachInterfaceGenerator.mdwn b/Mig/MachInterfaceGenerator.mdwn
deleted file mode 100644
index 55f8894..0000000
--- a/Mig/MachInterfaceGenerator.mdwn
+++ /dev/null
@@ -1,17 +0,0 @@
-## <a name="MIG"> </a> MIG
-
-MIG is the Mach 3.0 interface generator, as maintained by the GNU Hurd developers for the GNU project.
-
-The interface generator produces stub code from interface definition (.defs) files. The stub code makes it easy to implement and use Mach interfaces as remote procedure calls (RPC).
-
-You need this tool to compile the GNU Mach and Hurd distributions, and to compile the GNU C library for the Hurd. Also, you will need it for other software in the GNU systems that uses Mach-based inter-process communication.
-
-## <a name="Status_of_the_project"> Status of the project </a>
-
-MIG 1.3 was released in March 2002, and features compatibility with OSF Mach.
-
-----
-
-Copyright (C) 2001 Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA
-
-Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/idl.mdwn b/idl.mdwn
index 0a600a6..2086bfe 100644
--- a/idl.mdwn
+++ b/idl.mdwn
@@ -17,6 +17,6 @@ redistribute your contributions.
An IDL is an interface definition language. The most well-known is
CORBA. An IDL compiler takes a specification and generates stubs
-that hide the transport details. In the case of [[MIG]], this
+that hide the transport details. In the case of [[microkernel/mach/MIG]], this
hides the marshalling and unmarshalling of parameters according
-to Mach's semantics.
+to [[microkernel/Mach]]'s semantics.
diff --git a/liedtke.mdwn b/liedtke.mdwn
index a2807f5..1c573af 100644
--- a/liedtke.mdwn
+++ b/liedtke.mdwn
@@ -15,4 +15,4 @@ your rights under copyright, including the rights to copy, modify, and
redistribute your contributions.
"""]]
-Liedtke is the father of [[L4]].
+Liedtke is the father of [[microkernel/L4]].
diff --git a/microkernel.mdwn b/microkernel.mdwn
index 6d719ac..56268b6 100644
--- a/microkernel.mdwn
+++ b/microkernel.mdwn
@@ -30,3 +30,9 @@ Other notable microkernels include Hydra, KeyKOS, Eros and L4.
An [introduction](http://www.cs.cornell.edu/Info/People/ulfar/ukernel/ukernel.html) by
Ăšlfar Erlingsson and Athanasios Kyparlis (from 1996) to microkernel concepts.
+
+[[Research]].
+
+[[Microkernels_for_beginners|for_beginners]].
+
+A 2002 article about [[microkernel_FUD|FUD]] (Fear, Uncertainty, Doubt).
diff --git a/Mach/MicroKernelsForBeginners.mdwn b/microkernel/for_beginners.mdwn
index 0fa7bd1..24daf29 100644
--- a/Mach/MicroKernelsForBeginners.mdwn
+++ b/microkernel/for_beginners.mdwn
@@ -20,15 +20,15 @@ redistribute your contributions.
A [[microkernel]] implements a minimal number of abstractions
that facilitate the realization of operating system services.
-[[MachConcepts]] are documented here.
+[[Mach's_concepts|mach/concepts]] are documented here.
Read OSF's Kernel Principles. Find it under the
-[[documentation]] link.
+[[mach/documentation]] link.
# Exercises
Mach's API is documented in OSF's Kernel API book. Find it
-under the [[documentation]] link. Skim it to get an idea
+under the [[mach/documentation]] link. Skim it to get an idea
of how the API looks and then try the following exercises:
Send messages using Mach's IPC mechanism
diff --git a/Mach/MicroKernelFUD.mdwn b/microkernel/fud.mdwn
index bc2e366..bc2e366 100644
--- a/Mach/MicroKernelFUD.mdwn
+++ b/microkernel/fud.mdwn
diff --git a/Mach.mdwn b/microkernel/mach.mdwn
index 7b051a0..9da2726 100644
--- a/Mach.mdwn
+++ b/microkernel/mach.mdwn
@@ -1,16 +1,16 @@
Mach is a so-called first generation [[microkernel]]. It is the
microkernel currently used by the [[Hurd]].
-* [[MachConcepts]]
-* [[MachHistory]] ([Torvalds, Tanenbaum Debate](http://www.dina.dk/~abraham/Linus_vs_Tanenbaum.html))
-
-* [[MicroKernelsForBeginners]]
-* [[MicroKernelFUD]]: Fear, Uncertainty, Doubt
-* [[MicroKernelResearch]]
-
+* [[Documentation]]
+* [[Concepts]]
+* [[History]] ([Torvalds, Tanenbaum Debate](http://www.dina.dk/~abraham/Linus_vs_Tanenbaum.html))
# Implementations
* [[GNUMach]]
* [[OskitMach]] - A Once Successor of Mach based on OSKit
* [Apple's Darwin](http://developer.apple.com/darwin/) ([API](http://developer.apple.com/documentation/Darwin/Conceptual/KernelProgramming/index.html)) (**non-free**)
+
+# Related
+
+* [[Mach_Interface_Generator|mig]]
diff --git a/Mach/MachConcepts.mdwn b/microkernel/mach/concepts.mdwn
index f81e4e4..f81e4e4 100644
--- a/Mach/MachConcepts.mdwn
+++ b/microkernel/mach/concepts.mdwn
diff --git a/Mach/discussion.mdwn b/microkernel/mach/discussion.mdwn
index 589e302..589e302 100644
--- a/Mach/discussion.mdwn
+++ b/microkernel/mach/discussion.mdwn
diff --git a/Mach/documentation.mdwn b/microkernel/mach/documentation.mdwn
index bb91313..bb91313 100644
--- a/Mach/documentation.mdwn
+++ b/microkernel/mach/documentation.mdwn
diff --git a/mach/externalpagermechanism.mdwn b/microkernel/mach/externalpagermechanism.mdwn
index cdd2504..1ccab6c 100644
--- a/mach/externalpagermechanism.mdwn
+++ b/microkernel/mach/externalpagermechanism.mdwn
@@ -24,7 +24,7 @@ latter.
In Mach, a task's [[Mach/AddressSpace]] consists of references
to [[Mach/MemoryObjects]]. A memory object is designated using
-a [[Mach/Port]] (a port is just a [[capability]]) and
+a [[port]] (a port is just a [[capability]]) and
implemented by a normal process.
To associate a memory object with a portion of a task's
diff --git a/Mach/GNUMach.mdwn b/microkernel/mach/gnumach.mdwn
index 2fe02dc..4e00df8 100644
--- a/Mach/GNUMach.mdwn
+++ b/microkernel/mach/gnumach.mdwn
@@ -25,6 +25,7 @@ added using glue code, i.e., a Linux emulation layer in Mach.
# Related Links
-* [[BuildingGNUMach]]
-* [[GNUMachRevivalProject]] - GNU Mach Projects
+* [[Building]]
+* [[RevivalProject]] - GNU Mach Projects
+* [[HardwareCompatibilityList]]
* [[Ports]] - Ports to other Architectures
diff --git a/Mach/BuildingGNUMach.mdwn b/microkernel/mach/gnumach/building.mdwn
index 163cc9e..a85490e 100644
--- a/Mach/BuildingGNUMach.mdwn
+++ b/microkernel/mach/gnumach/building.mdwn
@@ -37,7 +37,7 @@ Building GNU Mach requires the _build-essential_ and _fakeroot_ packages, their
### <a name="_on_non_Debian_systems"> ... on non-Debian systems </a>
-Apart from the case that you only want to install GNU Mach's header files (see below), building GNU Mach requires you to have the Mach Interface Generator installed. See [[Mig/BuildingMIG]] about how to do that, then come back here.
+Apart from the case that you only want to install GNU Mach's header files (see below), building GNU Mach requires you to have the Mach Interface Generator installed. See [[building_MIG|mig/Building]] about how to do that, then come back here.
Additionally, building GNU Mach requires a C compiler, a standard C library and your favourite flavor of awk (gawk) and GNU make.
diff --git a/Mach/hardwarecompatibilitylist.mdwn b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn
index c3f59af..c3f59af 100644
--- a/Mach/hardwarecompatibilitylist.mdwn
+++ b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn
diff --git a/Mach/hardwarecompatibilitylist/discussion.mdwn b/microkernel/mach/gnumach/hardwarecompatibilitylist/discussion.mdwn
index 69ca319..69ca319 100644
--- a/Mach/hardwarecompatibilitylist/discussion.mdwn
+++ b/microkernel/mach/gnumach/hardwarecompatibilitylist/discussion.mdwn
diff --git a/Mach/GNUMach/ports.mdwn b/microkernel/mach/gnumach/ports.mdwn
index 9c9e551..9c9e551 100644
--- a/Mach/GNUMach/ports.mdwn
+++ b/microkernel/mach/gnumach/ports.mdwn
diff --git a/Mach/GNUMachRevivalProject.mdwn b/microkernel/mach/gnumach/revivalproject.mdwn
index b04b695..b04b695 100644
--- a/Mach/GNUMachRevivalProject.mdwn
+++ b/microkernel/mach/gnumach/revivalproject.mdwn
diff --git a/Mach/MachHistory.mdwn b/microkernel/mach/history.mdwn
index d108225..fe3247d 100644
--- a/Mach/MachHistory.mdwn
+++ b/microkernel/mach/history.mdwn
@@ -36,7 +36,7 @@ Meanwhile, OSKit became unmaintained, thus posing more of a burden on than being
In 2005 Gianluca Guida started a different attempt to use the osenv interface with minimal changes to GNU Mach 1.x, thus allowing use of the generic driver interface while importing as little of the umaintained OSKit code as possible. However, there turned out to be serious problems with OSKit, so this attempt was abandoned as well.
-Today, GNU Mach development focuses on the 1.x branch again -- see also [[GNUMachRevivalProject]].
+Today, GNU Mach development focuses on the 1.x branch again -- see also [[gnumach/RevivalProject]].
# <a name="Status_of_the_project"> Status of the project </a>
diff --git a/Mach/mach/ipc.mdwn b/microkernel/mach/ipc.mdwn
index 68fa9d0..01a9a89 100644
--- a/Mach/mach/ipc.mdwn
+++ b/microkernel/mach/ipc.mdwn
@@ -15,6 +15,8 @@ your rights under copyright, including the rights to copy, modify, and
redistribute your contributions.
"""]]
-An IPC is sent by invoking a [[Mach/Port]].
+An IPC is sent by invoking a [[port]].
[The Unofficial GNU Mach IPC beginner's guide](http://www.nongnu.org/hurdextras/ipc_guide/ipc_guide.html)
+
+[[General_information|/ipc]] about IPC.
diff --git a/Mig.mdwn b/microkernel/mach/mig.mdwn
index bdf85a1..b15b8f5 100644
--- a/Mig.mdwn
+++ b/microkernel/mach/mig.mdwn
@@ -1,4 +1,4 @@
-The [[MachInterfaceGenerator]] (MIG) is an [[IDL]] compiler. Based on an
+The Mach Interface Generator (MIG) is an [[IDL]] compiler. Based on an
interface definition, it creates stubs to [[invoke]] object methods
and to demultiplex incoming messages. These stubs conveniently hide
the details of Mach's [[IPC]] machinery.
@@ -6,5 +6,5 @@ the details of Mach's [[IPC]] machinery.
GNU MIG is fully compatible with OSF MIG.
* MIG's [homepage](http://www.gnu.org/software/hurd/mig.html)
-* [[MigDocumentation]]
-* [[BuildingMIG]] - Building (and obtaining) MIG
+* [[Documentation]]
+* [[Building]] - Building (and obtaining) MIG
diff --git a/Mig/WebPreferences/logo.png b/microkernel/mach/mig/WebPreferences/logo.png
index cdfec17..cdfec17 100644
--- a/Mig/WebPreferences/logo.png
+++ b/microkernel/mach/mig/WebPreferences/logo.png
Binary files differ
diff --git a/Mig/BuildingMIG.mdwn b/microkernel/mach/mig/building.mdwn
index 471edea..08a1c14 100644
--- a/Mig/BuildingMIG.mdwn
+++ b/microkernel/mach/mig/building.mdwn
@@ -29,7 +29,7 @@ Building the Mach Interface Generator requires the _build-essential_ and _fakero
Building the Mach Interface Generator requires a C compiler, a standard C library (with corresponding header files) and your favourite flavor of awk (gawk), yacc (bison), lex (flex) and make.
-Additionally, you need to have GNU Mach's header files installed. See [[Mach/BuildingGNUMach]] about how to do that, then come back here.
+Additionally, you need to have GNU Mach's header files installed. See [[mach/gnumach/building]] about how to do that, then come back here.
## <a name="Building_and_Installing"> Building and Installing </a>
diff --git a/Mig/discussion.mdwn b/microkernel/mach/mig/discussion.mdwn
index fdab3a4..fdab3a4 100644
--- a/Mig/discussion.mdwn
+++ b/microkernel/mach/mig/discussion.mdwn
diff --git a/Mig/MigDocumentation.mdwn b/microkernel/mach/mig/documentation.mdwn
index c876e49..222f89d 100644
--- a/Mig/MigDocumentation.mdwn
+++ b/microkernel/mach/mig/documentation.mdwn
@@ -2,9 +2,9 @@
# About
-This is a small collection of links to external documents describing the [[MachInterfaceGenerator]] used by GNU Mach.
+This is a small collection of links to external documents describing the Mach Interface Generator used by GNU Mach.
-# MiG and C Thread Programming
+# MIG and C Thread Programming
A tutorial which demonstrates the use of the C Threads library primitives in writing a multithreaded program and the use of the Mach Interface Generator (MIG) to generate remote procedure calls for interprocess communication. Like its companion tutorial, it is based on the Mach 2.5 system. However, the concepts are applicable to Mach 3.0 user level programming.
diff --git a/Mach/mach/ports.mdwn b/microkernel/mach/port.mdwn
index 47ef427..47ef427 100644
--- a/Mach/mach/ports.mdwn
+++ b/microkernel/mach/port.mdwn
diff --git a/Mach/MicroKernelResearch.mdwn b/microkernel/research.mdwn
index 4eefe60..4eefe60 100644
--- a/Mach/MicroKernelResearch.mdwn
+++ b/microkernel/research.mdwn
diff --git a/sidebar.mdwn b/sidebar.mdwn
index 88ba8c2..4454ce2 100644
--- a/sidebar.mdwn
+++ b/sidebar.mdwn
@@ -36,12 +36,9 @@ redistribute your contributions.
* *[[Status|Hurd/GNUHurdStatus]]*
* *[[Hurd/Documentation]]*
* *[[Hurd/Running]]*"]]
-* **[[Mach]]**[[if test="destpage(Mach*)" then="
- * *[[GNU_Mach|Mach/GNUMach]]*
- * *[[Mach/Documentation]]*"]]
-* **[[Mig]]**[[if test="destpage(Mig*)" then="
- * *[[About|Mig/MachInterfaceGenerator]]*
- * *[[Documentation|Mig/MigDocumentation]]*"]]
+* **[[microkernel/Mach]]**[[if test="destpage(microkernel/mach*)" then="
+ * *[[GNU_Mach|microkernel/mach/gnumach]]*
+ * *[[microkernel/mach/Documentation]]*"]]
---
diff --git a/mach/tcb.mdwn b/tcb.mdwn
index 841b85f..841b85f 100644
--- a/mach/tcb.mdwn
+++ b/tcb.mdwn