1
2	List of maintainers and how to submit changes
3	=============================================
4
5Please try to follow the guidelines below.  This will make things
6easier on the maintainers.  Not all of these guidelines matter for every
7trivial patch so apply some common sense.
8
91.	Always _test_ your changes, however small, on at least 4 or
10	5 people, preferably many more.
11
122.	Make sure your changes compile correctly in multiple
13	configurations. For example, both 32- and 64-bit x86.
14
153.	Make a patch available to the relevant maintainer in the list. Use
16	'diff -u' to make the patch easy to merge. Be prepared to get your
17	changes sent back with seemingly silly requests about formatting
18	and variable names.  These aren't as silly as they seem. One
19	job the maintainers do is to keep things looking the same.
20
21	PLEASE see http://wiki.xen.org/wiki/Submitting_Xen_Patches for
22	hints on how to submit a patch to xen-unstable in a suitable
23	form.
24
25	PLEASE try to include any credit lines you want added with the
26	patch. It avoids people being missed off by mistake and makes
27	it easier to know who wants adding and who doesn't.
28
29	PLEASE document known bugs. If it doesn't work for everything
30	or does something very odd once a month document it.
31
32	PLEASE remember that submissions must be made under the terms
33	of the "Developer's Certificate of Origin" (DCO) and should include
34	a Signed-off-by: line.
35
364.	Make sure you have the right to send any changes you make. If you
37	do changes at work you may find your employer owns the patch
38	not you.
39
405.	Happy hacking.
41
42
43	Stable Release Maintenance
44	==========================
45
46The policy for inclusion in a Xen stable release is different to that
47for inclusion in xen-unstable.
48
49Please see http://wiki.xen.org/wiki/Xen_Maintenance_Releases for more
50information.
51
52Backport requests should be made on the xen-devel@lists.xenproject.org
53list. Remember to copy the appropriate stable branch maintainer.
54
55The maintainer for this branch is:
56
57        Jan Beulich <jbeulich@suse.com>
58
59Tools backport requests should also be copied to:
60
61        Ian Jackson <Ian.Jackson@eu.citrix.com>
62
63
64	Unstable Subsystem Maintainers
65	==============================
66
67Descriptions of section entries:
68
69	M: Mail patches to: FullName <address@domain>
70	L: Mailing list that is relevant to this area
71	W: Web-page with status/info
72	T: SCM tree type and location.  Type is one of: git, hg, quilt, stgit.
73	S: Status, one of the following:
74	   Supported:	Someone is actually paid to look after this.
75	   Maintained:	Someone actually looks after it.
76	   Odd Fixes:	It has a maintainer but they don't have time to do
77			much other than throw the odd patch in. See below..
78	   Orphan:	No current maintainer [but maybe you could take the
79			role as you write your new code].
80	   Obsolete:	Old code. Something tagged obsolete generally means
81			it has been replaced by a better system and you
82			should be using that.
83	F: Files and directories with wildcard patterns.
84	   A trailing slash includes all files and subdirectory files.
85	   F:	drivers/net/	all files in and below drivers/net
86	   F:	drivers/net/*	all files in drivers/net, but not below
87	   F:	*/net/*		all files in "any top level directory"/net
88	   One pattern per line.  Multiple F: lines acceptable.
89	X: Files and directories that are NOT maintained, same rules as F:
90	   Files exclusions are tested before file matches.
91	   Can be useful for excluding a specific subdirectory, for instance:
92	   F:	net/
93	   X:	net/ipv6/
94	   matches all files in and below net excluding net/ipv6/
95	K: Keyword perl extended regex pattern to match content in a
96	   patch or file.  For instance:
97	   K: of_get_profile
98	      matches patches or files that contain "of_get_profile"
99	   K: \b(printk|pr_(info|err))\b
100	      matches patches or files that contain one or more of the words
101	      printk, pr_info or pr_err
102	   One regex pattern per line.  Multiple K: lines acceptable.
103
104
105The meaning of nesting:
106
107Many maintainership areas are "nested": for example, there are entries
108for xen/arch/x86 as well as xen/arch/x86/mm, and even
109xen/arch/x86/mm/shadow; and there is a section at the end called "THE
110REST" which lists all committers.  The meaning of nesting is that:
111
1121. Under normal circumstances, the Ack of the most specific maintainer
113is both necessary and sufficient to get a change to a given file
114committed.  So a change to xen/arch/x86/mm/shadow/multi.c requires the
115the Ack of the xen/arch/x86/mm/shadow maintainer for that part of the
116patch, but would not require the Ack of the xen/arch/x86 maintainer or
117the xen/arch/x86/mm maintainer.
118
119(A patch of course needs acks from the maintainers of each file that
120it changes; so a patch which changes xen/arch/x86/traps.c,
121xen/arch/x86/mm/p2m.c, and xen/arch/x86/mm/shadow/multi.c would
122require an Ack from each of the three sets of maintainers.)
123
1242. In unusual circumstances, a more general maintainer's Ack can stand
125in for or even overrule a specific maintainer's Ack.  Unusual
126circumstances might include:
127 - The patch is fixing a high-priority issue causing immediate pain,
128 and the more specific maintainer is not available.
129 - The more specific maintainer has not responded either to the
130 original patch, nor to "pings", within a reasonable amount of time.
131 - The more general maintainer wants to overrule the more specific
132 maintainer on some issue. (This should be exceptional.)
133 - In the case of a disagreement between maintainers, THE REST can
134 settle the matter by majority vote.  (This should be very exceptional
135 indeed.)
136
137
138Maintainers List (try to look for most precise areas first)
139
140		-----------------------------------
141
142ACPI
143M:	Jan Beulich <jbeulich@suse.com>
144S:	Supported
145F:	xen/arch/x86/acpi/
146F:	xen/drivers/acpi/
147F:	xen/include/acpi/
148F:	tools/libacpi/
149
150AMD IOMMU
151M:	Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
152S:	Maintained
153F:	xen/drivers/passthrough/amd/
154
155AMD SVM
156M:	Boris Ostrovsky <boris.ostrovsky@oracle.com>
157M:	Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
158S:	Supported
159F:	xen/arch/x86/hvm/svm/
160F:	xen/arch/x86/cpu/vpmu_amd.c
161
162ARINC653 SCHEDULER
163M:	Josh Whitehead <josh.whitehead@dornerworks.com>
164M:	Robert VanVossen <robert.vanvossen@dornerworks.com>
165S:	Supported
166F:	xen/common/sched_arinc653.c
167F:	tools/libxc/xc_arinc653.c
168
169ARM (W/ VIRTUALISATION EXTENSIONS) ARCHITECTURE
170M:	Stefano Stabellini <sstabellini@kernel.org>
171M:	Julien Grall <julien.grall@arm.com>
172S:	Supported
173L:	xen-devel@lists.xen.org
174F:	docs/misc/arm/
175F:	xen/arch/arm/
176F:	xen/drivers/char/arm-uart.c
177F:	xen/drivers/char/cadence-uart.c
178F:	xen/drivers/char/exynos4210-uart.c
179F:	xen/drivers/char/omap-uart.c
180F:	xen/drivers/char/pl011.c
181F:	xen/drivers/char/scif-uart.c
182F:	xen/drivers/passthrough/arm/
183F:	xen/include/asm-arm/
184F:	xen/include/public/arch-arm/
185F:	xen/include/public/arch-arm.h
186
187BLKTAP2
188S:	Orphaned
189F:	tools/blktap2/
190
191CPU POOLS
192M:	Juergen Gross <jgross@suse.com>
193M:	Dario Faggioli <raistlin@linux.it>
194S:	Supported
195F:	xen/common/cpupool.c
196
197DEVICE TREE
198M:	Stefano Stabellini <sstabellini@kernel.org>
199M:	Julien Grall <julien.grall@arm.com>
200S:	Supported
201F:	xen/common/libfdt/
202F:	xen/common/device_tree.c
203F:	xen/include/xen/libfdt/
204F:	xen/include/xen/device_tree.h
205F:	xen/drivers/passthrough/device_tree.c
206
207EFI
208M:     Jan Beulich <jbeulich@suse.com>
209S:     Supported
210F:     xen/arch/x86/efi/
211F:     xen/common/efi/
212F:     xen/include/efi/
213F:     xen/include/asm-x86/efi*.h
214F:     xen/include/asm-x86/x86_*/efi*.h
215
216GDBSX DEBUGGER
217M:	Elena Ufimtseva <elena.ufimtseva@oracle.com>
218S:	Supported
219F:	xen/arch/x86/debug.c
220F:	tools/debugger/gdbsx/
221
222INTEL(R) TRUSTED EXECUTION TECHNOLOGY (TXT)
223M:	Gang Wei <gang.wei@intel.com>
224M:	Shane Wang <shane.wang@intel.com>
225S:	Supported
226F:	xen/arch/x86/tboot.c
227F:	xen/include/asm-x86/tboot.h
228
229INTEL(R) VT FOR DIRECTED I/O (VT-D)
230M:	Kevin Tian <kevin.tian@intel.com>
231S:	Supported
232F:	xen/drivers/passthrough/vtd/
233
234INTEL(R) VT FOR X86 (VT-X)
235M:	Jun Nakajima <jun.nakajima@intel.com>
236M:	Kevin Tian <kevin.tian@intel.com>
237S:	Supported
238F:	xen/arch/x86/hvm/vmx/
239F:	xen/arch/x86/mm/p2m-ept.c
240F:	xen/include/asm-x86/hvm/vmx/
241F:	xen/arch/x86/cpu/vpmu_intel.c
242
243IOMMU VENDOR INDEPENDENT CODE
244M:	Jan Beulich <jbeulich@suse.com>
245S:	Supported
246F:	xen/drivers/passthrough/
247X:	xen/drivers/passthrough/amd/
248X:	xen/drivers/passthrough/arm/
249X:	xen/drivers/passthrough/vtd/
250X:	xen/drivers/passthrough/device_tree.c
251F:	xen/include/xen/iommu.h
252
253KCONFIG
254M:	Doug Goldstein <cardoe@cardoe.com>
255S:	Supported
256F:	docs/misc/kconfig{,-language}.txt
257F:	xen/tools/kconfig/
258
259KDD DEBUGGER
260M:	Tim Deegan <tim@xen.org>
261S:	Odd Fixes
262F:	tools/debugger/kdd/
263
264KEXEC
265M:      Andrew Cooper <andrew.cooper3@citrix.com>
266S:      Supported
267F:      xen/common/{kexec,kimage}.c
268F:      xen/include/{kexec,kimage}.h
269F:      xen/arch/x86/machine_kexec.c
270F:      xen/arch/x86/x86_64/kexec_reloc.S
271
272LIVEPATCH
273M:  Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
274M:  Ross Lagerwall <ross.lagerwall@citrix.com>
275S:  Supported
276F:  docs/misc/livepatch.markdown
277F:  tools/misc/xen-livepatch.c
278F:  xen/arch/*/livepatch*
279F:  xen/arch/*/*/livepatch*
280F:  xen/common/livepatch*
281F:  xen/include/asm-*/livepatch.h
282F:  xen/include/xen/livepatch*
283F:  xen/test/livepatch/*
284
285MINI-OS
286M:	Samuel Thibault <samuel.thibault@ens-lyon.org>
287S:	Supported
288L:	minios-devel@lists.xenproject.org
289T:	git git://xenbits.xen.org/mini-os.git
290F:	config/MiniOS.mk
291
292OCAML TOOLS
293M:	David Scott <dave@recoil.org>
294S:	Supported
295F:	tools/ocaml/
296
297OVMF UPSTREAM
298M:	Anthony PERARD <anthony.perard@citrix.com>
299M:	Wei Liu <wei.liu2@citrix.com>
300S:	Supported
301T:	git git://xenbits.xen.org/ovmf.git
302
303POWER MANAGEMENT
304M:	Jan Beulich <jbeulich@suse.com>
305S:	Supported
306F:	xen/arch/x86/acpi/
307X:	xen/arch/x86/acpi/boot.c
308X:	xen/arch/x86/acpi/lib.c
309F:	xen/drivers/cpufreq/
310F:	xen/include/acpi/cpufreq/
311
312PUBLIC I/O INTERFACES AND PV DRIVERS DESIGNS
313M:  Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
314S:  Supported
315F:  xen/include/public/io/
316
317PYTHON BINDINGS
318M:	Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
319S:	Supported
320F:	tools/python
321
322QEMU-DM
323M:	Ian Jackson <ian.jackson@eu.citrix.com>
324S:	Supported
325T:	git git://xenbits.xen.org/qemu-xen-traditional.git
326
327QEMU UPSTREAM
328M:	Stefano Stabellini <sstabellini@kernel.org>
329M:	Anthony Perard <anthony.perard@citrix.com>
330S:	Supported
331T:	git git://xenbits.xen.org/qemu-xen.git
332
333REMUS
334M:	Shriram Rajagopalan <rshriram@cs.ubc.ca>
335M:	Yang Hongyang <imhy.yang@gmail.com>
336S:	Maintained
337F:	docs/README.remus
338F:	tools/libxl/libxl_remus_*
339F:	tools/libxl/libxl_netbuffer.c
340F:	tools/libxl/libxl_nonetbuffer.c
341F:	tools/hotplug/Linux/remus-netbuf-setup
342F:	tools/hotplug/Linux/block-drbd-probe
343
344RTDS SCHEDULER
345M:	Dario Faggioli <raistlin@linux.it>
346M:	Meng Xu <mengxu@cis.upenn.edu>
347S:	Supported
348F:	xen/common/sched_rt.c
349
350SCHEDULING
351M:	George Dunlap <george.dunlap@eu.citrix.com>
352M:	Dario Faggioli <raistlin@linux.it>
353S:	Supported
354F:	xen/common/sched*
355
356SEABIOS UPSTREAM
357M:	Wei Liu <wei.liu2@citrix.com>
358S:	Supported
359T:	git git://xenbits.xen.org/seabios.git
360
361STUB DOMAINS
362M:	Samuel Thibault <samuel.thibault@ens-lyon.org>
363S:	Supported
364F:	config/Stubdom.mk.in
365F:	m4/stubdom.m4
366F:	stubdom/
367
368TOOLSTACK
369M:	Ian Jackson <ian.jackson@eu.citrix.com>
370M:	Wei Liu <wei.liu2@citrix.com>
371S:	Supported
372F:	autogen.sh
373F:	config/*.in
374F:	install.sh
375F:	m4/
376F:	configure
377F:	docs/Makefile
378F:	docs/man/
379F:	stubdom/Makefile
380F:	*.ac
381F:	*/configure
382F:	*/*.ac
383F:	tools/
384
385TRANSCENDENT MEMORY (TMEM)
386M:	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
387W:	http://oss.oracle.com/projects/tmem
388S:	Supported
389F:	xen/common/tmem*
390F:	xen/include/xen/tmem*
391F:	docs/misc/tmem*
392
393TRAVIS CI
394M:	Doug Goldstein <cardoe@cardoe.com>
395W:	https://travis-ci.org/xen-project/xen
396S:	Supported
397F:	.travis.yml
398
399UNMODIFIED LINUX PV DRIVERS
400M:	Jan Beulich <jbeulich@suse.com>
401S:	Obsolete
402L:	xen-devel@lists.xen.org
403F:	unmodified_drivers/linux-2.6/
404
405USB PV DRIVERS
406M:	Noboru Iwamatsu <n_iwamatsu@jp.fujitsu.com>
407S:	Supported
408T:	hg http://xenbits.xen.org/linux-2.6.18-xen.hg
409F:	drivers/xen/usb*/
410
411VM EVENT, MEM ACCESS and MONITOR
412M:	Razvan Cojocaru <rcojocaru@bitdefender.com>
413M:	Tamas K Lengyel <tamas@tklengyel.com>
414S:	Supported
415F:	tools/tests/xen-access
416F:	xen/arch/*/monitor.c
417F:	xen/arch/*/vm_event.c
418F:	xen/arch/arm/mem_access.c
419F:	xen/arch/x86/mm/mem_access.c
420F:	xen/arch/x86/hvm/monitor.c
421F:	xen/arch/x88/hvm/vm_event.c
422F:	xen/common/mem_access.c
423F:	xen/common/monitor.c
424F:	xen/common/vm_event.c
425F:	xen/include/*/mem_access.h
426F:	xen/include/*/monitor.h
427F:	xen/include/*/vm_event.h
428F:	xen/include/asm-x86/hvm/monitor.h
429F:	xen/include/asm-x86/hvm/vm_event.h
430
431VTPM
432M:	Daniel De Graaf <dgdegra@tycho.nsa.gov>
433M:	Quan Xu <quan.xu0@gmail.com>
434S:	Supported
435F:	extras/mini-os/tpm*
436F:	extras/mini-os/include/tpm*
437F:	stubdom/vtpm/
438F:	stubdom/vtpmmgr/
439F:	docs/misc/vtpm-platforms.txt
440
441X86 ARCHITECTURE
442M:	Jan Beulich <jbeulich@suse.com>
443M:	Andrew Cooper <andrew.cooper3@citrix.com>
444S:	Supported
445L:	xen-devel@lists.xen.org
446F:	xen/arch/x86/
447F:	xen/include/asm-x86/
448F:	xen/include/public/arch-x86/
449F:	tools/firmware/hvmloader/
450F:	tools/firmware/rombios/
451F:	tools/firmware/vgabios/
452F:	tools/tests/x86_emulator/
453F:	tools/fuzz/x86_instruction_emulator/
454
455X86 I/O EMULATION
456M:	Paul Durrant <paul.durrant@citrix.com>
457S:	Supported
458F:	xen/arch/x86/hvm/emulate.c
459F:	xen/arch/x86/hvm/intercept.c
460F:	xen/arch/x86/hvm/io.c
461F:	xen/arch/x86/hvm/ioreq.c
462F:	xen/include/asm-x86/hvm/emulate.h
463F:	xen/include/asm-x86/hvm/io.h
464F:	xen/include/asm-x86/hvm/ioreq.h
465F:	xen/include/public/hvm/ioreq.h
466
467X86 MEMORY MANAGEMENT
468M:	George Dunlap <george.dunlap@eu.citrix.com>
469S:	Supported
470F:	xen/arch/x86/mm/
471
472X86 MEMORY PAGING
473S:	Orphaned
474F:	xen/arch/x86/mm/mem_paging.c
475
476X86 MEMORY SHARING
477M:	Tamas K Lengyel <tamas@tklengyel.com>
478S:	Odd Fixes
479F:	xen/arch/x86/mm/mem_sharing.c
480F:	tools/memshr
481
482X86 SHADOW PAGETABLES
483M:	Tim Deegan <tim@xen.org>
484S:	Maintained
485F:	xen/arch/x86/mm/shadow/
486
487X86 VIRIDIAN ENLIGHTENMENTS
488M:	Paul Durrant <paul.durrant@citrix.com>
489S:	Supported
490F:	xen/arch/x86/hvm/viridian.c
491F:	xen/include/asm-x86/hvm/viridian.h
492
493XENTRACE
494M:	George Dunlap <george.dunlap@eu.citrix.com>
495S:	Supported
496F:	tools/xentrace/
497F:	xen/common/trace.c
498
499XSM/FLASK
500M:  Daniel De Graaf <dgdegra@tycho.nsa.gov>
501S:  Supported
502F:  tools/flask/
503F:  xen/include/xsm/
504F:  xen/xsm/
505F:  docs/misc/xsm-flask.txt
506
507THE REST
508M:	Andrew Cooper <andrew.cooper3@citrix.com>
509M:	George Dunlap <George.Dunlap@eu.citrix.com>
510M:	Ian Jackson <ian.jackson@eu.citrix.com>
511M:	Jan Beulich <jbeulich@suse.com>
512M:	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
513M:	Stefano Stabellini <sstabellini@kernel.org>
514M:	Tim Deegan <tim@xen.org>
515M:	Wei Liu <wei.liu2@citrix.com>
516L:	xen-devel@lists.xen.org
517S:	Supported
518F:	*
519F:	*/
520