From f5567842f7bc6eba5a2534ea647c06ce26ba6a1b Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 3 Feb 2013 20:16:58 +0100 Subject: Add hacking entries for people who just miss code entry paths for diving into the code --- contributing.mdwn | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'contributing.mdwn') diff --git a/contributing.mdwn b/contributing.mdwn index b8a28088..99dd0985 100644 --- a/contributing.mdwn +++ b/contributing.mdwn @@ -74,6 +74,21 @@ For more reading resources, please see these web pages, for example, documents. +## Hacking entries + +Here is a list of small hacks, which can serve as entries to the Hurd code for +people who would like to dive into the code. + +* Make pfinet OK with the ethernet device going away. This would be a very nice +feature: being able to just restart the ethernet driver; we've just not taken +the time to fix it yet, but it shouldn't be very hard. The code begins at `hurd/pfinet/ethernet.c`, `ethernet_open()`, the `device_open` call, which produces `edev->ether_port`. Basically, one needs to catch errors like EIEIO when using it, and in that case re-open the device. +* Add a futex kernel trap to GNU Mach. This can be useful for nicer locking primitives, including inter-process primitives. `vm_allocate` can be used as an example in the `gnumach` source tree for how to add a kernel trap. +* Add a `task_set_name` RPC to GNU Mach. Currently the Mach debugger keeps `arg[0]` from the stack with ugly heuristics. It would be far better to let `exec` simply set the name. `thread_create` can be used as an example in the `gnumach` source tree for how to add an RPC. glibc needs to be recompiled against the updated mach.defs to get access to it from userland. +* Write a partfs translator, to which one gives a disk image, and which exposes the partitions of the disk image, using parted, and the parted-based storeio (`settrans -c foos1 /hurd/storeio -T typed part:1:file:/home/samy/tmp/foo`) +* Write virtio drivers for KVM. Ideally they would be userland. +* Port valgrind. There is a +[[GSoC proposal|community/gsoc/project_ideas/valgrind ]] about this. + ## Porting Packages -- cgit v1.2.3 From fd7f83203b64a203a5818ad4fa4ac949aba21d47 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 3 Feb 2013 20:26:36 +0100 Subject: More information --- contributing.mdwn | 43 ++++++++++++++++++++++++++++++------------- 1 file changed, 30 insertions(+), 13 deletions(-) (limited to 'contributing.mdwn') diff --git a/contributing.mdwn b/contributing.mdwn index 99dd0985..b36d4333 100644 --- a/contributing.mdwn +++ b/contributing.mdwn @@ -74,20 +74,37 @@ For more reading resources, please see these web pages, for example, documents. -## Hacking entries - -Here is a list of small hacks, which can serve as entries to the Hurd code for -people who would like to dive into the code. - -* Make pfinet OK with the ethernet device going away. This would be a very nice -feature: being able to just restart the ethernet driver; we've just not taken -the time to fix it yet, but it shouldn't be very hard. The code begins at `hurd/pfinet/ethernet.c`, `ethernet_open()`, the `device_open` call, which produces `edev->ether_port`. Basically, one needs to catch errors like EIEIO when using it, and in that case re-open the device. -* Add a futex kernel trap to GNU Mach. This can be useful for nicer locking primitives, including inter-process primitives. `vm_allocate` can be used as an example in the `gnumach` source tree for how to add a kernel trap. -* Add a `task_set_name` RPC to GNU Mach. Currently the Mach debugger keeps `arg[0]` from the stack with ugly heuristics. It would be far better to let `exec` simply set the name. `thread_create` can be used as an example in the `gnumach` source tree for how to add an RPC. glibc needs to be recompiled against the updated mach.defs to get access to it from userland. -* Write a partfs translator, to which one gives a disk image, and which exposes the partitions of the disk image, using parted, and the parted-based storeio (`settrans -c foos1 /hurd/storeio -T typed part:1:file:/home/samy/tmp/foo`) +## Small hack entries + +Here is a list of small hacks, which can serve as entries into the Hurd code for +people who would like to dive into the code but just lack a "somewhere to begin +with". + +* Make pfinet OK with the ethernet device going away. This would be a very +nice feature: being able to just restart the ethernet driver; we've just not +taken the time to fix it yet, but it shouldn't be very hard. The code begins +at `hurd/pfinet/ethernet.c`, `ethernet_open()`, the `device_open` call, which +produces `edev->ether_port`. Basically, one needs to catch errors like EIEIO +when using it, and in that case re-open the device. +* Add a futex kernel trap to GNU Mach. This can be useful for nicer locking +primitives, including inter-process primitives. `vm_allocate` can be used as an +example in the `gnumach` source tree for how to add a kernel trap. +* Add a `task_set_name` RPC to GNU Mach. Currently the Mach +debugger keeps `arg[0]` from the stack with ugly heuristics (see +`gnumach/i386/i386/db_interface.c`, `looks_like_command`...). It would be +far better to let `exec` simply set the name and record it in `task_t`. +`thread_create` can be used as an example in the `gnumach` source tree for how +to add an RPC. glibc needs to be recompiled against the updated mach.defs to get +access to it from userland. exec would probably call it from `hurd/exec/exec.c`, +`do_exec()`. +* Write a partfs translator, to which one gives a disk image, and +which exposes the partitions of the disk image, using parted, and +the parted-based storeio (`settrans -c foos1 /hurd/storeio -T typed +part:1:file:/home/samy/tmp/foo`). This would be libnetfs-based. * Write virtio drivers for KVM. Ideally they would be userland. -* Port valgrind. There is a -[[GSoC proposal|community/gsoc/project_ideas/valgrind ]] about this. +* Port valgrind. There is a whole +[[GSoC proposal|community/gsoc/project_ideas/valgrind ]] about this, but the +basic port could be small. ## Porting Packages -- cgit v1.2.3 From c2abf411cb4e7fc53f3b163e277f80e374b40c1d Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 3 Feb 2013 20:58:58 +0100 Subject: More items --- contributing.mdwn | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'contributing.mdwn') diff --git a/contributing.mdwn b/contributing.mdwn index b36d4333..79ebdbda 100644 --- a/contributing.mdwn +++ b/contributing.mdwn @@ -88,7 +88,7 @@ produces `edev->ether_port`. Basically, one needs to catch errors like EIEIO when using it, and in that case re-open the device. * Add a futex kernel trap to GNU Mach. This can be useful for nicer locking primitives, including inter-process primitives. `vm_allocate` can be used as an -example in the `gnumach` source tree for how to add a kernel trap. +example in the `gnumach` source tree for how to add a kernel trap. https://savannah.gnu.org/task/index.php?6231 * Add a `task_set_name` RPC to GNU Mach. Currently the Mach debugger keeps `arg[0]` from the stack with ugly heuristics (see `gnumach/i386/i386/db_interface.c`, `looks_like_command`...). It would be @@ -105,6 +105,9 @@ part:1:file:/home/samy/tmp/foo`). This would be libnetfs-based. * Port valgrind. There is a whole [[GSoC proposal|community/gsoc/project_ideas/valgrind ]] about this, but the basic port could be small. +* Add a `-E` option to `rpctrace` to specify environment variables: https://savannah.gnu.org/task/index.php?9331 +* Use libz and libbz2 in exec. See `hurd/exec/unzip.c` etc., they should be replaced by mere calls to libraries, https://savannah.gnu.org/task/index.php?6990 + ## Porting Packages -- cgit v1.2.3 From 9310b53697a609500a7bacbcd3bce41b9e686028 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 3 Feb 2013 21:19:02 +0100 Subject: Add item --- contributing.mdwn | 1 + 1 file changed, 1 insertion(+) (limited to 'contributing.mdwn') diff --git a/contributing.mdwn b/contributing.mdwn index 79ebdbda..a047b60a 100644 --- a/contributing.mdwn +++ b/contributing.mdwn @@ -107,6 +107,7 @@ part:1:file:/home/samy/tmp/foo`). This would be libnetfs-based. basic port could be small. * Add a `-E` option to `rpctrace` to specify environment variables: https://savannah.gnu.org/task/index.php?9331 * Use libz and libbz2 in exec. See `hurd/exec/unzip.c` etc., they should be replaced by mere calls to libraries, https://savannah.gnu.org/task/index.php?6990 +* Add `/proc/$pid/maps`. `vminfo` already has this kind of information, it's a matter of making procfs do the same. https://savannah.gnu.org/bugs/?32770 -- cgit v1.2.3 From ad4b85cb71608233a3bbfac1cf2d0c2513e6f838 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Fri, 1 Mar 2013 16:34:08 +0100 Subject: Pino Toscano did it --- contributing.mdwn | 1 - 1 file changed, 1 deletion(-) (limited to 'contributing.mdwn') diff --git a/contributing.mdwn b/contributing.mdwn index 4aef4c49..e29ad83a 100644 --- a/contributing.mdwn +++ b/contributing.mdwn @@ -105,7 +105,6 @@ part:1:file:/home/samy/tmp/foo`). This would be libnetfs-based. * Port valgrind. There is a whole [[GSoC proposal|community/gsoc/project_ideas/valgrind ]] about this, but the basic port could be small. -* Add a `-E` option to `rpctrace` to specify environment variables: https://savannah.gnu.org/task/index.php?9331 * Use libz and libbz2 in exec. See `hurd/exec/unzip.c` etc., they should be replaced by mere calls to libraries, https://savannah.gnu.org/task/index.php?6990 * Add `/proc/$pid/maps`. `vminfo` already has this kind of information, it's a matter of making procfs do the same. https://savannah.gnu.org/bugs/?32770 -- cgit v1.2.3 From 0c114fe9459acc109c9f151b287acb574c47ea69 Mon Sep 17 00:00:00 2001 From: Pino Toscano Date: Fri, 1 Mar 2013 20:06:16 +0100 Subject: use more savannah shortcuts --- contributing.mdwn | 6 +++--- hurd/translator/pfinet/ipv6.mdwn | 2 +- hurd/translator/random.mdwn | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) (limited to 'contributing.mdwn') diff --git a/contributing.mdwn b/contributing.mdwn index e29ad83a..b5ff6f3c 100644 --- a/contributing.mdwn +++ b/contributing.mdwn @@ -88,7 +88,7 @@ produces `edev->ether_port`. Basically, one needs to catch errors like EIEIO when using it, and in that case re-open the device. * Add a futex kernel trap to GNU Mach. This can be useful for nicer locking primitives, including inter-process primitives. `vm_allocate` can be used as an -example in the `gnumach` source tree for how to add a kernel trap. https://savannah.gnu.org/task/index.php?6231 +example in the `gnumach` source tree for how to add a kernel trap. [[!GNU_Savannah_task 6231]] * Add a `task_set_name` RPC to GNU Mach. Currently the Mach debugger keeps `arg[0]` from the stack with ugly heuristics (see `gnumach/i386/i386/db_interface.c`, `looks_like_command`...). It would be @@ -105,8 +105,8 @@ part:1:file:/home/samy/tmp/foo`). This would be libnetfs-based. * Port valgrind. There is a whole [[GSoC proposal|community/gsoc/project_ideas/valgrind ]] about this, but the basic port could be small. -* Use libz and libbz2 in exec. See `hurd/exec/unzip.c` etc., they should be replaced by mere calls to libraries, https://savannah.gnu.org/task/index.php?6990 -* Add `/proc/$pid/maps`. `vminfo` already has this kind of information, it's a matter of making procfs do the same. https://savannah.gnu.org/bugs/?32770 +* Use libz and libbz2 in exec. See `hurd/exec/unzip.c` etc., they should be replaced by mere calls to libraries, [[!GNU_Savannah_task 6990]] +* Add `/proc/$pid/maps`. `vminfo` already has this kind of information, it's a matter of making procfs do the same. [[!GNU_Savannah_bug 32770]] diff --git a/hurd/translator/pfinet/ipv6.mdwn b/hurd/translator/pfinet/ipv6.mdwn index edd31017..95629b8b 100644 --- a/hurd/translator/pfinet/ipv6.mdwn +++ b/hurd/translator/pfinet/ipv6.mdwn @@ -10,7 +10,7 @@ is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] [[Stefan_Siegl|stesie]] has added IPv6 support to the pfinet [[translator]]. -This was [Savannah task #5470](http://savannah.gnu.org/task/?5470). +This was [[!GNU_Savannah_task 5470]]. # Implementation diff --git a/hurd/translator/random.mdwn b/hurd/translator/random.mdwn index 9fc975f2..8304f600 100644 --- a/hurd/translator/random.mdwn +++ b/hurd/translator/random.mdwn @@ -1,4 +1,4 @@ -[Savannah task #5130: random translator](http://savannah.gnu.org/task/?5130) +[[!GNU_Savannah_task 5130]]: random translator. See the attached [[mbox.bz2]] containing all the emails concerning this topic which I was able to gather from public archives. (!) This is not up-to-date -- cgit v1.2.3