
	List of maintainers and how to submit changes
	=============================================

Please try to follow the guidelines below.  This will make things
easier on the maintainers.  Not all of these guidelines matter for every
trivial patch so apply some common sense.

1.	Always _test_ your changes, however small, on at least 4 or
	5 people, preferably many more.

2.	Make sure your changes compile correctly in multiple
	configurations. For example, both 32- and 64-bit x86.

3.	Make a patch available to the relevant maintainer in the list. Use
	'diff -u' to make the patch easy to merge. Be prepared to get your
	changes sent back with seemingly silly requests about formatting
	and variable names.  These aren't as silly as they seem. One
	job the maintainers do is to keep things looking the same.

	PLEASE see http://wiki.xen.org/wiki/Submitting_Xen_Patches for
	hints on how to submit a patch to xen-unstable in a suitable
	form.

	PLEASE try to include any credit lines you want added with the
	patch. It avoids people being missed off by mistake and makes
	it easier to know who wants adding and who doesn't.

	PLEASE document known bugs. If it doesn't work for everything
	or does something very odd once a month document it.

	PLEASE remember that submissions must be made under the terms
	of the "Developer's Certificate of Origin" (DCO) and should include
	a Signed-off-by: line.

4.	Make sure you have the right to send any changes you make. If you
	do changes at work you may find your employer owns the patch
	not you.

5.	Happy hacking.


	Stable Release Maintenance
	==========================

The policy for inclusion in a Xen stable release is different to that
for inclusion in xen-unstable.

Please see http://wiki.xen.org/wiki/Xen_Maintenance_Releases for more
information.

Backport requests should be made on the xen-devel@lists.xenproject.org
list. Remember to copy the appropriate stable branch maintainer.

The maintainer for this branch is:

	Jan Beulich <jbeulich@suse.com>

Tools backport requests should also be copied to:

	Ian Jackson <Ian.Jackson@eu.citrix.com>


	Unstable Subsystem Maintainers
	==============================

Descriptions of section entries:

	M: Mail patches to: FullName <address@domain>
	R: Designated reviewer: FullName <address@domain>
	   Reviewers should be CCed on patches.  However, they do not
	   have a formal governance role, and are listed here
	   simply because of their own request.
	L: Mailing list that is relevant to this area
	W: Web-page with status/info
	T: SCM tree type and location.  Type is one of: git, hg, quilt, stgit.
	S: Status, one of the following:
	   Supported:	Someone is actually paid to look after this.
	   Maintained:	Someone actually looks after it.
	   Odd Fixes:	It has a maintainer but they don't have time to do
			much other than throw the odd patch in. See below..
	   Orphan:	No current maintainer [but maybe you could take the
			role as you write your new code].
	   Obsolete:	Old code. Something tagged obsolete generally means
			it has been replaced by a better system and you
			should be using that.
	F: Files and directories with wildcard patterns.
	   A trailing slash includes all files and subdirectory files.
	   F:	drivers/net/	all files in and below drivers/net
	   F:	drivers/net/*	all files in drivers/net, but not below
	   F:	*/net/*		all files in "any top level directory"/net
	   One pattern per line.  Multiple F: lines acceptable.
	X: Files and directories that are NOT maintained, same rules as F:
	   Files exclusions are tested before file matches.
	   Can be useful for excluding a specific subdirectory, for instance:
	   F:	net/
	   X:	net/ipv6/
	   matches all files in and below net excluding net/ipv6/
	K: Keyword perl extended regex pattern to match content in a
	   patch or file.  For instance:
	   K: of_get_profile
	      matches patches or files that contain "of_get_profile"
	   K: \b(printk|pr_(info|err))\b
	      matches patches or files that contain one or more of the words
	      printk, pr_info or pr_err
	   One regex pattern per line.  Multiple K: lines acceptable.


The meaning of nesting:

Many maintainership areas are "nested": for example, there are entries
for xen/arch/x86 as well as xen/arch/x86/mm, and even
xen/arch/x86/mm/shadow; and there is a section at the end called "THE
REST" which lists all committers.  The meaning of nesting is that:

1. Under normal circumstances, the Ack of the most specific maintainer
is both necessary and sufficient to get a change to a given file
committed.  So a change to xen/arch/x86/mm/shadow/multi.c requires the
the Ack of the xen/arch/x86/mm/shadow maintainer for that part of the
patch, but would not require the Ack of the xen/arch/x86 maintainer or
the xen/arch/x86/mm maintainer.

(A patch of course needs acks from the maintainers of each file that
it changes; so a patch which changes xen/arch/x86/traps.c,
xen/arch/x86/mm/p2m.c, and xen/arch/x86/mm/shadow/multi.c would
require an Ack from each of the three sets of maintainers.)

2. In unusual circumstances, a more general maintainer's Ack can stand
in for or even overrule a specific maintainer's Ack.  Unusual
circumstances might include:
 - The patch is fixing a high-priority issue causing immediate pain,
 and the more specific maintainer is not available.
 - The more specific maintainer has not responded either to the
 original patch, nor to "pings", within a reasonable amount of time.
 - The more general maintainer wants to overrule the more specific
 maintainer on some issue. (This should be exceptional.)
 - In the case of a disagreement between maintainers, THE REST can
 settle the matter by majority vote.  (This should be very exceptional
 indeed.)


Maintainers List (try to look for most precise areas first)

		-----------------------------------

ACPI
M:	Jan Beulich <jbeulich@suse.com>
S:	Supported
F:	xen/arch/x86/acpi/
F:	xen/drivers/acpi/
F:	xen/include/acpi/
F:	tools/libacpi/

AMD IOMMU
M:	Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
R:	Brian Woods <brian.woods@amd.com>
S:	Maintained
F:	xen/drivers/passthrough/amd/

AMD SVM
M:	Boris Ostrovsky <boris.ostrovsky@oracle.com>
M:	Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
R:	Brian Woods <brian.woods@amd.com>
S:	Supported
F:	xen/arch/x86/hvm/svm/
F:	xen/arch/x86/cpu/vpmu_amd.c

ARINC653 SCHEDULER
M:	Josh Whitehead <josh.whitehead@dornerworks.com>
M:	Robert VanVossen <robert.vanvossen@dornerworks.com>
S:	Supported
F:	xen/common/sched_arinc653.c
F:	tools/libxc/xc_arinc653.c

ARM (W/ VIRTUALISATION EXTENSIONS) ARCHITECTURE
M:	Stefano Stabellini <sstabellini@kernel.org>
M:	Julien Grall <julien.grall@arm.com>
S:	Supported
L:	xen-devel@lists.xen.org
F:	docs/misc/arm/
F:	xen/arch/arm/
F:	xen/drivers/char/arm-uart.c
F:	xen/drivers/char/cadence-uart.c
F:	xen/drivers/char/exynos4210-uart.c
F:	xen/drivers/char/mvebu-uart.c
F:	xen/drivers/char/omap-uart.c
F:	xen/drivers/char/pl011.c
F:	xen/drivers/char/scif-uart.c
F:	xen/drivers/passthrough/arm/
F:	xen/include/asm-arm/
F:	xen/include/public/arch-arm/
F:	xen/include/public/arch-arm.h

BLKTAP2
S:	Orphaned
F:	tools/blktap2/

Continuous Integration (CI)
M:	Doug Goldstein <cardoe@cardoe.com>
W:	https://gitlab.com/xen-project/xen
W:	https://travis-ci.org/xen-project/xen
S:	Supported
F:	.gitlab-ci.yml
F:	.travis.yml
F:	automation/
F:	scripts/travis-build

CPU POOLS
M:	Juergen Gross <jgross@suse.com>
M:	Dario Faggioli <dfaggioli@suse.com>
S:	Supported
F:	xen/common/cpupool.c

DEVICE TREE
M:	Stefano Stabellini <sstabellini@kernel.org>
M:	Julien Grall <julien.grall@arm.com>
S:	Supported
F:	xen/common/libfdt/
F:	xen/common/device_tree.c
F:	xen/include/xen/libfdt/
F:	xen/include/xen/device_tree.h
F:	xen/drivers/passthrough/device_tree.c

EFI
M:     Jan Beulich <jbeulich@suse.com>
S:     Supported
F:     xen/arch/x86/efi/
F:     xen/common/efi/
F:     xen/include/efi/
F:     xen/include/asm-x86/efi*.h
F:     xen/include/asm-x86/x86_*/efi*.h

GDBSX DEBUGGER
M:	Elena Ufimtseva <elena.ufimtseva@oracle.com>
S:	Supported
F:	xen/arch/x86/debug.c
F:	tools/debugger/gdbsx/

INTEL(R) TRUSTED EXECUTION TECHNOLOGY (TXT)
M:	Gang Wei <gang.wei@intel.com>
M:	Shane Wang <shane.wang@intel.com>
S:	Supported
F:	xen/arch/x86/tboot.c
F:	xen/include/asm-x86/tboot.h

INTEL(R) VT FOR DIRECTED I/O (VT-D)
M:	Kevin Tian <kevin.tian@intel.com>
S:	Supported
F:	xen/drivers/passthrough/vtd/

INTEL(R) VT FOR X86 (VT-X)
M:	Jun Nakajima <jun.nakajima@intel.com>
M:	Kevin Tian <kevin.tian@intel.com>
S:	Supported
F:	xen/arch/x86/hvm/vmx/
F:	xen/arch/x86/mm/p2m-ept.c
F:	xen/include/asm-x86/hvm/vmx/
F:	xen/arch/x86/cpu/vpmu_intel.c

IOMMU VENDOR INDEPENDENT CODE
M:	Jan Beulich <jbeulich@suse.com>
S:	Supported
F:	xen/drivers/passthrough/
X:	xen/drivers/passthrough/amd/
X:	xen/drivers/passthrough/arm/
X:	xen/drivers/passthrough/vtd/
X:	xen/drivers/passthrough/device_tree.c
F:	xen/include/xen/iommu.h

KCONFIG
M:	Doug Goldstein <cardoe@cardoe.com>
S:	Supported
F:	docs/misc/kconfig{,-language}.txt
F:	xen/tools/kconfig/

KDD DEBUGGER
M:	Tim Deegan <tim@xen.org>
S:	Odd Fixes
F:	tools/debugger/kdd/

KEXEC
M:      Andrew Cooper <andrew.cooper3@citrix.com>
S:      Supported
F:      xen/common/{kexec,kimage}.c
F:      xen/include/{kexec,kimage}.h
F:      xen/arch/x86/machine_kexec.c
F:      xen/arch/x86/x86_64/kexec_reloc.S

LIVEPATCH
M:  Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
M:  Ross Lagerwall <ross.lagerwall@citrix.com>
S:  Supported
F:  docs/misc/livepatch.markdown
F:  tools/misc/xen-livepatch.c
F:  xen/arch/*/livepatch*
F:  xen/arch/*/*/livepatch*
F:  xen/common/livepatch*
F:  xen/include/asm-*/livepatch.h
F:  xen/include/xen/livepatch*
F:  xen/test/livepatch/*

MINI-OS
M:	Samuel Thibault <samuel.thibault@ens-lyon.org>
S:	Supported
L:	minios-devel@lists.xenproject.org
T:	git git://xenbits.xen.org/mini-os.git
F:	config/MiniOS.mk

OCAML TOOLS
M:	Christian Lindig <christian.lindig@citrix.com>
M:	David Scott <dave@recoil.org>
S:	Supported
F:	tools/ocaml/

OVMF UPSTREAM
M:	Anthony PERARD <anthony.perard@citrix.com>
M:	Wei Liu <wei.liu2@citrix.com>
S:	Supported
T:	git git://xenbits.xen.org/ovmf.git

POWER MANAGEMENT
M:	Jan Beulich <jbeulich@suse.com>
S:	Supported
F:	xen/arch/x86/acpi/
X:	xen/arch/x86/acpi/boot.c
X:	xen/arch/x86/acpi/lib.c
F:	xen/drivers/cpufreq/
F:	xen/include/acpi/cpufreq/

PUBLIC I/O INTERFACES AND PV DRIVERS DESIGNS
M:  Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
S:  Supported
F:  xen/include/public/io/

PYTHON BINDINGS
M:	Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
S:	Supported
F:	tools/python

QEMU-DM
M:	Ian Jackson <ian.jackson@eu.citrix.com>
S:	Supported
T:	git git://xenbits.xen.org/qemu-xen-traditional.git

QEMU UPSTREAM
M:	Stefano Stabellini <sstabellini@kernel.org>
M:	Anthony Perard <anthony.perard@citrix.com>
S:	Supported
T:	git git://xenbits.xen.org/qemu-xen.git

REMUS
M:	Shriram Rajagopalan <rshriram@cs.ubc.ca>
M:	Yang Hongyang <imhy.yang@gmail.com>
S:	Maintained
F:	docs/README.remus
F:	tools/libxl/libxl_remus_*
F:	tools/libxl/libxl_netbuffer.c
F:	tools/libxl/libxl_nonetbuffer.c
F:	tools/hotplug/Linux/remus-netbuf-setup
F:	tools/hotplug/Linux/block-drbd-probe

RTDS SCHEDULER
M:	Dario Faggioli <dfaggioli@suse.com>
M:	Meng Xu <mengxu@cis.upenn.edu>
S:	Supported
F:	xen/common/sched_rt.c

SCHEDULING
M:	George Dunlap <george.dunlap@eu.citrix.com>
M:	Dario Faggioli <dfaggioli@suse.com>
S:	Supported
F:	xen/common/sched*

SEABIOS UPSTREAM
M:	Wei Liu <wei.liu2@citrix.com>
S:	Supported
T:	git git://xenbits.xen.org/seabios.git

STUB DOMAINS
M:	Samuel Thibault <samuel.thibault@ens-lyon.org>
S:	Supported
F:	config/Stubdom.mk.in
F:	m4/stubdom.m4
F:	stubdom/

TOOLSTACK
M:	Ian Jackson <ian.jackson@eu.citrix.com>
M:	Wei Liu <wei.liu2@citrix.com>
S:	Supported
F:	autogen.sh
F:	config/*.in
F:	install.sh
F:	m4/
F:	configure
F:	docs/Makefile
F:	docs/man/
F:	stubdom/Makefile
F:	*.ac
F:	*/configure
F:	*/*.ac
F:	tools/

TRANSCENDENT MEMORY (TMEM)
M:	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
W:	http://oss.oracle.com/projects/tmem
S:	Supported
F:	xen/common/tmem*
F:	xen/include/xen/tmem*
F:	docs/misc/tmem*

UNMODIFIED LINUX PV DRIVERS
M:	Jan Beulich <jbeulich@suse.com>
S:	Obsolete
L:	xen-devel@lists.xen.org
F:	unmodified_drivers/linux-2.6/

USB PV DRIVERS
M:	Noboru Iwamatsu <n_iwamatsu@jp.fujitsu.com>
S:	Supported
T:	hg http://xenbits.xen.org/linux-2.6.18-xen.hg
F:	drivers/xen/usb*/

VM EVENT, MEM ACCESS and MONITOR
M:	Razvan Cojocaru <rcojocaru@bitdefender.com>
M:	Tamas K Lengyel <tamas@tklengyel.com>
S:	Supported
F:	tools/tests/xen-access
F:	xen/arch/*/monitor.c
F:	xen/arch/*/vm_event.c
F:	xen/arch/arm/mem_access.c
F:	xen/arch/x86/mm/mem_access.c
F:	xen/arch/x86/hvm/monitor.c
F:	xen/arch/x86/hvm/vm_event.c
F:	xen/common/mem_access.c
F:	xen/common/monitor.c
F:	xen/common/vm_event.c
F:	xen/include/*/mem_access.h
F:	xen/include/*/monitor.h
F:	xen/include/*/vm_event.h
F:	xen/include/asm-x86/hvm/monitor.h
F:	xen/include/asm-x86/hvm/vm_event.h

VTPM
M:	Daniel De Graaf <dgdegra@tycho.nsa.gov>
M:	Quan Xu <quan.xu0@gmail.com>
S:	Supported
F:	extras/mini-os/tpm*
F:	extras/mini-os/include/tpm*
F:	stubdom/vtpm/
F:	stubdom/vtpmmgr/
F:	docs/misc/vtpm-platforms.txt

X86 ARCHITECTURE
M:	Jan Beulich <jbeulich@suse.com>
M:	Andrew Cooper <andrew.cooper3@citrix.com>
S:	Supported
L:	xen-devel@lists.xen.org
F:	xen/arch/x86/
F:	xen/include/asm-x86/
F:	xen/include/public/arch-x86/
F:	tools/firmware/hvmloader/
F:	tools/firmware/rombios/
F:	tools/firmware/vgabios/
F:	tools/tests/x86_emulator/
F:	tools/fuzz/x86_instruction_emulator/

X86 I/O EMULATION
M:	Paul Durrant <paul.durrant@citrix.com>
S:	Supported
F:	xen/arch/x86/hvm/emulate.c
F:	xen/arch/x86/hvm/intercept.c
F:	xen/arch/x86/hvm/io.c
F:	xen/arch/x86/hvm/ioreq.c
F:	xen/include/asm-x86/hvm/emulate.h
F:	xen/include/asm-x86/hvm/io.h
F:	xen/include/asm-x86/hvm/ioreq.h
F:	xen/include/public/hvm/ioreq.h

X86 MEMORY MANAGEMENT
M:	George Dunlap <george.dunlap@eu.citrix.com>
S:	Supported
F:	xen/arch/x86/mm/

X86 MEMORY PAGING
S:	Orphaned
F:	xen/arch/x86/mm/mem_paging.c

X86 MEMORY SHARING
M:	Tamas K Lengyel <tamas@tklengyel.com>
S:	Odd Fixes
F:	xen/arch/x86/mm/mem_sharing.c
F:	tools/memshr

X86 SHADOW PAGETABLES
M:	Tim Deegan <tim@xen.org>
S:	Maintained
F:	xen/arch/x86/mm/shadow/

X86 VIRIDIAN ENLIGHTENMENTS
M:	Paul Durrant <paul.durrant@citrix.com>
S:	Supported
F:	xen/arch/x86/hvm/viridian.c
F:	xen/include/asm-x86/hvm/viridian.h

XENTRACE
M:	George Dunlap <george.dunlap@eu.citrix.com>
S:	Supported
F:	tools/xentrace/
F:	xen/common/trace.c

XSM/FLASK
M:  Daniel De Graaf <dgdegra@tycho.nsa.gov>
S:  Supported
F:  tools/flask/
F:  xen/include/xsm/
F:  xen/xsm/
F:  docs/misc/xsm-flask.txt

THE REST
M:	Andrew Cooper <andrew.cooper3@citrix.com>
M:	George Dunlap <George.Dunlap@eu.citrix.com>
M:	Ian Jackson <ian.jackson@eu.citrix.com>
M:	Jan Beulich <jbeulich@suse.com>
M:	Julien Grall <julien.grall@arm.com>
M:	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
M:	Stefano Stabellini <sstabellini@kernel.org>
M:	Tim Deegan <tim@xen.org>
M:	Wei Liu <wei.liu2@citrix.com>
L:	xen-devel@lists.xen.org
S:	Supported
F:	*
F:	*/
