Documentation/GettingStartedDevelopers: Difference between revisions
mNo edit summary |
No edit summary |
||
Line 15: | Line 15: | ||
== Code == | == Code == | ||
* Run the QEMU system and user mode emulation for different targets (x86, mips, powerpc, ...). | * Get the code. If you want to be a developer, you almost certainly want to be building from git (see http://wiki.qemu.org/Download#Latest) | ||
* Run the QEMU system and user mode emulation for different targets (x86, mips, powerpc, ...). Images can be obtained from http://wiki.qemu.org/Download#QEMU_disk_images | |||
* QEMU has a lot of different parts (hardware device emulation, target emulation, code generation for different hosts, configuration, ...). | * QEMU has a lot of different parts (hardware device emulation, target emulation, code generation for different hosts, configuration, ...). | ||
** Choose an interesting part and concentrate on it for some time and read the code. | |||
* If you find bugs in the code, then fix them and send a patch to the mailing list. | * If you find bugs in the code, then fix them and send a patch to the mailing list (http://wiki.qemu.org/Contribute/SubmitAPatch) | ||
** Patches need to go the mailing list, and possibly also to a specific maintainer (read the MAINTAINERS text file in the top of the source code tree). | |||
** Read the HACKING and CODING_STYLE text files (in the top of the source code tree) before writing the patch | |||
** Run your patch through the "checkstyle.pl" script (found in the directory imaginatively called "scripts") | |||
== Getting to know the code == | |||
* QEMU does not have a high level design description document - only the source code tells the full story. | |||
* There are some useful (although usually dated) descriptions on various parts of the wiki, and sometimes in mailing list descriptions: | |||
** Tracing framework is described at http://wiki.qemu.org/Features/Tracing | |||
** Some of the internal functionality (and a bit of the human monitoring / control interface) is implemented in QAPI and QMP (or will be migrated to it): http://wiki.qemu.org/Features/QAPI and http://wiki.qemu.org/QMP | |||
** | |||
== Bugs == | == Bugs == | ||
* Read the Bug Tracker. | * Read the Bug Tracker. | ||
* Check for topics in it for which you feel capable of handling and try to fix the issue. Send patches. | * Check for topics in it for which you feel capable of handling and try to fix the issue. Send patches. |
Revision as of 03:14, 5 April 2011
You want to contribute code, documentation or patches to QEMU?
Then...
- ... you should probably first join the mailing list.
Wiki
- Create yourselves an account in the QEMU wiki.
- Start with reading the QEMU wiki.
- Contribute to the QEMU wiki by adding new topics or improving and expanding existing topics. It should help you and others in the future.
Documentation
- Continue with reading the existing documentation.
- Be prepared that all written documentation might be invalid - either because it is too old or because it was never correct. And it is never complete...
- If you find bugs in the documentation then fix them and send patches to the mailing list. See Contribute/ReportABug.
Code
- Get the code. If you want to be a developer, you almost certainly want to be building from git (see http://wiki.qemu.org/Download#Latest)
- Run the QEMU system and user mode emulation for different targets (x86, mips, powerpc, ...). Images can be obtained from http://wiki.qemu.org/Download#QEMU_disk_images
- QEMU has a lot of different parts (hardware device emulation, target emulation, code generation for different hosts, configuration, ...).
- Choose an interesting part and concentrate on it for some time and read the code.
- If you find bugs in the code, then fix them and send a patch to the mailing list (http://wiki.qemu.org/Contribute/SubmitAPatch)
- Patches need to go the mailing list, and possibly also to a specific maintainer (read the MAINTAINERS text file in the top of the source code tree).
- Read the HACKING and CODING_STYLE text files (in the top of the source code tree) before writing the patch
- Run your patch through the "checkstyle.pl" script (found in the directory imaginatively called "scripts")
Getting to know the code
- QEMU does not have a high level design description document - only the source code tells the full story.
- There are some useful (although usually dated) descriptions on various parts of the wiki, and sometimes in mailing list descriptions:
- Tracing framework is described at http://wiki.qemu.org/Features/Tracing
- Some of the internal functionality (and a bit of the human monitoring / control interface) is implemented in QAPI and QMP (or will be migrated to it): http://wiki.qemu.org/Features/QAPI and http://wiki.qemu.org/QMP
Bugs
- Read the Bug Tracker.
- Check for topics in it for which you feel capable of handling and try to fix the issue. Send patches.