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 https://wiki.xenproject.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 https://wiki.xenproject.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 who 54will be listed in this section of the MAINTAINERS file in the 55appropriate branch. 56 57 Unstable Subsystem Maintainers 58 ============================== 59 60Descriptions of section entries: 61 62 M: Maintainer: FullName <address@domain> 63 Maintainers should be CCed on patches. At least one of them 64 needs to approve changes to the covered files. 65 R: Designated reviewer: FullName <address@domain> 66 Reviewers should be CCed on patches. However, they do not 67 have a formal governance role, and are listed here 68 simply because of their own request. 69 L: Mailing list that is relevant to this area 70 W: Web-page with status/info 71 T: SCM tree type and location. Type is one of: git, hg, quilt, stgit. 72 S: Status, one of the following: 73 Supported: Someone is actually paid to look after this. 74 Maintained: Someone actually looks after it. 75 Odd Fixes: It has a maintainer but they don't have time to do 76 much other than throw the odd patch in. See below.. 77 Orphan: No current maintainer [but maybe you could take the 78 role as you write your new code]. 79 Obsolete: Old code. Something tagged obsolete generally means 80 it has been replaced by a better system and you 81 should be using that. 82 F: Files and directories with wildcard patterns. 83 A trailing slash includes all files and subdirectory files. 84 F: drivers/net/ all files in and below drivers/net 85 F: drivers/net/* all files in drivers/net, but not below 86 F: */net/* all files in "any top level directory"/net 87 One pattern per line. Multiple F: lines acceptable. 88 X: Files and directories that are NOT maintained, same rules as F: 89 Files exclusions are tested before file matches. 90 Can be useful for excluding a specific subdirectory, for instance: 91 F: net/ 92 X: net/ipv6/ 93 matches all files in and below net excluding net/ipv6/ 94 K: Keyword perl extended regex pattern to match content in a 95 patch or file. For instance: 96 K: of_get_profile 97 matches patches or files that contain "of_get_profile" 98 K: \b(printk|pr_(info|err))\b 99 matches patches or files that contain one or more of the words 100 printk, pr_info or pr_err 101 One regex pattern per line. Multiple K: lines acceptable. 102 V: Version identifier that must be under THE REST and follows 103 the format: 104 xen-maintainers-<version format number of this file> 105 106 107 Check-in policy 108 =============== 109 110In order for a patch to be checked in, in general, several conditions 111must be met: 112 1131. In order to get a change to a given file committed, it must have 114 the approval of at least one maintainer of that file. 115 116 A patch of course needs Acks from the maintainers of each file that 117 it changes; so a patch which changes xen/arch/x86/traps.c, 118 xen/arch/x86/mm/p2m.c, and xen/arch/x86/mm/shadow/multi.c would 119 require an Ack from each of the three sets of maintainers. 120 121 See below for rules on nested maintainership. 122 1232. It must have appropriate approval from someone other than the 124 submitter. This can be either: 125 126 a. An Acked-by from a maintainer of the code being touched (a 127 co-maintainer if available, or a more general level maintainer if 128 not available; see the secton on nested maintainership) 129 130 b. A Reviewed-by by anyone of suitable stature in the community 131 1323. Sufficient time must have been given for anyone to respond. This 133 depends in large part upon the urgency and nature of the patch. 134 For a straightforward uncontroversial patch, a day or two may be 135 sufficient; for a controversial patch, a week or two may be better. 136 1374. There must be no "open" objections. 138 139In a case where one person submits a patch and a maintainer gives an 140Ack, the Ack stands in for both the approval requirement (#1) and the 141Acked-by-non-submitter requirement (#2). 142 143In a case where a maintainer themselves submits a patch, the 144Signed-off-by meets the approval requirement (#1); so a Review 145from anyone in the community suffices for requirement #2. 146 147Before a maintainer checks in their own patch with another community 148member's R-b but no co-maintainer Ack, it is especially important to 149give their co-maintainer opportunity to give feedback, perhaps 150declaring their intention to check it in without their co-maintainers 151ack a day before doing so. 152 153Maintainers may choose to override non-maintainer objections in the 154case that consensus can't be reached. 155 156As always, no policy can cover all possible situations. In 157exceptional circumstances, committers may commit a patch in absence of 158one or more of the above requirements, if they are reasonably 159confident that the other maintainers will approve of their decision in 160retrospect. 161 162 The meaning of nesting 163 ====================== 164 165Many maintainership areas are "nested": for example, there are entries 166for xen/arch/x86 as well as xen/arch/x86/mm, and even 167xen/arch/x86/mm/shadow; and there is a section at the end called "THE 168REST" which lists all committers. The meaning of nesting is that: 169 1701. Under normal circumstances, the Ack of the most specific maintainer 171is both necessary and sufficient to get a change to a given file 172committed. So a change to xen/arch/x86/mm/shadow/multi.c requires the 173the Ack of the xen/arch/x86/mm/shadow maintainer for that part of the 174patch, but would not require the Ack of the xen/arch/x86 maintainer or 175the xen/arch/x86/mm maintainer. 176 1772. In unusual circumstances, a more general maintainer's Ack can stand 178in for or even overrule a specific maintainer's Ack. Unusual 179circumstances might include: 180 - The patch is fixing a high-priority issue causing immediate pain, 181 and the more specific maintainer is not available. 182 - The more specific maintainer has not responded either to the 183 original patch, nor to "pings", within a reasonable amount of time. 184 - The more general maintainer wants to overrule the more specific 185 maintainer on some issue. (This should be exceptional.) 186 - In the case of a disagreement between maintainers, THE REST can 187 settle the matter by majority vote. (This should be very exceptional 188 indeed.) 189 190 191Maintainers List (try to look for most precise areas first) 192 193 ----------------------------------- 194 195ACPI 196M: Jan Beulich <jbeulich@suse.com> 197S: Supported 198F: xen/arch/x86/acpi/ 199F: xen/drivers/acpi/ 200F: xen/include/acpi/ 201F: tools/libacpi/ 202 203AMD IOMMU 204M: Jan Beulich <jbeulich@suse.com> 205M: Andrew Cooper <andrew.cooper3@citrix.com> 206S: Maintained 207F: xen/drivers/passthrough/amd/ 208 209AMD SVM 210M: Jan Beulich <jbeulich@suse.com> 211M: Andrew Cooper <andrew.cooper3@citrix.com> 212S: Supported 213F: xen/arch/x86/hvm/svm/ 214F: xen/arch/x86/cpu/vpmu_amd.c 215 216ARGO 217M: Christopher Clark <christopher.w.clark@gmail.com> 218S: Maintained 219F: xen/include/public/argo.h 220F: xen/include/xen/argo.h 221F: xen/common/argo.c 222 223ARINC653 SCHEDULER 224M: Josh Whitehead <josh.whitehead@dornerworks.com> 225M: Stewart Hildebrand <stewart.hildebrand@dornerworks.com> 226S: Supported 227L: xen-devel@dornerworks.com 228F: xen/common/sched/arinc653.c 229F: tools/libxc/xc_arinc653.c 230 231ARM (W/ VIRTUALISATION EXTENSIONS) ARCHITECTURE 232M: Stefano Stabellini <sstabellini@kernel.org> 233M: Julien Grall <julien@xen.org> 234R: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com> 235S: Supported 236L: xen-devel@lists.xenproject.org 237F: docs/misc/arm/ 238F: xen/arch/arm/ 239F: xen/drivers/char/arm-uart.c 240F: xen/drivers/char/cadence-uart.c 241F: xen/drivers/char/exynos4210-uart.c 242F: xen/drivers/char/meson-uart.c 243F: xen/drivers/char/mvebu-uart.c 244F: xen/drivers/char/omap-uart.c 245F: xen/drivers/char/pl011.c 246F: xen/drivers/char/scif-uart.c 247F: xen/drivers/passthrough/arm/ 248F: xen/include/asm-arm/ 249F: xen/include/public/arch-arm/ 250F: xen/include/public/arch-arm.h 251 252Change Log 253M: Paul Durrant <paul@xen.org> 254R: Community Manager <community.manager@xenproject.org> 255S: Maintained 256F: CHANGELOG.md 257 258Continuous Integration (CI) 259M: Doug Goldstein <cardoe@cardoe.com> 260W: https://gitlab.com/xen-project/xen 261W: https://travis-ci.org/xen-project/xen 262S: Supported 263F: .gitlab-ci.yml 264F: .travis.yml 265F: automation/ 266F: scripts/travis-build 267 268CPU POOLS 269M: Juergen Gross <jgross@suse.com> 270M: Dario Faggioli <dfaggioli@suse.com> 271S: Supported 272F: xen/common/sched/cpupool.c 273 274DEVICE TREE 275M: Stefano Stabellini <sstabellini@kernel.org> 276M: Julien Grall <julien@xen.org> 277S: Supported 278F: xen/common/libfdt/ 279F: xen/common/device_tree.c 280F: xen/include/xen/libfdt/ 281F: xen/include/xen/device_tree.h 282F: xen/drivers/passthrough/device_tree.c 283 284EFI 285M: Jan Beulich <jbeulich@suse.com> 286S: Supported 287F: xen/arch/x86/efi/ 288F: xen/common/efi/ 289F: xen/include/efi/ 290F: xen/include/asm-x86/efi*.h 291F: xen/include/asm-x86/x86_*/efi*.h 292 293GDBSX DEBUGGER 294M: Elena Ufimtseva <elena.ufimtseva@oracle.com> 295S: Supported 296F: xen/arch/x86/debug.c 297F: tools/debugger/gdbsx/ 298 299GOLANG BINDINGS 300M: George Dunlap <george.dunlap@citrix.com> 301S: Maintained 302F: tools/golang 303 304INTEL(R) TRUSTED EXECUTION TECHNOLOGY (TXT) 305R: Lukasz Hawrylko <lukasz.hawrylko@linux.intel.com> 306S: Odd Fixes 307F: xen/arch/x86/tboot.c 308F: xen/include/asm-x86/tboot.h 309 310INTEL(R) VT FOR DIRECTED I/O (VT-D) 311M: Kevin Tian <kevin.tian@intel.com> 312S: Supported 313F: xen/drivers/passthrough/vtd/ 314 315INTEL(R) VT FOR X86 (VT-X) 316M: Jun Nakajima <jun.nakajima@intel.com> 317M: Kevin Tian <kevin.tian@intel.com> 318S: Supported 319F: xen/arch/x86/hvm/vmx/ 320F: xen/arch/x86/mm/p2m-ept.c 321F: xen/include/asm-x86/hvm/vmx/ 322F: xen/arch/x86/cpu/vpmu_intel.c 323 324IOMMU VENDOR INDEPENDENT CODE 325M: Jan Beulich <jbeulich@suse.com> 326M: Paul Durrant <paul@xen.org> 327S: Supported 328F: xen/drivers/passthrough/ 329X: xen/drivers/passthrough/amd/ 330X: xen/drivers/passthrough/arm/ 331X: xen/drivers/passthrough/vtd/ 332X: xen/drivers/passthrough/device_tree.c 333F: xen/include/xen/iommu.h 334 335KCONFIG 336M: Doug Goldstein <cardoe@cardoe.com> 337S: Supported 338F: docs/misc/kconfig{,-language}.txt 339F: xen/tools/kconfig/ 340 341KDD DEBUGGER 342M: Tim Deegan <tim@xen.org> 343S: Odd Fixes 344F: tools/debugger/kdd/ 345 346KEXEC 347M: Andrew Cooper <andrew.cooper3@citrix.com> 348S: Supported 349F: xen/common/{kexec,kimage}.c 350F: xen/include/{kexec,kimage}.h 351F: xen/arch/x86/machine_kexec.c 352F: xen/arch/x86/x86_64/kexec_reloc.S 353 354LIBXENLIGHT 355M: Ian Jackson <ian.jackson@eu.citrix.com> 356M: Wei Liu <wl@xen.org> 357M: Anthony PERARD <anthony.perard@citrix.com> 358S: Supported 359F: tools/libxl/ 360F: tools/xl/ 361 362LIVEPATCH 363M: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> 364M: Ross Lagerwall <ross.lagerwall@citrix.com> 365S: Supported 366F: docs/misc/livepatch.pandoc 367F: tools/misc/xen-livepatch.c 368F: xen/arch/*/livepatch* 369F: xen/arch/*/*/livepatch* 370F: xen/common/livepatch* 371F: xen/include/asm-*/livepatch.h 372F: xen/include/xen/livepatch* 373F: xen/test/livepatch/* 374 375MINI-OS 376M: Samuel Thibault <samuel.thibault@ens-lyon.org> 377R: Wei Liu <wl@xen.org> 378S: Supported 379L: minios-devel@lists.xenproject.org 380T: git https://xenbits.xenproject.org/git-http/mini-os.git 381F: config/MiniOS.mk 382 383OCAML TOOLS 384M: Christian Lindig <christian.lindig@citrix.com> 385M: David Scott <dave@recoil.org> 386S: Supported 387F: tools/ocaml/ 388 389OVMF UPSTREAM 390M: Anthony PERARD <anthony.perard@citrix.com> 391M: Wei Liu <wl@xen.org> 392S: Supported 393T: git https://xenbits.xenproject.org/git-http/ovmf.git 394 395POWER MANAGEMENT 396M: Jan Beulich <jbeulich@suse.com> 397S: Supported 398F: xen/arch/x86/acpi/ 399X: xen/arch/x86/acpi/boot.c 400X: xen/arch/x86/acpi/lib.c 401F: xen/drivers/cpufreq/ 402F: xen/include/acpi/cpufreq/ 403 404PUBLIC I/O INTERFACES AND PV DRIVERS DESIGNS 405M: Juergen Gross <jgross@suse.com> 406S: Supported 407F: xen/include/public/io/ 408 409PYTHON BINDINGS 410M: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com> 411S: Supported 412F: tools/python 413 414QEMU-DM 415M: Ian Jackson <ian.jackson@eu.citrix.com> 416S: Supported 417T: git https://xenbits.xenproject.org/git-http/qemu-xen-traditional.git 418 419QEMU UPSTREAM 420M: Stefano Stabellini <sstabellini@kernel.org> 421M: Anthony Perard <anthony.perard@citrix.com> 422S: Supported 423T: git https://xenbits.xenproject.org/git-http/qemu-xen.git 424 425REMUS 426M: Shriram Rajagopalan <rshriram@cs.ubc.ca> 427M: Yang Hongyang <imhy.yang@gmail.com> 428S: Maintained 429F: docs/README.remus 430F: tools/libxl/libxl_remus_* 431F: tools/libxl/libxl_netbuffer.c 432F: tools/libxl/libxl_nonetbuffer.c 433F: tools/hotplug/Linux/remus-netbuf-setup 434F: tools/hotplug/Linux/block-drbd-probe 435 436RTDS SCHEDULER 437M: Dario Faggioli <dfaggioli@suse.com> 438M: Meng Xu <mengxu@cis.upenn.edu> 439S: Supported 440F: xen/common/sched/rt.c 441 442SCHEDULING 443M: George Dunlap <george.dunlap@citrix.com> 444M: Dario Faggioli <dfaggioli@suse.com> 445S: Supported 446F: xen/common/sched/ 447 448SEABIOS UPSTREAM 449M: Wei Liu <wl@xen.org> 450S: Supported 451T: git https://xenbits.xenproject.org/git-http/seabios.git 452 453STUB DOMAINS 454M: Samuel Thibault <samuel.thibault@ens-lyon.org> 455S: Supported 456F: config/Stubdom.mk.in 457F: m4/stubdom.m4 458F: stubdom/ 459 460TEE MEDIATORS 461M: Volodymyr Babchuk <volodymyr_babchuk@epam.com> 462S: Supported 463F: xen/arch/arm/tee/ 464F: xen/include/asm-arm/tee 465 466TOOLSTACK 467M: Ian Jackson <ian.jackson@eu.citrix.com> 468M: Wei Liu <wl@xen.org> 469S: Supported 470F: autogen.sh 471F: config/*.in 472F: install.sh 473F: m4/ 474F: configure 475F: docs/Makefile 476F: docs/man/ 477F: stubdom/Makefile 478F: *.ac 479F: */configure 480F: */*.ac 481F: tools/ 482 483VM EVENT, MEM ACCESS and MONITOR 484M: Tamas K Lengyel <tamas@tklengyel.com> 485R: Alexandru Isaila <aisaila@bitdefender.com> 486R: Petre Pircalabu <ppircalabu@bitdefender.com> 487S: Supported 488F: tools/tests/xen-access 489F: xen/arch/*/monitor.c 490F: xen/arch/*/vm_event.c 491F: xen/arch/arm/mem_access.c 492F: xen/arch/x86/mm/mem_access.c 493F: xen/arch/x86/hvm/monitor.c 494F: xen/arch/x86/hvm/vm_event.c 495F: xen/common/mem_access.c 496F: xen/common/monitor.c 497F: xen/common/vm_event.c 498F: xen/include/*/mem_access.h 499F: xen/include/*/monitor.h 500F: xen/include/*/vm_event.h 501F: xen/include/asm-x86/hvm/monitor.h 502F: xen/include/asm-x86/hvm/vm_event.h 503 504VPCI 505M: Roger Pau Monné <roger.pau@citrix.com> 506S: Supported 507F: xen/drivers/vpci/ 508F: xen/include/xen/vpci.h 509 510VTPM 511M: Daniel De Graaf <dgdegra@tycho.nsa.gov> 512M: Quan Xu <quan.xu0@gmail.com> 513S: Supported 514F: extras/mini-os/tpm* 515F: extras/mini-os/include/tpm* 516F: stubdom/vtpm/ 517F: stubdom/vtpmmgr/ 518F: docs/misc/vtpm-platforms.txt 519 520X86 ARCHITECTURE 521M: Jan Beulich <jbeulich@suse.com> 522M: Andrew Cooper <andrew.cooper3@citrix.com> 523R: Wei Liu <wl@xen.org> 524R: Roger Pau Monné <roger.pau@citrix.com> 525S: Supported 526L: xen-devel@lists.xenproject.org 527F: xen/arch/x86/ 528F: xen/include/asm-x86/ 529F: xen/include/public/arch-x86/ 530F: xen/include/xen/lib/x86 531F: xen/lib/x86 532F: tools/firmware/hvmloader/ 533F: tools/firmware/rombios/ 534F: tools/firmware/vgabios/ 535F: tools/fuzz/cpu-policy/ 536F: tools/fuzz/x86_instruction_emulator/ 537F: tools/misc/xen-cpuid.c 538F: tools/tests/cpu-policy/ 539F: tools/tests/x86_emulator/ 540 541X86 I/O EMULATION 542M: Paul Durrant <paul@xen.org> 543S: Supported 544F: xen/arch/x86/hvm/emulate.c 545F: xen/arch/x86/hvm/intercept.c 546F: xen/arch/x86/hvm/io.c 547F: xen/arch/x86/hvm/ioreq.c 548F: xen/include/asm-x86/hvm/emulate.h 549F: xen/include/asm-x86/hvm/io.h 550F: xen/include/asm-x86/hvm/ioreq.h 551F: xen/include/public/hvm/ioreq.h 552 553X86 MEMORY MANAGEMENT 554M: Jan Beulich <jbeulich@suse.com> 555M: Andrew Cooper <andrew.cooper3@citrix.com> 556R: George Dunlap <george.dunlap@citrix.com> 557S: Supported 558F: xen/arch/x86/mm/ 559 560X86 MEMORY PAGING 561S: Orphaned 562F: xen/arch/x86/mm/mem_paging.c 563 564X86 MEMORY SHARING 565M: Tamas K Lengyel <tamas@tklengyel.com> 566S: Odd Fixes 567F: xen/arch/x86/mm/mem_sharing.c 568F: tools/tests/mem-sharing/ 569 570X86 SHADOW PAGETABLES 571M: Tim Deegan <tim@xen.org> 572S: Maintained 573F: xen/arch/x86/mm/shadow/ 574 575X86 VIRIDIAN ENLIGHTENMENTS 576M: Paul Durrant <paul@xen.org> 577M: Wei Liu <wl@xen.org> 578S: Supported 579F: xen/arch/x86/guest/hyperv/ 580F: xen/arch/x86/hvm/viridian/ 581F: xen/include/asm-x86/guest/hyperv.h 582F: xen/include/asm-x86/guest/hyperv-hcall.h 583F: xen/include/asm-x86/guest/hyperv-tlfs.h 584F: xen/include/asm-x86/hvm/viridian.h 585 586XENTRACE 587M: George Dunlap <george.dunlap@citrix.com> 588S: Supported 589F: tools/xentrace/ 590F: xen/common/trace.c 591F: xen/include/xen/trace.h 592 593XSM/FLASK 594M: Daniel De Graaf <dgdegra@tycho.nsa.gov> 595S: Supported 596F: tools/flask/ 597F: xen/include/xsm/ 598F: xen/xsm/ 599F: docs/misc/xsm-flask.txt 600 601THE REST 602M: Andrew Cooper <andrew.cooper3@citrix.com> 603M: George Dunlap <george.dunlap@citrix.com> 604M: Ian Jackson <ian.jackson@eu.citrix.com> 605M: Jan Beulich <jbeulich@suse.com> 606M: Julien Grall <julien@xen.org> 607M: Stefano Stabellini <sstabellini@kernel.org> 608M: Wei Liu <wl@xen.org> 609L: xen-devel@lists.xenproject.org 610S: Supported 611F: * 612F: */ 613V: xen-maintainers-1 614