From 05d5f6e8c272bf2f6b088d38c644371ca3e3a74b Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 22 Jul 2008 10:24:19 +0200 Subject: Add copyright and licensing header. --- microkernel/mach/mig/documentation.mdwn | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'microkernel') diff --git a/microkernel/mach/mig/documentation.mdwn b/microkernel/mach/mig/documentation.mdwn index 222f89d1..fec0347d 100644 --- a/microkernel/mach/mig/documentation.mdwn +++ b/microkernel/mach/mig/documentation.mdwn @@ -1,3 +1,14 @@ +[[meta copyright="Copyright © 2002, 2003, 2005, 2007, 2008 Free Software +Foundation, Inc."]] + +[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU_Free_Documentation_License|/fdl]]."]]"""]] + [[toc ]] # About -- cgit v1.2.3 From 884d8359a9627db91ce02c843cb4719c8a4a67a0 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 22 Jul 2008 10:24:45 +0200 Subject: Formatting. --- microkernel/mach/mig/documentation.mdwn | 48 +++++++++++++++++++++++++-------- 1 file changed, 37 insertions(+), 11 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/mig/documentation.mdwn b/microkernel/mach/mig/documentation.mdwn index fec0347d..a0528449 100644 --- a/microkernel/mach/mig/documentation.mdwn +++ b/microkernel/mach/mig/documentation.mdwn @@ -9,30 +9,56 @@ Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU_Free_Documentation_License|/fdl]]."]]"""]] -[[toc ]] +This is a small collection of links to external documents describing the *Mach +Interface Generator* used by GNU Mach. -# About - -This is a small collection of links to external documents describing the Mach Interface Generator used by GNU Mach. # 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. +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. + +Linda R. Walmer and Mary R. Thompson. *A Programmer's Guide to the Mach User +Environment*. [PostScript +](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/unpublished/machuse.ps), +[Doc](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/unpublished/machuse.doc). +February 1988. School of Computer Science, Carnegie Mellon University. -Linda R. Walmer and Mary R. Thompson. **A Programmer's Guide to the Mach User Environment**. [PostScript ](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/unpublished/machuse.ps)[Doc](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/unpublished/machuse.doc) February 1988. School of Computer Science, Carnegie Mellon University. +An ftp directory containing the [mig programming +examples](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/unpublished/mig_example) +for this tutorial. -An ftp directory containing the [mig programming examples](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/unpublished/mig_example) for this tutorial. +Slides to Rich Drave's talk on MIG, on November 21, 1991: +[PostScript](ftp://ftp.cs.cmu.edu//afs/cs/project/mach/public/doc/unpublished/internals_slides/Mig/root.ps), +[TeX](ftp://ftp.cs.cmu.edu//afs/cs/project/mach/public/doc/unpublished/internals_slides/Mig/slides.tex). -Slides to Rich Drave's talk on Mig, the Mach Interface Generator, on November 21, 1991: [PostScript](ftp://ftp.cs.cmu.edu//afs/cs/project/mach/public/doc/unpublished/internals_slides/Mig/root.ps) [TeX](ftp://ftp.cs.cmu.edu//afs/cs/project/mach/public/doc/unpublished/internals_slides/Mig/slides.tex) # Roots Mig is an implementation of a subset of the Matchmaker **language**. -"Matchmaker is a language for specifying and automating the generation of multilingual interprocess communication interfaces. MIG is an interim implementation of a subset of the Matchmaker language that generates C and C++ remote procedure call interfaces for interprocess communication between Mach tasks." +"Matchmaker is a language for specifying and automating the generation of +multilingual interprocess communication interfaces. MIG is an interim +implementation of a subset of the Matchmaker language that generates C and C++ +remote procedure call interfaces for interprocess communication between Mach +tasks." + +Richard P. Draves, Michael B. Jones, Mary R. Thompson, *MIG - THE MACH +INTERFACE GENERATOR*. +[ps](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/unpublished/mig.ps), +[doc](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/unpublished/mig.doc). +November 1989. Department of Computer Science, Carnegie-Mellon University. -Richard P. Draves,Michael B. Jones,Mary R. Thompson, **MIG - THE MACH INTERFACE GENERATOR**. [ps](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/unpublished/mig.ps) [doc](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/unpublished/mig.doc) November 1989. Department of Computer Science, Carnegie-Mellon University. # Related Work -See the citations about [Mach and matchmaker: kernel and language support for objectoriented distributed systems](http://citeseer.ist.psu.edu/context/93073/0) here. "M. B. Jones and R. F. Rashid, \`Mach and matchmaker: kernel and language support for objectoriented distributed systems', Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications, October 1986, pp. 67--77." +See the citations about [Mach and matchmaker: kernel and language support for +objectoriented distributed +systems](http://citeseer.ist.psu.edu/context/93073/0). "M. B. Jones and +R. F. Rashid, *Mach and matchmaker: kernel and language support for +objectoriented distributed systems*, Proceedings of the Conference on +Object-Oriented Programming Systems, Languages, and Applications, October 1986, +pp. 67--77." -- cgit v1.2.3 From ab5f35244b4a3c05235aeadc4f1b5d4a3cfdca88 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 22 Jul 2008 10:30:48 +0200 Subject: Link to a few pages from the GNU Mach Reference Manual. --- microkernel/mach/mig/documentation.mdwn | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'microkernel') diff --git a/microkernel/mach/mig/documentation.mdwn b/microkernel/mach/mig/documentation.mdwn index a0528449..a4628a1a 100644 --- a/microkernel/mach/mig/documentation.mdwn +++ b/microkernel/mach/mig/documentation.mdwn @@ -62,3 +62,13 @@ R. F. Rashid, *Mach and matchmaker: kernel and language support for objectoriented distributed systems*, Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications, October 1986, pp. 67--77." + + +# Further Relevant Documentation + + * The [GNU Mach Reference + Manual](http://www.gnu.org/software/hurd/docs.html#manuals), espacially + [Chapter 4, Inter Process + Communication](http://www.gnu.org/software/hurd/gnumach-doc/Inter-Process-Communication.html), + which, for example, explains how the `dealloc` flag works in [Chapter + 4.2.4, Memory](http://www.gnu.org/software/hurd/gnumach-doc/Memory.html) -- cgit v1.2.3 From 6427e2bec264b9ae915590a3723f816be37dcfc0 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 22 Jul 2008 10:31:09 +0200 Subject: Link to hurd/io_path. --- microkernel/mach/mig/documentation.mdwn | 2 ++ 1 file changed, 2 insertions(+) (limited to 'microkernel') diff --git a/microkernel/mach/mig/documentation.mdwn b/microkernel/mach/mig/documentation.mdwn index a4628a1a..2998008d 100644 --- a/microkernel/mach/mig/documentation.mdwn +++ b/microkernel/mach/mig/documentation.mdwn @@ -72,3 +72,5 @@ pp. 67--77." Communication](http://www.gnu.org/software/hurd/gnumach-doc/Inter-Process-Communication.html), which, for example, explains how the `dealloc` flag works in [Chapter 4.2.4, Memory](http://www.gnu.org/software/hurd/gnumach-doc/Memory.html) + + * MIG *in action*: [[hurd/io_path]]. -- cgit v1.2.3 From faa864b5b180c3897b6d0ae843a87bf9ac134aef Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 22 Jul 2008 11:46:11 +0200 Subject: Have [[microkernel/mach/mig/dealloc]] redirect to its documentation. --- microkernel/mach/mig/dealloc.mdwn | 11 +++++++++++ microkernel/mach/mig/documentation.mdwn | 5 +++-- 2 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 microkernel/mach/mig/dealloc.mdwn (limited to 'microkernel') diff --git a/microkernel/mach/mig/dealloc.mdwn b/microkernel/mach/mig/dealloc.mdwn new file mode 100644 index 00000000..1ed9d52b --- /dev/null +++ b/microkernel/mach/mig/dealloc.mdwn @@ -0,0 +1,11 @@ +[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] + +[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU_Free_Documentation_License|/fdl]]."]]"""]] + +[[meta redir=documentation#dealloc]] diff --git a/microkernel/mach/mig/documentation.mdwn b/microkernel/mach/mig/documentation.mdwn index 2998008d..8c977e55 100644 --- a/microkernel/mach/mig/documentation.mdwn +++ b/microkernel/mach/mig/documentation.mdwn @@ -70,7 +70,8 @@ pp. 67--77." Manual](http://www.gnu.org/software/hurd/docs.html#manuals), espacially [Chapter 4, Inter Process Communication](http://www.gnu.org/software/hurd/gnumach-doc/Inter-Process-Communication.html), - which, for example, explains how the `dealloc` flag works in [Chapter - 4.2.4, Memory](http://www.gnu.org/software/hurd/gnumach-doc/Memory.html) + which, for example, explains how the `dealloc` flag + works in [Chapter 4.2.4, + Memory](http://www.gnu.org/software/hurd/gnumach-doc/Memory.html) * MIG *in action*: [[hurd/io_path]]. -- cgit v1.2.3 From 35b4dcf40dce854eba0341d651764a003ba6dac9 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Thu, 14 Aug 2008 04:14:12 +0000 Subject: web commit by NealWalfield --- microkernel/viengoos/hardware.mdwn | 50 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 microkernel/viengoos/hardware.mdwn (limited to 'microkernel') diff --git a/microkernel/viengoos/hardware.mdwn b/microkernel/viengoos/hardware.mdwn new file mode 100644 index 00000000..1b4ce514 --- /dev/null +++ b/microkernel/viengoos/hardware.mdwn @@ -0,0 +1,50 @@ +[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] + +[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU_Free_Documentation_License|/fdl]]."]]"""]] + +I boot over the network using PXE. + +On my build machine, I have installed a tftpserver. Specifically, I use +the one built into dnscache. In /tftpboot, I have symlinks to pistachio, +sigma0, and the root of the build tree. + +My build machine boots using PXE. It gets an IP address, contacts +my build machine and loads [grub2pxe](http://grub.enbug.org/PXEBOOT). +Note that there is no need to use pxelinux; grub2 is a valid PXE +executable. Further, grub2 uses the PXE interface for accessing the +network, so if your hardware supports PXE, then you do not need to +worry about a network driver. Here is how I build grub2 and the +grub2 image: + + cd ~/src + svn co svn://svn.savannah.gnu.org/grub/trunk/grub2 + cd grub2 + mkdir build + cd build + ../configure --prefix=$HOME/src/grub2/install && make && make install + cd ~/src/grub2/install + bin/grub-mkimage --output=core.img --prefix="(pxe)" pxe pxecmd help reboot serial multiboot pc configfile normal boot + cat lib/grub/i386-pc/pxeboot.img core.img > grub2pxe + +Here is my /tftpboot/grub.cfg, which sends output to the first +[[serial_port]]: + + # Timeout for menu + set timeout=1 + + # Set default boot entry as Entry 0 + set default=0 + + menuentry "Viengoos" { + multiboot /viengoos/laden/laden -o serial -D + module /pistachio + module /sigma0 + module /viengoos/viengoos/viengoos.stripped -D 3 -o serial + module /viengoos/hieronymus/hieronymus.stripped + } -- cgit v1.2.3 From dc16aad4f287802dce8c560e18406f30a968eb93 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Thu, 14 Aug 2008 04:32:02 +0000 Subject: web commit by NealWalfield --- microkernel/viengoos/serial_port.mdwn | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 microkernel/viengoos/serial_port.mdwn (limited to 'microkernel') diff --git a/microkernel/viengoos/serial_port.mdwn b/microkernel/viengoos/serial_port.mdwn new file mode 100644 index 00000000..53b988c5 --- /dev/null +++ b/microkernel/viengoos/serial_port.mdwn @@ -0,0 +1,15 @@ +[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] + +[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU_Free_Documentation_License|/fdl]]."]]"""]] + +Viengoos can be configured to send output to the serial port (in fact, +this is the only configuration that I use). To talk to the serial +port, I use ser2net, which provides a telnet interface to the serial +port. Be sure to edit /etc/ser2net.conf to use 115200 bps, which +Viengoos uses by default. -- cgit v1.2.3 From 4c79d14733c1bf9958867b13f28bddbb61d5d588 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Thu, 14 Aug 2008 04:34:40 +0000 Subject: web commit by NealWalfield --- microkernel/viengoos.mdwn | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'microkernel') diff --git a/microkernel/viengoos.mdwn b/microkernel/viengoos.mdwn index 83dd310d..9a4f726f 100644 --- a/microkernel/viengoos.mdwn +++ b/microkernel/viengoos.mdwn @@ -13,3 +13,8 @@ Walfield. It can be found in the *hurd-l4* repository, available at . + +* [[Building]] +* Running + * [[QEMU]] + * [[Hardware]] -- cgit v1.2.3