diff options
author | Thomas Schwinge <thomas@codesourcery.com> | 2013-03-06 21:57:01 +0100 |
---|---|---|
committer | Thomas Schwinge <thomas@codesourcery.com> | 2013-03-06 21:57:01 +0100 |
commit | 059ad001a35fe8d656ab3d73d4296dabc643a098 (patch) | |
tree | 4d7f2bf68fe6f64c26e840a01ec4f0ebf16f4436 /contributing.mdwn | |
parent | 31197ac55a5f93e8c5ad44d9a86fe0d62e0ab424 (diff) | |
parent | 3dc03db6f1705ba0f9b6b20114040090b26b1cba (diff) |
Merge remote-tracking branch 'savannah/master'
Diffstat (limited to 'contributing.mdwn')
-rw-r--r-- | contributing.mdwn | 39 |
1 files changed, 37 insertions, 2 deletions
diff --git a/contributing.mdwn b/contributing.mdwn index b8a28088..b5ff6f3c 100644 --- a/contributing.mdwn +++ b/contributing.mdwn @@ -1,5 +1,5 @@ -[[!meta copyright="Copyright © 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free -Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 +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 @@ -74,6 +74,41 @@ For more reading resources, please see these web pages, for example, documents. +## 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. [[!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 +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 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, [[!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]] + + <a name="porting"></a> ## Porting Packages |