:p
atchew
Login
When triaging GitLab issues, whether regular bugs or security disclosures, we need to be able to assign suitable accounts. We can only assign Git Lab handles for accounts that are members of the QEMU group, or QEMU repository with the "Reporter" role or higher. Currently one needs to run 'get_maintainer.pl -f <file>' to get the maintainer / reviewer names & emails, and then look in the GitLab members page to see if there is a match. This simplifies that by adding a "--gitlab" option to the get_maintainer.pl script that will report the GitLab handle for maintainers / reviewers too. MAINTAINERS is then updated with all known accounts. Ignoring bot accounts, there are the following GitLab accounts for people whom are not in MAINTAINERS as a Reviewer/Maintainer: Aihua Liang (aliang1) Anthony Roberts (anthony-linaro) Bastian Koppelmann (kbastian-qemu) Eduardo Habkost (ehabkost) Eldon (eldondev) Emilio Cota (cota_) Jim MacArthur (jmacarthur) Joaquin de Andres (xcancerberox) Juan Quintela (juan.quintela) Paul Zimmerman (pauldzim) Peter Krempa (pipo.sk) Peter Krempa (work) (pkrempa) Much more significantly, there are the following people present in MAINTAINERS, whom are not members of the GitLab project: Aditya Gupta <adityag-#-linux-#-ibm-#-com> Akihiko Odaki <odaki-#-rsg-#-ci-#-i-#-u-tokyo-#-ac-#-jp> Albert Esteve <aesteve-#-redhat-#-com> Alberto Garcia <berto-#-igalia-#-com> Alejandro Jimenez <alejandro-#-j-#-jimenez-#-oracle-#-com> Aleksandar Rikalo <arikalo-#-gmail-#-com> Alessandro Di Federico <ale-#-rev-#-ng> Alexandre Iooss <erdnaxe-#-crans-#-org> Alexandre Ratchov <alex-#-caoua-#-org> Alexey Kardashevskiy <aik-#-ozlabs-#-ru> Amit Shah <amit-#-kernel-#-org> Andrew Jeffery <andrew-#-codeconstruct-#-com-#-au> Anthony PERARD <anthony-#-xenproject-#-org> Anton Johansson <anjo-#-rev-#-ng> Antony Pavlov <antonynpavlov-#-gmail-#-com> Ari Sundholm <ari-#-tuxera-#-com> Artyom Tarasenko <atar4qemu-#-gmail-#-com> Aurelien Jarno <aurelien-#-aurel32-#-net> BALATON Zoltan <balaton-#-eik-#-bme-#-hu> Ben Chaney <bchaney-#-akamai-#-com> Bernhard Beschow <shentey-#-gmail-#-com> Bibo Mao <maobibo-#-loongson-#-cn> Brad Smith <brad-#-comstyle-#-com> Canokeys.org <contact-#-canokeys-#-org> Chao Liu <chao-#-liu-#-zevorn-#-gmail-#-com> Chinmay Rath <rathc-#-linux-#-ibm-#-com> Christoph Muellner <christoph-#-muellner-#-vrull-#-eu> Clément Chigot <chigot-#-adacore-#-com> Clément Mathieu--Drif <clement-#-mathieu--drif-#-bull-#-com> Collin Walling <walling-#-linux-#-ibm-#-com> Corey Minyard <cminyard-#-mvista-#-com> Denis V. Lunev <den-#-openvz-#-org> Dmitry Fleytman <dmitry-#-fleytman-#-gmail-#-com> Dmitry Osipenko <dmitry-#-osipenko-#-collabora-#-com> Dorjoy Chowdhury <dorjoychy111-#-gmail-#-com> Doru Blânzeanu <dblanzeanu-#-linux-#-microsoft-#-com> Edgar E. Iglesias <edgar-#-iglesias-#-gmail-#-com> Elena Ufimtseva <elena-#-ufimtseva-#-oracle-#-com> Eric Auger <eric-#-auger-#-redhat-#-com> Eric Farman <farman-#-linux-#-ibm-#-com> Eugenio Pérez <eperezma-#-redhat-#-com> Farhan Ali <alifm-#-linux-#-ibm-#-com> Felipe Balbi <balbi-#-kernel-#-org> Francisco Iglesias <francisco-#-iglesias-#-amd-#-com> Frederic Konrad <konrad-#-frederic-#-yahoo-#-fr> Gaurav Sharma <gaurav-#-sharma_7-#-nxp-#-com> Gautam Gala <ggala-#-linux-#-ibm-#-com> Gautam Menghani <gautam-#-linux-#-ibm-#-com> Giuseppe Lettieri <g-#-lettieri-#-iet-#-unipi-#-it> Glenn Miles <milesg-#-linux-#-ibm-#-com> Gonglei <arei-#-gonglei-#-huawei-#-com> Haixu Cui <quic_haixcui-#-quicinc-#-com> Halil Pasic <pasic-#-linux-#-ibm-#-com> Hao Wu <wuhaotsh-#-google-#-com> Hari Bathini <hbathini-#-linux-#-ibm-#-com> Hendrik Brueckner <brueckner-#-linux-#-ibm-#-com> Hervé Poussineau <hpoussin-#-reactos-#-org> Hongren (Zenithal) Zheng <i-#-zenithal-#-me> Huacai Chen <chenhuacai-#-kernel-#-org> Hyman Huang <infra-#-ai-#-cloud-#-bitdeer-#-com> Ilya Dryomov <idryomov-#-gmail-#-com> Ilya Leoshkevich <iii-#-linux-#-ibm-#-com> Ilya Maximets <i-#-maximets-#-ovn-#-org> Jagannathan Raman <jag-#-raman-#-oracle-#-com> Jamin Lin <jamin_lin-#-aspeedtech-#-com> Jan Kiszka <jan-#-kiszka-#-web-#-de> Jared Rossi <jrossi-#-linux-#-ibm-#-com> Jason Herne <jjherne-#-linux-#-ibm-#-com> Jean-Christophe Dubois <jcd-#-tribudubois-#-net> Jesper Devantier <foss-#-defmacro-#-it> Jeuk Kim <jeuk20-#-kim-#-samsung-#-com> Jiaxun Yang <jiaxun-#-yang-#-flygoat-#-com> Jiri Pirko <jiri-#-resnulli-#-us> Jiri Slaby <jslaby-#-suse-#-cz> Joe Komlodi <komlodi-#-google-#-com> Joel Stanley <joel-#-jms-#-id-#-au> John Levon <john-#-levon-#-nutanix-#-com> Jonathan Cameron <jic23-#-kernel-#-org> Kane Chen <kane_chen-#-aspeedtech-#-com> Kashyap Chamarthy <kchamart-#-redhat-#-com> Keith Busch <kbusch-#-kernel-#-org> Kohei Tokunaga <ktokunaga-#-mail-#-gmail-#-com> Kuan-Wei Chiu <visitorckw-#-gmail-#-com> Kyle Evans <kevans-#-freebsd-#-org> LIU Zhiwei <zhiwei_liu-#-linux-#-alibaba-#-com> Leif Lindholm <leif-#-lindholm-#-oss-#-qualcomm-#-com> Li Zhijian <lizhijian-#-fujitsu-#-com> Li-Wen Hsu <lwhsu-#-freebsd-#-org> Liu Zhiwei <zhiwei_liu-#-linux-#-alibaba-#-com> Luc Michel <luc-#-lmichel-#-fr> Lukas Straub <lukasstraub2-#-web-#-de> Maciej S. Szmigiero <maciej-#-szmigiero-#-oracle-#-com> Mads Ynddal <mads-#-ynddal-#-dk> Magnus Kulke <magnuskulke-#-linux-#-microsoft-#-com> Maksim Davydov <davydov-max-#-yandex-team-#-ru> Marcelo Tosatti <mtosatti-#-redhat-#-com> Mark Kanda <mark-#-kanda-#-oracle-#-com> Markus Armbruster <armbru-#-redhat-#-com> Mathieu Poirier <mathieu-#-poirier-#-linaro-#-org> Matthew Rosato <mjrosato-#-linux-#-ibm-#-com> Mauro Carvalho Chehab <mchehab+huawei-#-kernel-#-org> Max Filippov <jcmvbkbc-#-gmail-#-com> Michael Rolnik <mrolnik-#-gmail-#-com> Milan Zamazal <mzamazal-#-redhat-#-com> Nabih Estefan <nabihestefan-#-google-#-com> Niek Linnenbank <nieklinnenbank-#-gmail-#-com> Ninad Palsule <ninad-#-linux-#-ibm-#-com> Palmer Dabbelt <palmer-#-dabbelt-#-com> Patrick Leis <venture-#-google-#-com> Paul Durrant <paul-#-xen-#-org> Pavel Pisa <pisa-#-cmp-#-felk-#-cvut-#-cz> Pedro Barbuda <pbarbuda-#-microsoft-#-com> Peter Lieven <pl-#-dlhnet-#-de> Peter Xu <peterx-#-redhat-#-com> Phil Dennis-Jordan <phil-#-philjordan-#-eu> Philipp Tomsich <philipp-#-tomsich-#-vrull-#-eu> Ran Wang <wangran-#-bosc-#-ac-#-cn> Raphael Norwitz <rnorwitz-#-nvidia-#-com> Reinoud Zandijk <reinoud-#-netbsd-#-org> Richard W.M. Jones <rjones-#-redhat-#-com> Roman Bolshakov <rbolshakov-#-ddn-#-com> Sai Pavan Boddu <sai-#-pavan-#-boddu-#-amd-#-com> Sairaj Kodilkar <sarunkod-#-amd-#-com> Samuel Tardieu <sam-#-rfc1149-#-net> Samuel Thibault <samuel-#-thibault-#-ens-lyon-#-org> Sergio Lopez <slp-#-redhat-#-com> Song Gao <gaosong-#-loongson-#-cn> Sourabh <sourabhjain-#-linux-#-ibm-#-com> Sourabh Jain <sourabhjain-#-linux-#-ibm-#-com> Sriram Yagnaraman <sriram-#-yagnaraman-#-ericsson-#-com> Stafford Horne <shorne-#-gmail-#-com> Stefano Stabellini <sstabellini-#-kernel-#-org> Steven Lee <steven_lee-#-aspeedtech-#-com> Strahinja Jankovic <strahinja-#-p-#-jankovic-#-gmail-#-com> Subbaraya Sundeep <sundeep-#-lkml-#-gmail-#-com> Sunil V L <sunilvl-#-ventanamicro-#-com> Sven Schnelle <svens-#-stackframe-#-org> Tao Tang <tangtao1634-#-phytium-#-com-#-cn> Thanos Makatos <thanos-#-makatos-#-nutanix-#-com> Titus Rwantare <titusr-#-google-#-com> Tomita Moeko <tomitamoeko-#-gmail-#-com> Tony Krowiak <akrowiak-#-linux-#-ibm-#-com> Troy Lee <leetroy-#-gmail-#-com> Tyrone Ting <kfting-#-nuvoton-#-com> Vikram Garhwal <vikram-#-garhwal-#-bytedance-#-com> Viktor Prutyanov <viktor-#-prutyanov-#-phystech-#-edu> Vincenzo Maffione <v-#-maffione-#-gmail-#-com> Viresh Kumar <viresh-#-kumar-#-linaro-#-org> WANG Xuerui <git-#-xen0n-#-name> Wei Liu <wei-#-liu-#-kernel-#-org> Weiwei Li <liwei1518-#-gmail-#-com> Xie Yongji <xieyongji-#-bytedance-#-com> Yi Liu <yi-#-l-#-liu-#-intel-#-com> Yonggang Luo <luoyonggang-#-gmail-#-com> Yoshinori Sato <yoshinori-#-sato-#-nifty-#-com> Yuri Benditovich <ybendito-#-redhat-#-com> Zhang Chen <zhangckid-#-gmail-#-com> Zhao Liu <zhao1-#-liu-#-intel-#-com> Zhenzhong Duan <zhenzhong-#-duan-#-intel-#-com> Zhuoying Cai <zycai-#-linux-#-ibm-#-com> zhenwei pi <zhenwei-#-pi-#-linux-#-dev> Plenty of those will have GitLab accounts, but are simply not members of QEMU. Plenty more probably aren't registered with GitLab at all. Short of emailing all of those people directly, I don't see a good way to identify their GitLab accounts (if any), in order to invite them to the QEMU project. I don't want to blindly invite accounts which merely have the same name on GitLab as there's too much risk of getting a mis-match. Daniel P. Berrangé (3): get_maintainer: add ability to report Git Lab handle MAINTAINERS: record known Git Lab handles for all maintainers MAINTAINERS: record known Git Lab handles for all reviewers MAINTAINERS | 396 ++++++++++++++++++++++++++++++++++++++ scripts/get_maintainer.pl | 17 +- 2 files changed, 411 insertions(+), 2 deletions(-) -- 2.54.0
One of more Git Lab handles will be recorded against subsystems with the "G:" prefix. These can be displayed using the --gitlab option to get_maintainer.pl Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- scripts/get_maintainer.pl | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/scripts/get_maintainer.pl b/scripts/get_maintainer.pl index XXXXXXX..XXXXXXX 100755 --- a/scripts/get_maintainer.pl +++ b/scripts/get_maintainer.pl @@ -XXX,XX +XXX,XX @@ my $email_git_max_maintainers = 5; my $email_git_min_percent = 5; my $email_git_since = "1-year-ago"; my $email_hg_since = "-365"; +my $gitlab = 0; my $interactive = 0; my $email_remove_duplicates = 1; my $email_use_mailmap = 1; @@ -XXX,XX +XXX,XX @@ if (!GetOptions( 'n!' => \$email_usename, 'l!' => \$email_list, 's!' => \$email_subscriber_list, + 'gitlab!' => \$gitlab, 'multiline!' => \$output_multiline, 'roles!' => \$output_roles, 'rolestats!' => \$output_rolestats, @@ -XXX,XX +XXX,XX @@ $output_roles = 1 if ($output_rolestats); if ($sections) { $email = 0; $email_list = 0; + $gitlab = 0; $scm = 0; $status = 0; $subsystem = 0; @@ -XXX,XX +XXX,XX @@ if ($sections) { $keywords = 0; $interactive = 0; } else { - my $selections = $email + $scm + $status + $subsystem + $web; + my $selections = $email + $scm + $status + $subsystem + $web + $gitlab; if ($selections == 0) { - die "$P: Missing required option: email, scm, status, subsystem or web\n"; + die "$P: Missing required option: email, gitlab, scm, status, subsystem or web\n"; } } @@ -XXX,XX +XXX,XX @@ my %email_hash_address; my @email_to = (); my %hash_list_to; my @list_to = (); +my @gitlab = (); my @scm = (); my @web = (); my @subsystem = (); @@ -XXX,XX +XXX,XX @@ if (@maintainers) { output(@maintainers); } +if ($gitlab) { + @gitlab = uniq(@gitlab); + output(@gitlab); +} + if ($scm) { @scm = uniq(@scm); output(@scm); @@ -XXX,XX +XXX,XX @@ sub get_maintainers { %hash_list_to = (); @list_to = (); @scm = (); + @gitlab = (); @web = (); @subsystem = (); @status = (); @@ -XXX,XX +XXX,XX @@ MAINTAINER field selection options: --roles => show roles (status:subsystem, git-signer, list, etc...) --rolestats => show roles and statistics (commits/total_commits, %) --file-emails => add email addresses found in -f file (default: 0 (off)) + --gitlab => print GitLab handle(s) if any --scm => print SCM tree(s) if any --status => print status if any --subsystem => print subsystem name if any @@ -XXX,XX +XXX,XX @@ sub add_categories { } } elsif ($ptype eq "T") { push(@scm, $pvalue); + } elsif ($ptype eq "G") { + push(@gitlab, $pvalue); } elsif ($ptype eq "W") { push(@web, $pvalue); } elsif ($ptype eq "S") { -- 2.54.0
This updates MAINTAINERS with a "G:" line corresponding to every "M:" line that can be identified with a match against https://gitlab.com/qemu-project/qemu/-/project_members This update was done using a largely automated process based on the data extracted with $ glab api --paginate /projects/qemu-project%2fqemu/members | jq -c '.[] | {username, name}' $ glab api --paginate /groups/qemu-project/members | jq -c '.[] | {username, name}' Some Git Lab accounts had real names that didn't have an exact match in MAINTAINERS so the glab api data was manually pre-processed to change those names. A Perl script was then used to insert "G:" lines for every "M:" lines. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- MAINTAINERS | 332 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 332 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index XXXXXXX..XXXXXXX 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -XXX,XX +XXX,XX @@ Descriptions of section entries: These reviewers should be CCed on patches. Reviewers are familiar with the subject matter and provide feedback even though they are not maintainers. + G: Git Lab handle to assign issues to: @GitLabHandle + Maintainers must have a Git Lab handle listed. The handle will + be invited to be a member of https://gitlab.com/qemu-project/qemu + with the "Reporter" role. This will enable triage actions, issue + assignment, and visibilityof confidential security disclosures. + Designated reviewers may also be listed at the discretion of the + maintainer. L: Mailing list that is relevant to this area These lists should be CCed on patches. W: Web-page with status/info @@ -XXX,XX +XXX,XX @@ Descriptions of section entries: General Project Administration ------------------------------ M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 All patches CC here L: qemu-devel@nongnu.org @@ -XXX,XX +XXX,XX @@ Responsible Disclosure, Reporting Security Issues ------------------------------------------------- W: https://wiki.qemu.org/SecurityProcess M: Michael S. Tsirkin <mst@redhat.com> +G: @mstredhat L: qemu-security@nongnu.org Trivial patches --------------- Trivial patches M: Michael Tokarev <mjt@tls.msk.ru> +G: @mjt0k M: Laurent Vivier <laurent@vivier.eu> +G: @lvivier S: Maintained L: qemu-trivial@nongnu.org K: ^Subject:.*(?i)trivial @@ -XXX,XX +XXX,XX @@ Architecture support -------------------- S390 general architecture support M: Cornelia Huck <cohuck@redhat.com> +G: @cohuck M: Eric Farman <farman@linux.ibm.com> M: Matthew Rosato <mjrosato@linux.ibm.com> S: Supported @@ -XXX,XX +XXX,XX @@ L: qemu-s390x@nongnu.org MIPS general architecture support M: Philippe Mathieu-Daudé <philmd@mailo.com> +G: @philmd R: Jiaxun Yang <jiaxun.yang@flygoat.com> S: Odd Fixes K: ^Subject:.*(?i)mips @@ -XXX,XX +XXX,XX @@ F: tests/functional/mips*/meson.build X86 general architecture support M: Paolo Bonzini <pbonzini@redhat.com> +G: @bonzini R: Zhao Liu <zhao1.liu@intel.com> S: Maintained F: configs/devices/i386-softmmu/default.mak @@ -XXX,XX +XXX,XX @@ F: tests/functional/x86_64/ X86 VM file descriptor change on reset test M: Ani Sinha <anisinha@redhat.com> +G: @anisinha M: Paolo Bonzini <pbonzini@redhat.com> +G: @bonzini S: Maintained F: stubs/kvm.c F: tests/functional/x86_64/test_rebuild_vmfd.py @@ -XXX,XX +XXX,XX @@ Guest CPU cores (TCG) --------------------- Overall TCG CPUs M: Richard Henderson <richard.henderson@linaro.org> +G: @rth7680 R: Paolo Bonzini <pbonzini@redhat.com> S: Maintained F: system/watchpoint.c @@ -XXX,XX +XXX,XX @@ F: tests/decode/ FPU emulation M: Aurelien Jarno <aurelien@aurel32.net> M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 M: Alex Bennée <alex.bennee@linaro.org> +G: @stsquad S: Maintained F: fpu/ F: include/fpu/ @@ -XXX,XX +XXX,XX @@ F: tests/fp/ Alpha TCG CPUs M: Richard Henderson <richard.henderson@linaro.org> +G: @rth7680 S: Maintained F: target/alpha/ F: tests/tcg/alpha/ @@ -XXX,XX +XXX,XX @@ F: disas/alpha.c ARM TCG CPUs M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 L: qemu-arm@nongnu.org S: Supported F: target/arm/ @@ -XXX,XX +XXX,XX @@ F: tests/functional/avr/ Hexagon TCG CPUs M: Brian Cain <brian.cain@oss.qualcomm.com> +G: @brian-cain R: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> S: Supported F: target/hexagon/ @@ -XXX,XX +XXX,XX @@ F: target/hexagon/gen_idef_parser_funcs.py HPPA (PA-RISC) TCG CPUs M: Richard Henderson <richard.henderson@linaro.org> +G: @rth7680 M: Helge Deller <deller@gmx.de> +G: @hdeller S: Maintained F: target/hppa/ F: disas/hppa.c @@ -XXX,XX +XXX,XX @@ F: tests/functional/loongarch64/test_virt.py M68K TCG CPUs M: Laurent Vivier <laurent@vivier.eu> +G: @lvivier S: Maintained F: target/m68k/ F: disas/m68k.c @@ -XXX,XX +XXX,XX @@ F: tests/functional/microblaze/ MIPS TCG CPUs M: Philippe Mathieu-Daudé <philmd@mailo.com> +G: @philmd R: Aurelien Jarno <aurelien@aurel32.net> R: Jiaxun Yang <jiaxun.yang@flygoat.com> R: Aleksandar Rikalo <arikalo@gmail.com> @@ -XXX,XX +XXX,XX @@ F: tests/tcg/or1k/ PowerPC TCG CPUs M: Nicholas Piggin <npiggin@gmail.com> +G: @npiggin R: Chinmay Rath <rathc@linux.ibm.com> R: Glenn Miles <milesg@linux.ibm.com> R: Harsh Prateek Bora <harshpb@linux.ibm.com> @@ -XXX,XX +XXX,XX @@ F: tests/functional/ppc/test_74xx.py RISC-V TCG CPUs M: Palmer Dabbelt <palmer@dabbelt.com> M: Alistair Francis <alistair.francis@wdc.com> +G: @alistair23 R: Weiwei Li <liwei1518@gmail.com> R: Daniel Henrique Barboza <daniel.barboza@oss.qualcomm.com> R: Liu Zhiwei <zhiwei_liu@linux.alibaba.com> @@ -XXX,XX +XXX,XX @@ F: tests/functional/rx/meson.build S390 TCG CPUs M: Richard Henderson <richard.henderson@linaro.org> +G: @rth7680 M: Ilya Leoshkevich <iii@linux.ibm.com> R: David Hildenbrand <david@kernel.org> S: Maintained @@ -XXX,XX +XXX,XX @@ F: tests/tcg/sh4/ SPARC TCG CPUs M: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> +G: @mcayland M: Artyom Tarasenko <atar4qemu@gmail.com> S: Maintained F: target/sparc/ @@ -XXX,XX +XXX,XX @@ F: tests/functional/sparc*/meson.build X86 TCG CPUs M: Paolo Bonzini <pbonzini@redhat.com> +G: @bonzini M: Richard Henderson <richard.henderson@linaro.org> +G: @rth7680 S: Maintained F: target/i386/tcg/ F: tests/tcg/i386/ @@ -XXX,XX +XXX,XX @@ F: tests/tcg/tricore/ Multiarch Linux User Tests M: Alex Bennée <alex.bennee@linaro.org> +G: @stsquad S: Maintained F: tests/tcg/multiarch/ @@ -XXX,XX +XXX,XX @@ Guest CPU Cores (KVM) --------------------- Overall KVM CPUs M: Paolo Bonzini <pbonzini@redhat.com> +G: @bonzini L: kvm@vger.kernel.org S: Supported F: */*/kvm* @@ -XXX,XX +XXX,XX @@ F: scripts/kvm/kvm_flightrecorder ARM KVM CPUs M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 L: qemu-arm@nongnu.org S: Supported F: target/arm/kvm.c @@ -XXX,XX +XXX,XX @@ F: tests/functional/aarch64/test_kvm.py PPC KVM CPUs M: Nicholas Piggin <npiggin@gmail.com> +G: @npiggin R: Harsh Prateek Bora <harshpb@linux.ibm.com> S: Odd Fixes F: target/ppc/kvm.c @@ -XXX,XX +XXX,XX @@ F: target/ppc/kvm.c S390 KVM CPUs M: Halil Pasic <pasic@linux.ibm.com> M: Christian Borntraeger <borntraeger@linux.ibm.com> +G: @cborntra R: Eric Farman <farman@linux.ibm.com> R: Matthew Rosato <mjrosato@linux.ibm.com> S: Supported @@ -XXX,XX +XXX,XX @@ L: qemu-s390x@nongnu.org X86 KVM CPUs M: Paolo Bonzini <pbonzini@redhat.com> +G: @bonzini M: Marcelo Tosatti <mtosatti@redhat.com> L: kvm@vger.kernel.org S: Supported @@ -XXX,XX +XXX,XX @@ F: tests/functional/x86_64/test_hotplug_cpu.py Xen emulation on X86 KVM CPUs M: David Woodhouse <dwmw2@infradead.org> +G: @dwmw2 M: Paul Durrant <paul@xen.org> S: Supported F: include/system/kvm_xen.h @@ -XXX,XX +XXX,XX @@ Guest CPU Cores (other accelerators) ------------------------------------ Overall CPUs other accelerators M: Richard Henderson <richard.henderson@linaro.org> +G: @rth7680 R: Paolo Bonzini <pbonzini@redhat.com> R: Philippe Mathieu-Daudé <philmd@mailo.com> S: Maintained @@ -XXX,XX +XXX,XX @@ F: system/cpus.c Apple Silicon HVF CPUs M: Alexander Graf <agraf@csgraf.de> +G: @agraf S: Maintained F: target/arm/hvf/ @@ -XXX,XX +XXX,XX @@ F: include/system/hvf_int.h WHPX CPUs M: Pedro Barbuda <pbarbuda@microsoft.com> M: Mohamed Mediouni <mohamed@unpredictable.fr> +G: @mediouni-m S: Supported F: accel/whpx/ F: target/i386/whpx/ @@ -XXX,XX +XXX,XX @@ F: include/hw/hyperv/hvhdk*.h Nitro Enclaves (native) M: Alexander Graf <graf@amazon.com> +G: @agraf S: Maintained F: accel/nitro/ F: include/system/nitro-accel.h @@ -XXX,XX +XXX,XX @@ Hosts ----- LINUX M: Michael S. Tsirkin <mst@redhat.com> +G: @mstredhat M: Cornelia Huck <cohuck@redhat.com> +G: @cohuck M: Paolo Bonzini <pbonzini@redhat.com> +G: @bonzini S: Maintained F: linux-headers/ F: include/standard-headers/ @@ -XXX,XX +XXX,XX @@ F: scripts/update-linux-headers.sh POSIX M: Paolo Bonzini <pbonzini@redhat.com> +G: @bonzini S: Maintained F: os-posix.c F: include/system/os-posix.h @@ -XXX,XX +XXX,XX @@ K: ^Subject:.*(?i)OpenBSD W32, W64 M: Stefan Weil <sw@weilnetz.de> +G: @stweil S: Maintained F: *win32* F: */*win32* @@ -XXX,XX +XXX,XX @@ F: scripts/nsis.py Darwin (macOS, iOS) M: Philippe Mathieu-Daudé <philmd@mailo.com> +G: @philmd S: Odd Fixes F: .gitlab-ci.d/macos* F: */*.m @@ -XXX,XX +XXX,XX @@ Alpha Machines -------------- Clipper M: Richard Henderson <richard.henderson@linaro.org> +G: @rth7680 S: Maintained F: hw/alpha/ F: hw/isa/smc37c669-superio.c @@ -XXX,XX +XXX,XX @@ ARM Machines ------------ Allwinner-a10 M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 R: Strahinja Jankovic <strahinja.p.jankovic@gmail.com> L: qemu-arm@nongnu.org S: Odd Fixes @@ -XXX,XX +XXX,XX @@ F: tests/functional/arm/test_orangepi.py ARM PrimeCell and CMSDK devices M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 L: qemu-arm@nongnu.org S: Maintained F: hw/char/pl011.c @@ -XXX,XX +XXX,XX @@ F: include/hw/misc/tz-msc.h ARM cores M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 L: qemu-arm@nongnu.org S: Maintained F: hw/intc/arm* @@ -XXX,XX +XXX,XX @@ F: tests/qtest/test-arm-mptimer.c Bananapi M2U M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 L: qemu-arm@nongnu.org S: Odd Fixes F: docs/system/arm/bananapi_m2u.rst @@ -XXX,XX +XXX,XX @@ F: tests/qtest/dm163-test.c Exynos M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 L: qemu-arm@nongnu.org S: Odd Fixes F: hw/*/exynos* @@ -XXX,XX +XXX,XX @@ F: tests/functional/arm/test_smdkc210.py Canon DIGIC M: Antony Pavlov <antonynpavlov@gmail.com> M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 L: qemu-arm@nongnu.org S: Odd Fixes F: include/hw/arm/digic.h @@ -XXX,XX +XXX,XX @@ F: docs/system/arm/digic.rst Goldfish RTC M: Alistair Francis <Alistair.Francis@wdc.com> +G: @alistair23 L: qemu-riscv@nongnu.org S: Maintained F: hw/rtc/goldfish_rtc.c @@ -XXX,XX +XXX,XX @@ F: include/hw/rtc/goldfish_rtc.h i.MX25 PDK M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 R: Jean-Christophe Dubois <jcd@tribudubois.net> L: qemu-arm@nongnu.org S: Odd Fixes @@ -XXX,XX +XXX,XX @@ F: docs/system/arm/imx25-pdk.rst i.MX31 (kzm) M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 L: qemu-arm@nongnu.org S: Odd Fixes F: hw/arm/kzm.c @@ -XXX,XX +XXX,XX @@ F: docs/system/arm/kzm.rst Integrator CP M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 L: qemu-arm@nongnu.org S: Odd Fixes F: hw/arm/integratorcp.c @@ -XXX,XX +XXX,XX @@ F: tests/functional/arm/test_max78000fthr.py MCIMX6UL EVK / i.MX6ul M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 R: Jean-Christophe Dubois <jcd@tribudubois.net> L: qemu-arm@nongnu.org S: Odd Fixes @@ -XXX,XX +XXX,XX @@ F: docs/system/arm/mcimx6ul-evk.rst MCIMX7D SABRE / i.MX7 M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 L: qemu-arm@nongnu.org S: Odd Fixes F: hw/arm/mcimx7d-sabre.c @@ -XXX,XX +XXX,XX @@ F: tests/qtest/rs5c372-test.c MPS2 / MPS3 M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 L: qemu-arm@nongnu.org S: Maintained F: hw/arm/mps2.c @@ -XXX,XX +XXX,XX @@ F: docs/system/arm/mps2.rst Musca M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 L: qemu-arm@nongnu.org S: Odd Fixes F: hw/arm/musca.c @@ -XXX,XX +XXX,XX @@ F: docs/system/arm/musca.rst Musicpal M: Jan Kiszka <jan.kiszka@web.de> M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 L: qemu-arm@nongnu.org S: Odd Fixes F: hw/arm/musicpal.c @@ -XXX,XX +XXX,XX @@ F: tests/functional/arm/test_quanta_gsj.py Raspberry Pi M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 R: Philippe Mathieu-Daudé <philmd@mailo.com> L: qemu-arm@nongnu.org S: Odd Fixes @@ -XXX,XX +XXX,XX @@ F: tests/functional/aarch64/test_raspi*.py Real View M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 L: qemu-arm@nongnu.org S: Odd Fixes F: hw/arm/realview* @@ -XXX,XX +XXX,XX @@ F: tests/functional/arm/test_realview.py SABRELITE / i.MX6 M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 R: Jean-Christophe Dubois <jcd@tribudubois.net> L: qemu-arm@nongnu.org S: Odd Fixes @@ -XXX,XX +XXX,XX @@ F: include/hw/ssi/imx_spi.h SBSA-REF M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 R: Leif Lindholm <leif.lindholm@oss.qualcomm.com> L: qemu-arm@nongnu.org S: Maintained @@ -XXX,XX +XXX,XX @@ F: tests/functional/aarch64/test_*sbsaref*.py Sharp SL-5500 (Collie) PDA M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 L: qemu-arm@nongnu.org S: Odd Fixes F: hw/arm/collie.c @@ -XXX,XX +XXX,XX @@ F: tests/functional/arm/test_collie.py Stellaris M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 L: qemu-arm@nongnu.org S: Odd Fixes F: hw/*/stellaris* @@ -XXX,XX +XXX,XX @@ F: docs/system/arm/stm32.rst Versatile Express M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 L: qemu-arm@nongnu.org S: Odd Fixes F: hw/arm/vexpress.c @@ -XXX,XX +XXX,XX @@ F: tests/functional/arm/test_vexpress.py Versatile PB M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 L: qemu-arm@nongnu.org S: Odd Fixes F: hw/*/versatile* @@ -XXX,XX +XXX,XX @@ F: docs/system/arm/versatile.rst Virt M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 L: qemu-arm@nongnu.org S: Supported F: hw/arm/virt* @@ -XXX,XX +XXX,XX @@ F: tests/functional/arm/test_virt.py Xilinx Zynq M: Edgar E. Iglesias <edgar.iglesias@gmail.com> M: Alistair Francis <alistair@alistair23.me> +G: @alistair23 M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 L: qemu-arm@nongnu.org S: Maintained F: hw/*/xilinx_* @@ -XXX,XX +XXX,XX @@ F: docs/system/arm/xlnx-zynq.rst Xilinx ZynqMP and Versal M: Alistair Francis <alistair@alistair23.me> +G: @alistair23 M: Edgar E. Iglesias <edgar.iglesias@gmail.com> M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 L: qemu-arm@nongnu.org S: Maintained F: hw/*/xlnx*.c @@ -XXX,XX +XXX,XX @@ F: hw/arm/stm32f100_soc.c STM32F205 M: Alistair Francis <alistair@alistair23.me> +G: @alistair23 M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 L: qemu-arm@nongnu.org S: Maintained F: hw/arm/stm32f205_soc.c @@ -XXX,XX +XXX,XX @@ F: include/hw/*/stm32*.h STM32F405 M: Alistair Francis <alistair@alistair23.me> +G: @alistair23 M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 L: qemu-arm@nongnu.org S: Maintained F: hw/arm/stm32f405_soc.c @@ -XXX,XX +XXX,XX @@ F: include/hw/misc/stm32_rcc.h Netduino 2 M: Alistair Francis <alistair@alistair23.me> +G: @alistair23 M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 L: qemu-arm@nongnu.org S: Maintained F: hw/arm/netduino2.c Netduino Plus 2 M: Alistair Francis <alistair@alistair23.me> +G: @alistair23 M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 L: qemu-arm@nongnu.org S: Maintained F: hw/arm/netduinoplus2.c @@ -XXX,XX +XXX,XX @@ F: hw/arm/olimex-stm32-h405.c SmartFusion2 M: Subbaraya Sundeep <sundeep.lkml@gmail.com> M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 L: qemu-arm@nongnu.org S: Maintained F: hw/arm/msf2-soc.c @@ -XXX,XX +XXX,XX @@ F: include/hw/net/msf2-emac.h Emcraft M2S-FG484 M: Subbaraya Sundeep <sundeep.lkml@gmail.com> M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 L: qemu-arm@nongnu.org S: Maintained F: hw/arm/msf2-som.c @@ -XXX,XX +XXX,XX @@ F: tests/functional/arm/test_emcraft_sf2.py ASPEED BMCs M: Cédric Le Goater <clg@kaod.org> +G: @clegoate M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 R: Steven Lee <steven_lee@aspeedtech.com> R: Troy Lee <leetroy@gmail.com> R: Jamin Lin <jamin_lin@aspeedtech.com> @@ -XXX,XX +XXX,XX @@ F: roms/vbootrom NRF51 M: Joel Stanley <joel@jms.id.au> M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 L: qemu-arm@nongnu.org S: Maintained F: hw/*/nrf51*.c @@ -XXX,XX +XXX,XX @@ F: docs/system/arm/nrf.rst ARM PL011 Rust device M: Manos Pitsidianakis <manos.pitsidianakis@linaro.org> +G: @epilys S: Maintained F: rust/hw/char/pl011/ @@ -XXX,XX +XXX,XX @@ F: hw/misc/avr_power.c Arduino M: Philippe Mathieu-Daudé <philmd@mailo.com> +G: @philmd S: Maintained F: hw/avr/arduino.c F: tests/functional/avr/test_uno.py @@ -XXX,XX +XXX,XX @@ HP-PARISC Machines ------------------ HP B160L, HP C3700 M: Richard Henderson <richard.henderson@linaro.org> +G: @rth7680 M: Helge Deller <deller@gmx.de> +G: @hdeller S: Maintained F: configs/devices/hppa-softmmu/default.mak F: hw/char/diva-gsp.c @@ -XXX,XX +XXX,XX @@ M68K Machines ------------- an5206 M: Thomas Huth <th.huth+qemu@posteo.eu> +G: @thuth S: Odd Fixes F: hw/m68k/an5206.c F: hw/m68k/mcf5206.c mcf5208 M: Thomas Huth <th.huth+qemu@posteo.eu> +G: @thuth S: Odd Fixes F: hw/m68k/mcf5208.c F: hw/m68k/mcf_intc.c @@ -XXX,XX +XXX,XX @@ F: tests/functional/m68k/test_mcf5208evb.py NeXTcube M: Thomas Huth <th.huth+qemu@posteo.eu> +G: @thuth S: Odd Fixes F: hw/m68k/next-*.c F: hw/display/next-fb.c @@ -XXX,XX +XXX,XX @@ F: tests/functional/m68k/test_nextcube.py q800 M: Laurent Vivier <laurent@vivier.eu> +G: @lvivier S: Maintained F: hw/m68k/q800.c F: hw/m68k/q800-glue.c @@ -XXX,XX +XXX,XX @@ F: tests/functional/m68k/test_q800.py virt M: Laurent Vivier <laurent@vivier.eu> +G: @lvivier S: Maintained F: hw/m68k/virt.c F: hw/char/goldfish_tty.c @@ -XXX,XX +XXX,XX @@ MIPS Machines ------------- Overall MIPS Machines M: Philippe Mathieu-Daudé <philmd@mailo.com> +G: @philmd S: Odd Fixes F: configs/devices/mips*/* F: hw/mips/ @@ -XXX,XX +XXX,XX @@ F: hw/nvram/ds1225y.c Malta M: Philippe Mathieu-Daudé <philmd@mailo.com> +G: @philmd R: Aurelien Jarno <aurelien@aurel32.net> S: Odd Fixes F: hw/isa/piix.c @@ -XXX,XX +XXX,XX @@ F: tests/functional/mips*/test_tuxrun.py Fuloong 2E M: Huacai Chen <chenhuacai@kernel.org> M: Philippe Mathieu-Daudé <philmd@mailo.com> +G: @philmd R: Jiaxun Yang <jiaxun.yang@flygoat.com> S: Odd Fixes F: hw/mips/fuloong2e.c @@ -XXX,XX +XXX,XX @@ F: tests/functional/mips64el/test_loongson3v.py Boston M: Philippe Mathieu-Daudé <philmd@mailo.com> +G: @philmd R: Aleksandar Rikalo <arikalo@gmail.com> S: Odd Fixes F: hw/core/loader-fit.c @@ -XXX,XX +XXX,XX @@ F: tests/functional/ppc/test_mpc8544ds.py New World (mac99) M: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> +G: @mcayland L: qemu-ppc@nongnu.org S: Odd Fixes F: docs/system/ppc/powermac.rst @@ -XXX,XX +XXX,XX @@ F: tests/functional/ppc64/test_mac99.py Old World (g3beige) M: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> +G: @mcayland L: qemu-ppc@nongnu.org S: Odd Fixes F: docs/system/ppc/powermac.rst @@ -XXX,XX +XXX,XX @@ F: tests/functional/ppc/test_40p.py sPAPR (pseries) M: Nicholas Piggin <npiggin@gmail.com> +G: @npiggin M: Harsh Prateek Bora <harshpb@linux.ibm.com> +G: @harshpb L: qemu-ppc@nongnu.org S: Odd Fixes F: hw/*/spapr* @@ -XXX,XX +XXX,XX @@ F: tests/functional/ppc64/test_tuxrun.py PowerNV (Non-Virtualized) M: Nicholas Piggin <npiggin@gmail.com> +G: @npiggin R: Aditya Gupta <adityag@linux.ibm.com> R: Glenn Miles <milesg@linux.ibm.com> R: Harsh Prateek Bora <harshpb@linux.ibm.com> @@ -XXX,XX +XXX,XX @@ RISC-V Machines --------------- OpenTitan M: Alistair Francis <Alistair.Francis@wdc.com> +G: @alistair23 L: qemu-riscv@nongnu.org S: Supported F: hw/riscv/opentitan.c @@ -XXX,XX +XXX,XX @@ F: include/hw/char/shakti_uart.h SiFive Machines M: Alistair Francis <Alistair.Francis@wdc.com> +G: @alistair23 M: Palmer Dabbelt <palmer@dabbelt.com> L: qemu-riscv@nongnu.org S: Supported @@ -XXX,XX +XXX,XX @@ SPARC Machines -------------- Sun4m M: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> +G: @mcayland S: Maintained F: hw/sparc/sun4m.c F: hw/sparc/sun4m_iommu.c @@ -XXX,XX +XXX,XX @@ F: tests/functional/sparc/test_sun4m.py Sun4u M: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> +G: @mcayland S: Maintained F: hw/sparc64/sun4u.c F: hw/sparc64/sun4u_iommu.c @@ -XXX,XX +XXX,XX @@ S390 Machines S390 Virtio-ccw M: Halil Pasic <pasic@linux.ibm.com> M: Christian Borntraeger <borntraeger@linux.ibm.com> +G: @cborntra M: Eric Farman <farman@linux.ibm.com> R: Matthew Rosato <mjrosato@linux.ibm.com> S: Supported @@ -XXX,XX +XXX,XX @@ L: qemu-s390x@nongnu.org S390 channel subsystem M: Halil Pasic <pasic@linux.ibm.com> M: Christian Borntraeger <borntraeger@linux.ibm.com> +G: @cborntra M: Eric Farman <farman@linux.ibm.com> R: Farhan Ali <alifm@linux.ibm.com> S: Supported @@ -XXX,XX +XXX,XX @@ L: qemu-s390x@nongnu.org S390 SCLP-backed devices M: Halil Pasic <pasic@linux.ibm.com> M: Christian Borntraeger <borntraeger@linux.ibm.com> +G: @cborntra R: Jason Herne <jjherne@linux.ibm.com> S: Supported F: include/hw/s390x/event-facility.h @@ -XXX,XX +XXX,XX @@ X86 Machines ------------ PC M: Michael S. Tsirkin <mst@redhat.com> +G: @mstredhat S: Supported F: include/hw/i386/ F: hw/i386/ @@ -XXX,XX +XXX,XX @@ F: tests/functional/x86_64/test_cpu_model_versions.py PC Chipset M: Michael S. Tsirkin <mst@redhat.com> +G: @mstredhat M: Paolo Bonzini <pbonzini@redhat.com> +G: @bonzini S: Supported F: hw/char/debugcon.c F: hw/char/parallel* @@ -XXX,XX +XXX,XX @@ F: include/hw/rtc/mc146818rtc* microvm M: Sergio Lopez <slp@redhat.com> M: Paolo Bonzini <pbonzini@redhat.com> +G: @bonzini S: Maintained F: docs/system/i386/microvm.rst F: hw/i386/microvm.c @@ -XXX,XX +XXX,XX @@ F: pc-bios/bios-microvm.bin nitro-enclave M: Alexander Graf <graf@amazon.com> +G: @agraf M: Dorjoy Chowdhury <dorjoychy111@gmail.com> S: Maintained F: hw/core/eif.c @@ -XXX,XX +XXX,XX @@ F: docs/system/i386/nitro-enclave.rst Machine core M: Philippe Mathieu-Daudé <philmd@mailo.com> +G: @philmd R: Zhao Liu <zhao1.liu@intel.com> S: Maintained F: hw/core/cpu-common.c @@ -XXX,XX +XXX,XX @@ F: tests/unit/test-smp-parse.c TargetInfo API M: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> +G: @pierrick.bouvier M: Philippe Mathieu-Daudé <philmd@mailo.com> +G: @philmd S: Supported F: include/qemu/target-info*.h F: target-info*.c @@ -XXX,XX +XXX,XX @@ Devices ------- Overall Audio frontends M: Gerd Hoffmann <kraxel@redhat.com> +G: @kraxel S: Odd Fixes F: hw/audio/ F: include/hw/audio/ @@ -XXX,XX +XXX,XX @@ F: docs/specs/edu.rst IDE M: John Snow <jsnow@redhat.com> +G: @jsnow L: qemu-block@nongnu.org S: Odd Fixes F: include/hw/ide/ @@ -XXX,XX +XXX,XX @@ T: git https://github.com/cminyard/qemu.git master-ipmi-rebase Floppy M: John Snow <jsnow@redhat.com> +G: @jsnow L: qemu-block@nongnu.org S: Odd Fixes F: hw/block/fdc.c @@ -XXX,XX +XXX,XX @@ F: include/hw/hyperv/vmbus*.h OMAP M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 L: qemu-arm@nongnu.org S: Odd Fixes F: hw/*/omap* @@ -XXX,XX +XXX,XX @@ F: hw/ipack/ PCI M: Michael S. Tsirkin <mst@redhat.com> +G: @mstredhat S: Supported F: include/hw/pci/* F: hw/misc/pci-testdev.c @@ -XXX,XX +XXX,XX @@ F: docs/system/sriov.rst ARM PCI Hotplug M: Gustavo Romero <gustavo.romero@linaro.org> +G: @gusbromero L: qemu-arm@nongnu.org S: Supported F: tests/functional/aarch64/test_hotplug_pci.py ACPI/SMBIOS M: Michael S. Tsirkin <mst@redhat.com> +G: @mstredhat M: Igor Mammedov <imammedo@redhat.com> +G: @imammedo R: Ani Sinha <anisinha@redhat.com> S: Supported F: include/hw/acpi/* @@ -XXX,XX +XXX,XX @@ F: hw/acpi/viot.h ACPI/FUNCTIONAL/BIOSBITS M: Ani Sinha <anisinha@redhat.com> +G: @anisinha M: Michael S. Tsirkin <mst@redhat.com> +G: @mstredhat S: Supported F: tests/functional/acpi-bits/ F: tests/functional/x86_64/test_acpi_bits.py @@ -XXX,XX +XXX,XX @@ F: include/hw/intc/ppc-uic.h Character devices M: Marc-André Lureau <marcandre.lureau@redhat.com> +G: @marcandre.lureau-rh R: Paolo Bonzini <pbonzini@redhat.com> S: Odd Fixes F: hw/char/ @@ -XXX,XX +XXX,XX @@ F: include/hw/char/ Network devices M: Jason Wang <jasowang@redhat.com> +G: @jasowang S: Odd Fixes F: hw/net/ F: include/hw/net/ @@ -XXX,XX +XXX,XX @@ T: git https://github.com/jasowang/qemu.git net Parallel NOR Flash devices M: Philippe Mathieu-Daudé <philmd@mailo.com> +G: @philmd S: Maintained F: hw/block/pflash_cfi*.c F: include/hw/block/flash.h SCSI M: Paolo Bonzini <pbonzini@redhat.com> +G: @bonzini R: Fam Zheng <fam@euphon.net> S: Supported F: include/hw/scsi/* @@ -XXX,XX +XXX,XX @@ T: git https://github.com/bonzini/qemu.git scsi-next SSI M: Alistair Francis <alistair@alistair23.me> +G: @alistair23 S: Maintained F: hw/ssi/* F: hw/block/m25p80* @@ -XXX,XX +XXX,XX @@ F: tests/qtest/aspeed_smc-test.c Xilinx SPI M: Alistair Francis <alistair@alistair23.me> +G: @alistair23 S: Maintained F: hw/ssi/xilinx_* SD (Secure Card) M: Philippe Mathieu-Daudé <philmd@mailo.com> +G: @philmd M: Bin Meng <bmeng.cn@gmail.com> +G: @lbmeng L: qemu-block@nongnu.org S: Odd Fixes F: include/hw/sd/sd* @@ -XXX,XX +XXX,XX @@ F: hw/usb/dev-serial.c VFIO M: Alex Williamson <alex@shazbot.org> +G: @alex.williamson M: Cédric Le Goater <clg@redhat.com> +G: @clegoate S: Supported F: hw/vfio/* F: util/vfio-helpers.c @@ -XXX,XX +XXX,XX @@ F: tests/functional/aarch64/test_device_passthrough.py vfio-igd M: Alex Williamson <alex@shazbot.org> +G: @alex.williamson M: Cédric Le Goater <clg@redhat.com> +G: @clegoate M: Tomita Moeko <tomitamoeko@gmail.com> S: Supported F: hw/vfio/igd.c @@ -XXX,XX +XXX,XX @@ F: docs/specs/iommu-testdev.rst vhost M: Michael S. Tsirkin <mst@redhat.com> +G: @mstredhat R: Stefano Garzarella <sgarzare@redhat.com> S: Supported F: hw/*/*vhost* @@ -XXX,XX +XXX,XX @@ F: hw/virtio/vhost-shadow-virtqueue.* virtio M: Michael S. Tsirkin <mst@redhat.com> +G: @mstredhat S: Supported F: hw/*/virtio* F: hw/virtio/trace-events @@ -XXX,XX +XXX,XX @@ F: tests/functional/x86_64/test_virtio_version.py virtio-balloon M: Michael S. Tsirkin <mst@redhat.com> +G: @mstredhat M: David Hildenbrand <david@kernel.org> +G: @davidhildenbrand S: Maintained F: docs/interop/virtio-balloon-stats.rst F: hw/virtio/virtio-balloon*.c @@ -XXX,XX +XXX,XX @@ F: tests/functional/x86_64/test_virtio_balloon.py virtio-9p M: Christian Schoenebeck <qemu_oss@crudebyte.com> +G: @schoenebeck R: Greg Kurz <groug@kaod.org> S: Maintained W: https://wiki.qemu.org/Documentation/9p @@ -XXX,XX +XXX,XX @@ T: git https://github.com/cschoenebeck/qemu.git 9p.next virtio-blk M: Stefan Hajnoczi <stefanha@redhat.com> +G: @stefanha L: qemu-block@nongnu.org S: Supported F: hw/block/virtio-blk-common.c @@ -XXX,XX +XXX,XX @@ T: git https://github.com/stefanha/qemu.git block virtio-ccw M: Cornelia Huck <cohuck@redhat.com> +G: @cohuck M: Halil Pasic <pasic@linux.ibm.com> M: Eric Farman <farman@linux.ibm.com> S: Supported @@ -XXX,XX +XXX,XX @@ F: tests/unit/test-virtio-dmabuf.c virtiofs M: Stefan Hajnoczi <stefanha@redhat.com> +G: @stefanha S: Supported F: hw/virtio/vhost-user-fs* F: include/hw/virtio/vhost-user-fs.h @@ -XXX,XX +XXX,XX @@ L: virtio-fs@lists.linux.dev virtio-input M: Gerd Hoffmann <kraxel@redhat.com> +G: @kraxel S: Odd Fixes F: docs/system/devices/virtio/vhost-user-contrib.rst F: hw/input/virtio-input*.c @@ -XXX,XX +XXX,XX @@ F: include/hw/virtio/virtio-iommu.h virtio-serial M: Laurent Vivier <lvivier@redhat.com> +G: @lvivier R: Amit Shah <amit@kernel.org> S: Supported F: hw/char/virtio-serial-bus.c @@ -XXX,XX +XXX,XX @@ F: tests/qtest/virtio-serial-test.c virtio-rng M: Laurent Vivier <lvivier@redhat.com> +G: @lvivier R: Amit Shah <amit@kernel.org> S: Supported F: hw/virtio/virtio-rng.c @@ -XXX,XX +XXX,XX @@ F: include/hw/virtio/virtio-rtc.h virtio-nsm M: Alexander Graf <graf@amazon.com> +G: @agraf M: Dorjoy Chowdhury <dorjoychy111@gmail.com> S: Maintained F: hw/virtio/cbor-helpers.c @@ -XXX,XX +XXX,XX @@ F: include/hw/virtio/virtio-nsm.h vhost-user-stubs M: Alex Bennée <alex.bennee@linaro.org> +G: @stsquad S: Maintained F: hw/virtio/vhost-user-base.c F: hw/virtio/vhost-user-test-device* @@ -XXX,XX +XXX,XX @@ F: include/hw/virtio/vhost-user-rng.h vhost-user-gpio M: Alex Bennée <alex.bennee@linaro.org> +G: @stsquad R: Viresh Kumar <viresh.kumar@linaro.org> S: Maintained F: hw/virtio/vhost-user-gpio* @@ -XXX,XX +XXX,XX @@ F: tests/qtest/libqos/virtio-gpio.* vhost-user-snd M: Alex Bennée <alex.bennee@linaro.org> +G: @stsquad R: Manos Pitsidianakis <manos.pitsidianakis@linaro.org> S: Maintained F: hw/virtio/vhost-user-snd* @@ -XXX,XX +XXX,XX @@ F: hw/virtio/vhost-user-spi* vhost-user-rtc M: Manos Pitsidianakis <manos.pitsidianakis@linaro.org> +G: @epilys S: Supported F: include/hw/virtio/vhost-user-rtc.h F: hw/virtio/vhost-user-rtc* @@ -XXX,XX +XXX,XX @@ F: include/hw/virtio/virtio-crypto.h virtio based memory device M: David Hildenbrand <david@kernel.org> +G: @davidhildenbrand S: Supported F: hw/s390x/virtio-ccw-md.c F: hw/s390x/virtio-ccw-md.h @@ -XXX,XX +XXX,XX @@ F: include/hw/virtio/virtio-md-pci.h virtio-mem M: David Hildenbrand <david@kernel.org> +G: @davidhildenbrand S: Supported W: https://virtio-mem.gitlab.io/ F: hw/virtio/virtio-mem.c @@ -XXX,XX +XXX,XX @@ F: include/hw/virtio/virtio-mem.h virtio-snd M: Gerd Hoffmann <kraxel@redhat.com> +G: @kraxel M: Manos Pitsidianakis <manos.pitsidianakis@linaro.org> +G: @epilys S: Supported F: hw/audio/virtio-snd.c F: hw/audio/virtio-snd-pci.c @@ -XXX,XX +XXX,XX @@ F: docs/system/devices/virtio/virtio-snd.rst nvme M: Keith Busch <kbusch@kernel.org> M: Klaus Jensen <its@irrelevant.dk> +G: @birkelund R: Jesper Devantier <foss@defmacro.it> L: qemu-block@nongnu.org S: Supported @@ -XXX,XX +XXX,XX @@ F: tests/qtest/libqos/igb.c eepro100 M: Stefan Weil <sw@weilnetz.de> +G: @stweil S: Maintained F: hw/net/eepro100.c @@ -XXX,XX +XXX,XX @@ F: include/hw/gpio/pcf8574.h Generic Loader M: Alistair Francis <alistair@alistair23.me> +G: @alistair23 S: Maintained F: hw/core/generic-loader.c F: hw/core/uboot_image.h @@ -XXX,XX +XXX,XX @@ F: tests/data/hex-loader/test.hex Guest Loader M: Alex Bennée <alex.bennee@linaro.org> +G: @stsquad S: Maintained F: hw/core/guest-loader.c F: docs/system/guest-loader.rst @@ -XXX,XX +XXX,XX @@ F: tests/functional/aarch64/test_xen.py CHRP NVRAM M: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> +G: @mcayland S: Maintained F: hw/nvram/chrp_nvram.c F: include/hw/nvram/chrp_nvram.h @@ -XXX,XX +XXX,XX @@ F: tests/qtest/prom-env-test.c EEPROM 93xx M: Stefan Weil <sw@weilnetz.de> +G: @stweil S: Maintained F: hw/nvram/eeprom93xx.c F: include/hw/nvram/eeprom93xx.h @@ -XXX,XX +XXX,XX @@ F: tests/qtest/vmgenid-test.c LED M: Philippe Mathieu-Daudé <philmd@mailo.com> +G: @philmd S: Maintained F: include/hw/misc/led.h F: hw/misc/led.c Unimplemented device M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 R: Philippe Mathieu-Daudé <philmd@mailo.com> R: Ani Sinha <ani@anisinha.ca> S: Maintained @@ -XXX,XX +XXX,XX @@ F: hw/misc/empty_slot.c Standard VGA M: Gerd Hoffmann <kraxel@redhat.com> +G: @kraxel S: Maintained F: hw/display/vga* F: hw/display/bochs-display.c @@ -XXX,XX +XXX,XX @@ F: docs/specs/standard-vga.rst ramfb M: Gerd Hoffmann <kraxel@redhat.com> +G: @kraxel S: Maintained F: hw/display/ramfb*.c F: include/hw/display/ramfb.h virtio-gpu M: Alex Bennée <alex.bennee@linaro.org> +G: @stsquad R: Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp> R: Dmitry Osipenko <dmitry.osipenko@collabora.com> S: Odd Fixes @@ -XXX,XX +XXX,XX @@ F: include/hw/virtio/virtio-blk-common.h vhost-user-gpu M: Marc-André Lureau <marcandre.lureau@redhat.com> +G: @marcandre.lureau-rh S: Maintained F: docs/interop/vhost-user-gpu.rst F: contrib/vhost-user-gpu @@ -XXX,XX +XXX,XX @@ F: hw/display/vhost-user-* qemu-vnc M: Marc-André Lureau <marcandre.lureau@redhat.com> +G: @marcandre.lureau-rh S: Maintained F: tools/qemu-vnc Cirrus VGA M: Gerd Hoffmann <kraxel@redhat.com> +G: @kraxel S: Odd Fixes W: https://www.kraxel.org/blog/2014/10/qemu-using-cirrus-considered-harmful/ F: hw/display/cirrus* EDID Generator M: Gerd Hoffmann <kraxel@redhat.com> +G: @kraxel S: Maintained F: hw/display/edid* F: include/hw/display/edid.h @@ -XXX,XX +XXX,XX @@ F: hw/display/apple-gfx* PIIX4 South Bridge (i82371AB) M: Hervé Poussineau <hpoussin@reactos.org> M: Philippe Mathieu-Daudé <philmd@mailo.com> +G: @philmd S: Maintained F: hw/isa/piix.c F: include/hw/southbridge/piix.h @@ -XXX,XX +XXX,XX @@ F: include/hw/southbridge/piix.h VIA South Bridges (VT82C686B, VT8231) M: BALATON Zoltan <balaton@eik.bme.hu> M: Philippe Mathieu-Daudé <philmd@mailo.com> +G: @philmd R: Jiaxun Yang <jiaxun.yang@flygoat.com> S: Maintained F: hw/isa/vt82c686.c @@ -XXX,XX +XXX,XX @@ F: docs/system/devices/can.rst OpenPIC interrupt controller M: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> +G: @mcayland S: Odd Fixes F: hw/intc/openpic.c F: include/hw/ppc/openpic.h MIPS CPS M: Philippe Mathieu-Daudé <philmd@mailo.com> +G: @philmd S: Odd Fixes F: hw/misc/mips_* F: include/hw/misc/mips_* MIPS GIC M: Philippe Mathieu-Daudé <philmd@mailo.com> +G: @philmd S: Odd Fixes F: hw/intc/mips_gic.c F: hw/timer/mips_gictimer.c @@ -XXX,XX +XXX,XX @@ F: include/hw/timer/mips_gictimer.h S390 3270 device M: Halil Pasic <pasic@linux.ibm.com> M: Christian Borntraeger <borntraeger@linux.ibm.com> +G: @cborntra R: Collin Walling <walling@linux.ibm.com> S: Odd Fixes F: include/hw/s390x/3270-ccw.h @@ -XXX,XX +XXX,XX @@ L: qemu-s390x@nongnu.org S390 diag 288 watchdog M: Halil Pasic <pasic@linux.ibm.com> M: Christian Borntraeger <borntraeger@linux.ibm.com> +G: @cborntra R: Collin Walling <walling@linux.ibm.com> S: Supported F: hw/watchdog/wdt_diag288.c @@ -XXX,XX +XXX,XX @@ L: qemu-s390x@nongnu.org S390 storage key device M: Halil Pasic <pasic@linux.ibm.com> M: Christian Borntraeger <borntraeger@linux.ibm.com> +G: @cborntra R: Jason Herne <jjherne@linux.ibm.com> S: Supported F: include/hw/s390x/storage-keys.h @@ -XXX,XX +XXX,XX @@ L: qemu-s390x@nongnu.org S390 storage attribute device M: Halil Pasic <pasic@linux.ibm.com> M: Christian Borntraeger <borntraeger@linux.ibm.com> +G: @cborntra R: Jason Herne <jjherne@linux.ibm.com> S: Supported F: include/hw/s390x/storage-attributes.h @@ -XXX,XX +XXX,XX @@ L: qemu-s390x@nongnu.org S390 floating interrupt controller M: Halil Pasic <pasic@linux.ibm.com> M: Christian Borntraeger <borntraeger@linux.ibm.com> +G: @cborntra R: David Hildenbrand <david@kernel.org> R: Jason Herne <jjherne@linux.ibm.com> S: Supported @@ -XXX,XX +XXX,XX @@ F: include/hw/hyperv/hv-balloon.h ivshmem-flat M: Gustavo Romero <gustavo.romero@linaro.org> +G: @gusbromero S: Maintained F: hw/misc/ivshmem-flat.c F: include/hw/misc/ivshmem-flat.h @@ -XXX,XX +XXX,XX @@ F: docs/system/devices/ivshmem-flat.rst UEFI variable service M: Gerd Hoffmann <kraxel@redhat.com> +G: @kraxel S: Maintained F: hw/uefi/ F: include/hw/uefi/ VMapple M: Alexander Graf <agraf@csgraf.de> +G: @agraf M: Phil Dennis-Jordan <phil@philjordan.eu> S: Maintained F: hw/vmapple/* @@ -XXX,XX +XXX,XX @@ F: docs/system/arm/vmapple.rst Nitro Enclaves (native) M: Alexander Graf <graf@amazon.com> +G: @agraf S: Maintained F: hw/nitro/ F: include/hw/nitro/ @@ -XXX,XX +XXX,XX @@ Subsystems ---------- Overall Audio backends M: Gerd Hoffmann <kraxel@redhat.com> +G: @kraxel M: Marc-André Lureau <marcandre.lureau@redhat.com> +G: @marcandre.lureau-rh S: Odd Fixes F: audio/ X: audio/alsaaudio.c @@ -XXX,XX +XXX,XX @@ F: tests/audio/ ALSA Audio backend M: Gerd Hoffmann <kraxel@redhat.com> +G: @kraxel R: Christian Schoenebeck <qemu_oss@crudebyte.com> S: Odd Fixes F: audio/alsaaudio.c Core Audio framework backend M: Gerd Hoffmann <kraxel@redhat.com> +G: @kraxel M: Philippe Mathieu-Daudé <philmd@mailo.com> +G: @philmd R: Christian Schoenebeck <qemu_oss@crudebyte.com> R: Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp> S: Odd Fixes @@ -XXX,XX +XXX,XX @@ F: audio/coreaudio.m DSound Audio backend M: Gerd Hoffmann <kraxel@redhat.com> +G: @kraxel S: Odd Fixes F: audio/dsound* JACK Audio Connection Kit backend M: Gerd Hoffmann <kraxel@redhat.com> +G: @kraxel R: Christian Schoenebeck <qemu_oss@crudebyte.com> S: Odd Fixes F: audio/jackaudio.c Open Sound System (OSS) Audio backend M: Gerd Hoffmann <kraxel@redhat.com> +G: @kraxel S: Odd Fixes F: audio/ossaudio.c PulseAudio backend M: Gerd Hoffmann <kraxel@redhat.com> +G: @kraxel S: Odd Fixes F: audio/paaudio.c SDL Audio backend M: Gerd Hoffmann <kraxel@redhat.com> +G: @kraxel R: Thomas Huth <th.huth+qemu@posteo.eu> S: Odd Fixes F: audio/sdlaudio.c Sndio Audio backend M: Gerd Hoffmann <kraxel@redhat.com> +G: @kraxel R: Alexandre Ratchov <alex@caoua.org> S: Odd Fixes F: audio/sndioaudio.c Block layer core M: Kevin Wolf <kwolf@redhat.com> +G: @kmwolf M: Hanna Reitz <hreitz@redhat.com> +G: @hreitz L: qemu-block@nongnu.org S: Supported F: block* @@ -XXX,XX +XXX,XX @@ T: git https://repo.or.cz/qemu/kevin.git block Storage daemon M: Kevin Wolf <kwolf@redhat.com> +G: @kmwolf L: qemu-block@nongnu.org S: Supported F: storage-daemon/ @@ -XXX,XX +XXX,XX @@ T: git https://repo.or.cz/qemu/kevin.git block Block I/O path M: Stefan Hajnoczi <stefanha@redhat.com> +G: @stefanha M: Fam Zheng <fam@euphon.net> +G: @famzheng L: qemu-block@nongnu.org S: Supported F: util/async.c @@ -XXX,XX +XXX,XX @@ T: git https://github.com/stefanha/qemu.git block Block SCSI subsystem M: Paolo Bonzini <pbonzini@redhat.com> +G: @bonzini R: Fam Zheng <fam@euphon.net> L: qemu-block@nongnu.org S: Supported @@ -XXX,XX +XXX,XX @@ F: scsi/* Block Jobs M: John Snow <jsnow@redhat.com> +G: @jsnow M: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru> +G: @vsementsov L: qemu-block@nongnu.org S: Supported F: blockjob.c @@ -XXX,XX +XXX,XX @@ F: qapi/cxl.json Dirty Bitmaps M: Eric Blake <eblake@redhat.com> +G: @ebblake M: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru> +G: @vsementsov R: John Snow <jsnow@redhat.com> L: qemu-block@nongnu.org S: Supported @@ -XXX,XX +XXX,XX @@ T: git https://gitlab.com/vsementsov/qemu.git block Character device backends M: Marc-André Lureau <marcandre.lureau@redhat.com> +G: @marcandre.lureau-rh R: Paolo Bonzini <pbonzini@redhat.com> S: Maintained F: chardev/ @@ -XXX,XX +XXX,XX @@ F: scripts/coverity-scan/model.c Coverity Scan integration M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 S: Maintained F: scripts/coverity-scan/ Device Tree M: Alistair Francis <alistair.francis@wdc.com> +G: @alistair23 R: David Gibson <david@gibson.dropbear.id.au> S: Maintained F: system/device_tree.c @@ -XXX,XX +XXX,XX @@ F: include/system/device_tree.h Dump S: Supported M: Marc-André Lureau <marcandre.lureau@redhat.com> +G: @marcandre.lureau-rh R: Ani Sinha <anisinha@redhat.com> F: dump/ F: hw/misc/vmcoreinfo.c @@ -XXX,XX +XXX,XX @@ F: tests/functional/ppc64/test_fadump.py GDB stub M: Alex Bennée <alex.bennee@linaro.org> +G: @stsquad R: Philippe Mathieu-Daudé <philmd@mailo.com> S: Maintained F: docs/system/gdb.rst @@ -XXX,XX +XXX,XX @@ T: git https://gitlab.com/stsquad/qemu gdbstub/next Memory API M: Paolo Bonzini <pbonzini@redhat.com> +G: @bonzini M: Peter Xu <peterx@redhat.com> R: Philippe Mathieu-Daudé <philmd@mailo.com> S: Supported @@ -XXX,XX +XXX,XX @@ F: scripts/coccinelle/memory-region-housekeeping.cocci Memory devices M: David Hildenbrand <david@kernel.org> +G: @davidhildenbrand M: Igor Mammedov <imammedo@redhat.com> +G: @imammedo S: Supported F: hw/mem/memory-device*.c F: hw/mem/nvdimm.c @@ -XXX,XX +XXX,XX @@ F: docs/spice-port-fqdn.txt Graphics M: Marc-André Lureau <marcandre.lureau@redhat.com> +G: @marcandre.lureau-rh S: Odd Fixes F: ui/ F: include/ui/ @@ -XXX,XX +XXX,XX @@ F: tests/functional/generic/test_vnc.py Cocoa graphics M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 M: Philippe Mathieu-Daudé <philmd@mailo.com> +G: @philmd R: Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp> S: Odd Fixes F: ui/cocoa.m Main loop M: Paolo Bonzini <pbonzini@redhat.com> +G: @bonzini S: Maintained F: include/qemu/main-loop.h F: include/system/runstate.h @@ -XXX,XX +XXX,XX @@ F: qapi/run-state.json Read, Copy, Update (RCU) M: Paolo Bonzini <pbonzini@redhat.com> +G: @bonzini S: Maintained F: docs/devel/lockcnt.rst F: docs/devel/rcu.rst @@ -XXX,XX +XXX,XX @@ F: util/rcu.c Human Monitor (HMP) M: Dr. David Alan Gilbert <dave@treblig.org> +G: @dagrh S: Maintained F: monitor/monitor-internal.h F: monitor/monitor.c @@ -XXX,XX +XXX,XX @@ F: util/qemu-print.c Network device backends M: Jason Wang <jasowang@redhat.com> +G: @jasowang S: Maintained F: net/ F: include/net/ @@ -XXX,XX +XXX,XX @@ F: net/af-xdp.c Host Memory Backends M: David Hildenbrand <david@kernel.org> +G: @davidhildenbrand M: Igor Mammedov <imammedo@redhat.com> +G: @imammedo S: Maintained F: backends/hostmem*.c F: include/system/hostmem.h @@ -XXX,XX +XXX,XX @@ F: qapi/cryptodev.json Python library M: John Snow <jsnow@redhat.com> +G: @jsnow M: Cleber Rosa <crosa@redhat.com> +G: @cleber.gnu S: Maintained F: python/ F: tests/docker/dockerfiles/python.docker @@ -XXX,XX +XXX,XX @@ T: git https://gitlab.com/jsnow/qemu.git python Python scripts M: John Snow <jsnow@redhat.com> +G: @jsnow M: Cleber Rosa <crosa@redhat.com> +G: @cleber.gnu S: Odd Fixes F: scripts/*.py F: tests/*.py Benchmark util M: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru> +G: @vsementsov S: Maintained F: scripts/simplebench/ T: git https://gitlab.com/vsementsov/qemu.git simplebench Transactions helper M: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru> +G: @vsementsov S: Maintained F: include/qemu/transactions.h F: util/transactions.c @@ -XXX,XX +XXX,XX @@ T: git https://gitlab.com/vsementsov/qemu.git block QAPI M: Markus Armbruster <armbru@redhat.com> M: Michael Roth <michael.roth@amd.com> +G: @mdroth S: Supported F: qapi/ X: qapi/*.json @@ -XXX,XX +XXX,XX @@ T: git https://repo.or.cz/qemu/armbru.git qapi-next QAPI Schema M: Eric Blake <eblake@redhat.com> +G: @ebblake M: Markus Armbruster <armbru@redhat.com> S: Supported F: qapi/*.json @@ -XXX,XX +XXX,XX @@ T: git https://repo.or.cz/qemu/armbru.git qapi-next QEMU Guest Agent M: Michael Roth <michael.roth@amd.com> +G: @mdroth M: Kostiantyn Kostiuk <kkostiuk@redhat.com> +G: @kostyanf14 S: Maintained F: qga/ F: contrib/systemd/qemu-guest-agent.service @@ -XXX,XX +XXX,XX @@ T: git https://github.com/mdroth/qemu.git qga QEMU Guest Agent Win32 M: Kostiantyn Kostiuk <kkostiuk@redhat.com> +G: @kostyanf14 S: Maintained F: qga/*win32* F: qga/vss-win32/ @@ -XXX,XX +XXX,XX @@ T: git https://github.com/kostyanf14/qemu.git qga-win32 QOM M: Paolo Bonzini <pbonzini@redhat.com> +G: @bonzini R: Daniel P. Berrange <berrange@redhat.com> S: Supported F: docs/devel/qom.rst @@ -XXX,XX +XXX,XX @@ F: tests/qtest/qom-test.c QDev M: Paolo Bonzini <pbonzini@redhat.com> +G: @bonzini R: Daniel P. Berrange <berrange@redhat.com> S: Supported F: docs/qdev-device-use.txt @@ -XXX,XX +XXX,XX @@ T: git https://repo.or.cz/qemu/armbru.git qapi-next qtest M: Fabiano Rosas <farosas@suse.de> +G: @farosas M: Laurent Vivier <lvivier@redhat.com> +G: @lvivier R: Paolo Bonzini <pbonzini@redhat.com> S: Maintained F: system/qtest.c @@ -XXX,XX +XXX,XX @@ F: tests/qtest/libqos/qos-intel-iommu* Device Fuzzing M: Alexander Bulekov <alxndr@bu.edu> +G: @a1xndr R: Paolo Bonzini <pbonzini@redhat.com> R: Stefan Hajnoczi <stefanha@redhat.com> R: Fabiano Rosas <farosas@suse.de> @@ -XXX,XX +XXX,XX @@ F: docs/devel/testing/fuzzing.rst Register API M: Alistair Francis <alistair@alistair23.me> +G: @alistair23 S: Maintained F: hw/core/register.c F: include/hw/core/register.h @@ -XXX,XX +XXX,XX @@ F: include/hw/core/registerfields.h Rust M: Manos Pitsidianakis <manos.pitsidianakis@linaro.org> +G: @epilys S: Maintained F: rust/bql/ F: rust/chardev/ @@ -XXX,XX +XXX,XX @@ F: include/hw/core/stream.h Stubs M: Paolo Bonzini <pbonzini@redhat.com> +G: @bonzini S: Maintained F: stubs/ Tracing M: Stefan Hajnoczi <stefanha@redhat.com> +G: @stefanha S: Maintained F: trace/ F: trace-events @@ -XXX,XX +XXX,XX @@ F: scripts/simpletrace.py TPM M: Stefan Berger <stefanb@linux.ibm.com> +G: @stefanberger S: Maintained F: system/tpm* F: hw/tpm/* @@ -XXX,XX +XXX,XX @@ T: git https://github.com/stefanberger/qemu-tpm.git tpm-next SPDM, PCIe DOE M: Alistair Francis <alistair.francis@wdc.com> +G: @alistair23 R: Tao Tang <tangtao1634@phytium.com.cn> S: Maintained F: backends/spdm-socket.c @@ -XXX,XX +XXX,XX @@ F: scripts/checkpatch.pl Migration M: Peter Xu <peterx@redhat.com> M: Fabiano Rosas <farosas@suse.de> +G: @farosas S: Maintained F: hw/core/vmstate-if.c F: include/hw/core/vmstate-if.h @@ -XXX,XX +XXX,XX @@ F: util/userfaultfd.c RDMA Migration M: Peter Xu <peterx@redhat.com> M: Fabiano Rosas <farosas@suse.de> +G: @farosas R: Li Zhijian <lizhijian@fujitsu.com> S: Odd Fixes F: migration/rdma* @@ -XXX,XX +XXX,XX @@ F: docs/devel/luks-detached-header.rst D-Bus M: Marc-André Lureau <marcandre.lureau@redhat.com> +G: @marcandre.lureau-rh S: Maintained F: backends/dbus-vmstate.c F: ui/dbus* @@ -XXX,XX +XXX,XX @@ F: scripts/xml-preprocess* Seccomp M: Daniel P. Berrange <berrange@redhat.com> +G: @berrange S: Odd Fixes F: system/qemu-seccomp.c F: include/system/seccomp.h @@ -XXX,XX +XXX,XX @@ F: tests/unit/test-seccomp.c Cryptography M: Daniel P. Berrange <berrange@redhat.com> +G: @berrange S: Maintained F: crypto/ F: include/crypto/ @@ -XXX,XX +XXX,XX @@ F: qemu.sasl Coroutines M: Stefan Hajnoczi <stefanha@redhat.com> +G: @stefanha M: Kevin Wolf <kwolf@redhat.com> +G: @kmwolf S: Maintained F: util/*coroutine* F: include/qemu/coroutine* @@ -XXX,XX +XXX,XX @@ F: tests/unit/test-coroutine.c Buffers M: Daniel P. Berrange <berrange@redhat.com> +G: @berrange S: Odd Fixes F: util/buffer.c F: include/qemu/buffer.h I/O Channels M: Daniel P. Berrange <berrange@redhat.com> +G: @berrange S: Maintained F: io/ F: include/io/ @@ -XXX,XX +XXX,XX @@ F: tests/unit/test-io-* User authorization M: Daniel P. Berrange <berrange@redhat.com> +G: @berrange S: Maintained F: authz/ F: qapi/authz.json @@ -XXX,XX +XXX,XX @@ F: tests/unit/test-authz-* Sockets M: Daniel P. Berrange <berrange@redhat.com> +G: @berrange S: Maintained F: include/qemu/sockets.h F: util/qemu-sockets.c @@ -XXX,XX +XXX,XX @@ F: qapi/sockets.json File monitor M: Daniel P. Berrange <berrange@redhat.com> +G: @berrange S: Odd Fixes F: util/filemonitor*.c F: include/qemu/filemonitor.h @@ -XXX,XX +XXX,XX @@ L: qemu-block@nongnu.org UUID M: Fam Zheng <fam@euphon.net> +G: @famzheng S: Supported F: util/uuid.c F: include/qemu/uuid.h @@ -XXX,XX +XXX,XX @@ F: contrib/elf2dmp/ Overall sensors M: Philippe Mathieu-Daudé <philmd@mailo.com> +G: @philmd S: Odd Fixes F: hw/sensor F: include/hw/sensor @@ -XXX,XX +XXX,XX @@ F: include/hw/i2c/smbus_eeprom.h I3C M: Joe Komlodi <komlodi@google.com> M: Cédric Le Goater <clg@kaod.org> +G: @clegoate M: Jamin Lin <jamin_lin@aspeedtech.com> R: Nabih Estefan <nabihestefan@google.com> S: Maintained @@ -XXX,XX +XXX,XX @@ F: docs/interop/firmware.json EDK2 Firmware M: Gerd Hoffmann <kraxel@redhat.com> +G: @kraxel S: Supported F: hw/i386/*ovmf* F: pc-bios/descriptors/??-edk2-*.json @@ -XXX,XX +XXX,XX @@ F: tests/uefi-test-tools/ IGVM Firmware M: Gerd Hoffmann <kraxel@redhat.com> +G: @kraxel M: Stefano Garzarella <sgarzare@redhat.com> +G: @sgarzarella R: Ani Sinha <anisinha@redhat.com> S: Maintained F: backends/igvm*.c @@ -XXX,XX +XXX,XX @@ F: target/i386/igvm.c VT-d Emulation M: Michael S. Tsirkin <mst@redhat.com> +G: @mstredhat R: Jason Wang <jasowang@redhat.com> R: Yi Liu <yi.l.liu@intel.com> R: Clément Mathieu--Drif <clement.mathieu--drif@bull.com> @@ -XXX,XX +XXX,XX @@ F: tests/qtest/amd-iommu-test.c OpenSBI Firmware M: Alistair Francis <Alistair.Francis@wdc.com> +G: @alistair23 R: Daniel Henrique Barboza <daniel.barboza@oss.qualcomm.com> L: qemu-riscv@nongnu.org S: Supported @@ -XXX,XX +XXX,XX @@ F: docs/devel/clocks.rst Reset framework M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 S: Maintained F: include/hw/core/resettable.h F: include/hw/core/resetcontainer.h @@ -XXX,XX +XXX,XX @@ F: common-user/ BSD user M: Warner Losh <imp@bsdimp.com> +G: @bsdimp R: Kyle Evans <kevans@freebsd.org> S: Odd Fixes F: bsd-user/ @@ -XXX,XX +XXX,XX @@ T: git https://github.com/qemu-bsd-user/qemu-bsd-user bsd-user-rebase-3.1 Linux user M: Laurent Vivier <laurent@vivier.eu> +G: @lvivier M: Helge Deller <deller@gmx.de> +G: @hdeller R: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> S: Odd Fixes F: linux-user/ @@ -XXX,XX +XXX,XX @@ Tiny Code Generator (TCG) ------------------------- Common TCG code M: Richard Henderson <richard.henderson@linaro.org> +G: @rth7680 S: Maintained F: tcg/ F: include/tcg/ TCG Plugins M: Alex Bennée <alex.bennee@linaro.org> +G: @stsquad M: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> +G: @pierrick.bouvier T: git https://gitlab.com/stsquad/qemu plugins/next R: Alexandre Iooss <erdnaxe@crans.org> S: Maintained @@ -XXX,XX +XXX,XX @@ F: scripts/qemu-plugin-symbols.py AArch64 TCG target M: Richard Henderson <richard.henderson@linaro.org> +G: @rth7680 S: Maintained L: qemu-arm@nongnu.org F: tcg/aarch64/ X86 TCG target M: Richard Henderson <richard.henderson@linaro.org> +G: @rth7680 S: Maintained F: tcg/x86_64/ @@ -XXX,XX +XXX,XX @@ F: tcg/loongarch64/ PPC TCG target M: Richard Henderson <richard.henderson@linaro.org> +G: @rth7680 S: Odd Fixes F: tcg/ppc64/ RISC-V TCG target M: Palmer Dabbelt <palmer@dabbelt.com> M: Alistair Francis <Alistair.Francis@wdc.com> +G: @alistair23 R: Daniel Henrique Barboza <daniel.barboza@oss.qualcomm.com> L: qemu-riscv@nongnu.org S: Maintained @@ -XXX,XX +XXX,XX @@ F: disas/riscv*.[ch] S390 TCG target M: Richard Henderson <richard.henderson@linaro.org> +G: @rth7680 S: Maintained F: tcg/s390x/ L: qemu-s390x@nongnu.org @@ -XXX,XX +XXX,XX @@ F: disas/sparc.c TCI TCG target M: Stefan Weil <sw@weilnetz.de> +G: @stweil S: Maintained F: tcg/tci/ F: tcg/tci.c @@ -XXX,XX +XXX,XX @@ Block drivers ------------- VMDK M: Fam Zheng <fam@euphon.net> +G: @famzheng L: qemu-block@nongnu.org S: Supported F: block/vmdk.c @@ -XXX,XX +XXX,XX @@ F: block/vhdx* VDI M: Stefan Weil <sw@weilnetz.de> +G: @stweil L: qemu-block@nongnu.org S: Maintained F: block/vdi.c blkio M: Stefan Hajnoczi <stefanha@redhat.com> +G: @stefanha L: qemu-block@nongnu.org S: Maintained F: block/blkio.c iSCSI M: Paolo Bonzini <pbonzini@redhat.com> +G: @bonzini M: Peter Lieven <pl@dlhnet.de> L: qemu-block@nongnu.org S: Odd Fixes @@ -XXX,XX +XXX,XX @@ F: block/iscsi-opts.c Network Block Device (NBD) M: Eric Blake <eblake@redhat.com> +G: @ebblake M: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru> +G: @vsementsov L: qemu-block@nongnu.org S: Maintained F: block/nbd* @@ -XXX,XX +XXX,XX @@ F: block/curl.c Null Block Driver M: Fam Zheng <fam@euphon.net> +G: @famzheng L: qemu-block@nongnu.org S: Supported F: block/null.c NVMe Block Driver M: Stefan Hajnoczi <stefanha@redhat.com> +G: @stefanha R: Fam Zheng <fam@euphon.net> L: qemu-block@nongnu.org S: Supported @@ -XXX,XX +XXX,XX @@ F: block/blklogwrites.c blkverify M: Stefan Hajnoczi <stefanha@redhat.com> +G: @stefanha L: qemu-block@nongnu.org S: Supported F: block/blkverify.c @@ -XXX,XX +XXX,XX @@ F: docs/devel/testing/blkverify.rst bochs M: Stefan Hajnoczi <stefanha@redhat.com> +G: @stefanha L: qemu-block@nongnu.org S: Supported F: block/bochs.c cloop M: Stefan Hajnoczi <stefanha@redhat.com> +G: @stefanha L: qemu-block@nongnu.org S: Supported F: block/cloop.c dmg M: Stefan Hajnoczi <stefanha@redhat.com> +G: @stefanha L: qemu-block@nongnu.org S: Supported F: block/dmg.c parallels M: Stefan Hajnoczi <stefanha@redhat.com> +G: @stefanha M: Denis V. Lunev <den@openvz.org> L: qemu-block@nongnu.org S: Supported @@ -XXX,XX +XXX,XX @@ T: git https://src.openvz.org/scm/~den/qemu.git parallels qed M: Stefan Hajnoczi <stefanha@redhat.com> +G: @stefanha L: qemu-block@nongnu.org S: Supported F: block/qed.c @@ -XXX,XX +XXX,XX @@ F: docs/interop/qed_spec.rst raw M: Kevin Wolf <kwolf@redhat.com> +G: @kmwolf L: qemu-block@nongnu.org S: Supported F: block/linux-aio.c @@ -XXX,XX +XXX,XX @@ F: block/win32-aio.c Linux io_uring M: Stefan Hajnoczi <stefanha@redhat.com> +G: @stefanha R: Stefano Garzarella <sgarzare@redhat.com> L: qemu-block@nongnu.org S: Maintained @@ -XXX,XX +XXX,XX @@ F: block/io_uring.c qcow2 M: Kevin Wolf <kwolf@redhat.com> +G: @kmwolf M: Hanna Reitz <hreitz@redhat.com> +G: @hreitz L: qemu-block@nongnu.org S: Supported F: block/qcow2* @@ -XXX,XX +XXX,XX @@ F: docs/interop/qcow2.rst qcow M: Kevin Wolf <kwolf@redhat.com> +G: @kmwolf L: qemu-block@nongnu.org S: Supported F: block/qcow.c blkdebug M: Kevin Wolf <kwolf@redhat.com> +G: @kmwolf M: Hanna Reitz <hreitz@redhat.com> +G: @hreitz L: qemu-block@nongnu.org S: Supported F: block/blkdebug.c @@ -XXX,XX +XXX,XX @@ F: docs/devel/testing/blkdebug.rst vpc M: Kevin Wolf <kwolf@redhat.com> +G: @kmwolf L: qemu-block@nongnu.org S: Supported F: block/vpc.c vvfat M: Kevin Wolf <kwolf@redhat.com> +G: @kmwolf L: qemu-block@nongnu.org S: Odd Fixes F: block/vvfat.c Image format fuzzer M: Stefan Hajnoczi <stefanha@redhat.com> +G: @stefanha L: qemu-block@nongnu.org S: Supported F: tests/image-fuzzer/ @@ -XXX,XX +XXX,XX @@ F: util/vhost-user-server.c FUSE block device exports M: Hanna Reitz <hreitz@redhat.com> +G: @hreitz L: qemu-block@nongnu.org S: Supported F: block/export/fuse.c @@ -XXX,XX +XXX,XX @@ F: docs/block-replication.txt Semihosting M: Alex Bennée <alex.bennee@linaro.org> +G: @stsquad S: Maintained F: semihosting/ F: include/semihosting/ @@ -XXX,XX +XXX,XX @@ VFIO-USER M: John Levon <john.levon@nutanix.com> M: Thanos Makatos <thanos.makatos@nutanix.com> M: Cédric Le Goater <clg@redhat.com> +G: @clegoate S: Supported F: docs/interop/vfio-user.rst F: docs/system/devices/vfio-user.rst @@ -XXX,XX +XXX,XX @@ F: tests/functional/x86_64/test_vfio_user_client.py EBPF M: Jason Wang <jasowang@redhat.com> +G: @jasowang R: Yuri Benditovich <ybendito@redhat.com> S: Maintained F: docs/devel/ebpf_rss.rst @@ -XXX,XX +XXX,XX @@ Build and test automation ------------------------- Build and test automation, general continuous integration M: Alex Bennée <alex.bennee@linaro.org> +G: @stsquad T: git https://gitlab.com/stsquad/qemu testing/next M: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> +G: @pierrick.bouvier S: Maintained F: .github/workflows/lockdown.yml F: .gitlab-ci.yml @@ -XXX,XX +XXX,XX @@ F: tests/vm/freebsd Functional testing framework M: Thomas Huth <th.huth+qemu@posteo.eu> +G: @thuth R: Philippe Mathieu-Daudé <philmd@mailo.com> R: Daniel P. Berrange <berrange@redhat.com> S: Odd Fixes @@ -XXX,XX +XXX,XX @@ F: .gitlab-ci.d/windows.yml Guest Test Compilation Support M: Alex Bennée <alex.bennee@linaro.org> +G: @stsquad S: Maintained F: tests/tcg/Makefile.target GitLab custom runners (HW sponsored by Linaro, OSUOSL and IBM) M: Alex Bennée <alex.bennee@linaro.org> +G: @stsquad S: Maintained F: .gitlab-ci.d/custom-runners/ubuntu-24.04-aarch64.yml F: .gitlab-ci.d/custom-runners/ubuntu-24.04-s390x.yml @@ -XXX,XX +XXX,XX @@ Documentation ------------- Build system architecture M: Daniel P. Berrange <berrange@redhat.com> +G: @berrange S: Odd Fixes F: docs/devel/build-system.rst GIT Data Mining Config M: Alex Bennée <alex.bennee@linaro.org> +G: @stsquad S: Odd Fixes F: gitdm.config F: contrib/gitdm/* @@ -XXX,XX +XXX,XX @@ F: docs/about/deprecated.rst General Documentation M: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> +G: @pierrick.bouvier S: Maintained F: docs/ @@ -XXX,XX +XXX,XX @@ Build System ------------ Meson M: Paolo Bonzini <pbonzini@redhat.com> +G: @bonzini R: Marc-André Lureau <marcandre.lureau@redhat.com> R: Daniel P. Berrange <berrange@redhat.com> R: Philippe Mathieu-Daudé <philmd@mailo.com> @@ -XXX,XX +XXX,XX @@ F: scripts/symlink-install-tree.py Top Level Makefile and configure M: Paolo Bonzini <pbonzini@redhat.com> +G: @bonzini R: Alex Bennée <alex.bennee@linaro.org> S: Maintained F: Makefile @@ -XXX,XX +XXX,XX @@ F: tests/Makefile.include Kconfig M: Paolo Bonzini <pbonzini@redhat.com> +G: @bonzini S: Maintained F: scripts/minikconf.py F: docs/devel/kconfig.rst @@ -XXX,XX +XXX,XX @@ F: target/*/Kconfig* GIT submodules M: Daniel P. Berrange <berrange@redhat.com> +G: @berrange S: Odd Fixes F: scripts/git-submodule.sh @@ -XXX,XX +XXX,XX @@ F: po/*.po Sphinx documentation configuration and build machinery M: John Snow <jsnow@redhat.com> +G: @jsnow M: Peter Maydell <peter.maydell@linaro.org> +G: @pm215 M: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> S: Maintained F: docs/conf.py @@ -XXX,XX +XXX,XX @@ F: scripts/lib/kdoc/ Rust build system integration M: Manos Pitsidianakis <manos.pitsidianakis@linaro.org> +G: @epilys L: qemu-rust@nongnu.org S: Maintained F: scripts/rust/ @@ -XXX,XX +XXX,XX @@ F: scripts/performance/ Code Coverage Tools M: Alex Bennée <alex.bennee@linaro.org> +G: @stsquad S: Odd Fixes F: scripts/coverage/ -- 2.54.0
This updates MAINTAINERS with a "G:" line corresponding to every "R:" line that can be identified with a match against https://gitlab.com/qemu-project/qemu/-/project_members This update was done with the same automation as the previous commit. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- MAINTAINERS | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index XXXXXXX..XXXXXXX 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -XXX,XX +XXX,XX @@ F: */ Project policy and developer guides R: Alex Bennée <alex.bennee@linaro.org> +G: @stsquad R: Daniel P. Berrangé <berrange@redhat.com> +G: @berrange R: Markus Armbruster <armbru@redhat.com> R: Philippe Mathieu-Daudé <philmd@mailo.com> +G: @philmd W: https://www.qemu.org/docs/master/devel/index.html S: Odd Fixes F: docs/devel/build-environment.rst @@ -XXX,XX +XXX,XX @@ Overall TCG CPUs M: Richard Henderson <richard.henderson@linaro.org> G: @rth7680 R: Paolo Bonzini <pbonzini@redhat.com> +G: @bonzini S: Maintained F: system/watchpoint.c F: page-vary-system.c @@ -XXX,XX +XXX,XX @@ Hexagon TCG CPUs M: Brian Cain <brian.cain@oss.qualcomm.com> G: @brian-cain R: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> +G: @pierrick.bouvier S: Supported F: target/hexagon/ X: target/hexagon/idef-parser/ @@ -XXX,XX +XXX,XX @@ G: @npiggin R: Chinmay Rath <rathc@linux.ibm.com> R: Glenn Miles <milesg@linux.ibm.com> R: Harsh Prateek Bora <harshpb@linux.ibm.com> +G: @harshpb L: qemu-ppc@nongnu.org S: Odd Fixes F: target/ppc/ @@ -XXX,XX +XXX,XX @@ M: Alistair Francis <alistair.francis@wdc.com> G: @alistair23 R: Weiwei Li <liwei1518@gmail.com> R: Daniel Henrique Barboza <daniel.barboza@oss.qualcomm.com> +G: @danielhb R: Liu Zhiwei <zhiwei_liu@linux.alibaba.com> R: Chao Liu <chao.liu.zevorn@gmail.com> L: qemu-riscv@nongnu.org @@ -XXX,XX +XXX,XX @@ M: Richard Henderson <richard.henderson@linaro.org> G: @rth7680 M: Ilya Leoshkevich <iii@linux.ibm.com> R: David Hildenbrand <david@kernel.org> +G: @davidhildenbrand S: Maintained F: target/s390x/ F: target/s390x/tcg @@ -XXX,XX +XXX,XX @@ PPC KVM CPUs M: Nicholas Piggin <npiggin@gmail.com> G: @npiggin R: Harsh Prateek Bora <harshpb@linux.ibm.com> +G: @harshpb S: Odd Fixes F: target/ppc/kvm.c @@ -XXX,XX +XXX,XX @@ Overall CPUs other accelerators M: Richard Henderson <richard.henderson@linaro.org> G: @rth7680 R: Paolo Bonzini <pbonzini@redhat.com> +G: @bonzini R: Philippe Mathieu-Daudé <philmd@mailo.com> +G: @philmd S: Maintained F: include/exec/cpu*.h F: include/exec/target_long.h @@ -XXX,XX +XXX,XX @@ Raspberry Pi M: Peter Maydell <peter.maydell@linaro.org> G: @pm215 R: Philippe Mathieu-Daudé <philmd@mailo.com> +G: @philmd L: qemu-arm@nongnu.org S: Odd Fixes F: hw/arm/raspi*.c @@ -XXX,XX +XXX,XX @@ G: @npiggin R: Aditya Gupta <adityag@linux.ibm.com> R: Glenn Miles <milesg@linux.ibm.com> R: Harsh Prateek Bora <harshpb@linux.ibm.com> +G: @harshpb L: qemu-ppc@nongnu.org S: Odd Fixes F: docs/system/ppc/powernv.rst @@ -XXX,XX +XXX,XX @@ S390-ccw boot M: Jared Rossi <jrossi@linux.ibm.com> R: Zhuoying Cai <zycai@linux.ibm.com> R: Christian Borntraeger <borntraeger@linux.ibm.com> +G: @cborntra R: Jason Herne <jjherne@linux.ibm.com> S: Supported F: hw/s390x/ipl.* @@ -XXX,XX +XXX,XX @@ L: qemu-s390x@nongnu.org S390 CPU models M: Hendrik Brueckner <brueckner@linux.ibm.com> R: David Hildenbrand <david@kernel.org> +G: @davidhildenbrand S: Maintained F: target/s390x/cpu_features*.[ch] F: target/s390x/cpu_models.[ch] @@ -XXX,XX +XXX,XX @@ G: @mstredhat M: Igor Mammedov <imammedo@redhat.com> G: @imammedo R: Ani Sinha <anisinha@redhat.com> +G: @anisinha S: Supported F: include/hw/acpi/* F: include/hw/firmware/smbios.h @@ -XXX,XX +XXX,XX @@ Character devices M: Marc-André Lureau <marcandre.lureau@redhat.com> G: @marcandre.lureau-rh R: Paolo Bonzini <pbonzini@redhat.com> +G: @bonzini S: Odd Fixes F: hw/char/ F: include/hw/char/ @@ -XXX,XX +XXX,XX @@ SCSI M: Paolo Bonzini <pbonzini@redhat.com> G: @bonzini R: Fam Zheng <fam@euphon.net> +G: @famzheng S: Supported F: include/hw/scsi/* F: hw/scsi/* @@ -XXX,XX +XXX,XX @@ vhost M: Michael S. Tsirkin <mst@redhat.com> G: @mstredhat R: Stefano Garzarella <sgarzare@redhat.com> +G: @sgarzarella S: Supported F: hw/*/*vhost* F: docs/interop/vhost-user* @@ -XXX,XX +XXX,XX @@ virtio-9p M: Christian Schoenebeck <qemu_oss@crudebyte.com> G: @schoenebeck R: Greg Kurz <groug@kaod.org> +G: @gkurz S: Maintained W: https://wiki.qemu.org/Documentation/9p F: hw/9pfs/ @@ -XXX,XX +XXX,XX @@ vhost-user-snd M: Alex Bennée <alex.bennee@linaro.org> G: @stsquad R: Manos Pitsidianakis <manos.pitsidianakis@linaro.org> +G: @epilys S: Maintained F: hw/virtio/vhost-user-snd* F: include/hw/virtio/vhost-user-snd.h @@ -XXX,XX +XXX,XX @@ F: include/hw/nvram/eeprom93xx.h VM Generation ID S: Orphan R: Ani Sinha <ani@anisinha.ca> +G: @anisinha F: hw/acpi/vmgenid.c F: include/hw/acpi/vmgenid.h F: docs/specs/vmgenid.rst @@ -XXX,XX +XXX,XX @@ Unimplemented device M: Peter Maydell <peter.maydell@linaro.org> G: @pm215 R: Philippe Mathieu-Daudé <philmd@mailo.com> +G: @philmd R: Ani Sinha <ani@anisinha.ca> +G: @anisinha S: Maintained F: include/hw/misc/unimp.h F: hw/misc/unimp.c @@ -XXX,XX +XXX,XX @@ F: hw/misc/unimp.c Empty slot M: Artyom Tarasenko <atar4qemu@gmail.com> R: Philippe Mathieu-Daudé <philmd@mailo.com> +G: @philmd R: Ani Sinha <ani@anisinha.ca> +G: @anisinha S: Maintained F: include/hw/misc/empty_slot.h F: hw/misc/empty_slot.c @@ -XXX,XX +XXX,XX @@ F: include/hw/isa/vt82c686.h Firmware configuration (fw_cfg) R: Gerd Hoffmann <kraxel@redhat.com> +G: @kraxel S: Orphaned F: docs/specs/fw_cfg.rst F: hw/nvram/fw_cfg*.c @@ -XXX,XX +XXX,XX @@ M: Halil Pasic <pasic@linux.ibm.com> M: Christian Borntraeger <borntraeger@linux.ibm.com> G: @cborntra R: David Hildenbrand <david@kernel.org> +G: @davidhildenbrand R: Jason Herne <jjherne@linux.ibm.com> S: Supported F: hw/intc/s390_flic*.c @@ -XXX,XX +XXX,XX @@ ALSA Audio backend M: Gerd Hoffmann <kraxel@redhat.com> G: @kraxel R: Christian Schoenebeck <qemu_oss@crudebyte.com> +G: @schoenebeck S: Odd Fixes F: audio/alsaaudio.c @@ -XXX,XX +XXX,XX @@ G: @kraxel M: Philippe Mathieu-Daudé <philmd@mailo.com> G: @philmd R: Christian Schoenebeck <qemu_oss@crudebyte.com> +G: @schoenebeck R: Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp> S: Odd Fixes F: audio/coreaudio.m @@ -XXX,XX +XXX,XX @@ JACK Audio Connection Kit backend M: Gerd Hoffmann <kraxel@redhat.com> G: @kraxel R: Christian Schoenebeck <qemu_oss@crudebyte.com> +G: @schoenebeck S: Odd Fixes F: audio/jackaudio.c @@ -XXX,XX +XXX,XX @@ SDL Audio backend M: Gerd Hoffmann <kraxel@redhat.com> G: @kraxel R: Thomas Huth <th.huth+qemu@posteo.eu> +G: @thuth S: Odd Fixes F: audio/sdlaudio.c @@ -XXX,XX +XXX,XX @@ Block SCSI subsystem M: Paolo Bonzini <pbonzini@redhat.com> G: @bonzini R: Fam Zheng <fam@euphon.net> +G: @famzheng L: qemu-block@nongnu.org S: Supported F: include/scsi/* @@ -XXX,XX +XXX,XX @@ CheckPoint and Restart (CPR) M: Maciej S. Szmigiero <maciej.szmigiero@oracle.com> R: Peter Xu <peterx@redhat.com> R: Fabiano Rosas <farosas@suse.de> +G: @farosas R: Mark Kanda <mark.kanda@oracle.com> R: Ben Chaney <bchaney@akamai.com> S: Supported @@ -XXX,XX +XXX,XX @@ G: @ebblake M: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru> G: @vsementsov R: John Snow <jsnow@redhat.com> +G: @jsnow L: qemu-block@nongnu.org S: Supported F: include/qemu/hbitmap.h @@ -XXX,XX +XXX,XX @@ Character device backends M: Marc-André Lureau <marcandre.lureau@redhat.com> G: @marcandre.lureau-rh R: Paolo Bonzini <pbonzini@redhat.com> +G: @bonzini S: Maintained F: chardev/ F: include/chardev/ @@ -XXX,XX +XXX,XX @@ Device Tree M: Alistair Francis <alistair.francis@wdc.com> G: @alistair23 R: David Gibson <david@gibson.dropbear.id.au> +G: @dgibson S: Maintained F: system/device_tree.c F: include/system/device_tree.h @@ -XXX,XX +XXX,XX @@ S: Supported M: Marc-André Lureau <marcandre.lureau@redhat.com> G: @marcandre.lureau-rh R: Ani Sinha <anisinha@redhat.com> +G: @anisinha F: dump/ F: hw/misc/vmcoreinfo.c F: include/hw/misc/vmcoreinfo.h @@ -XXX,XX +XXX,XX @@ GDB stub M: Alex Bennée <alex.bennee@linaro.org> G: @stsquad R: Philippe Mathieu-Daudé <philmd@mailo.com> +G: @philmd S: Maintained F: docs/system/gdb.rst F: gdbstub/* @@ -XXX,XX +XXX,XX @@ M: Paolo Bonzini <pbonzini@redhat.com> G: @bonzini M: Peter Xu <peterx@redhat.com> R: Philippe Mathieu-Daudé <philmd@mailo.com> +G: @philmd S: Supported F: include/system/ioport.h F: include/exec/memop.h @@ -XXX,XX +XXX,XX @@ QOM M: Paolo Bonzini <pbonzini@redhat.com> G: @bonzini R: Daniel P. Berrange <berrange@redhat.com> +G: @berrange S: Supported F: docs/devel/qom.rst F: include/qom/ @@ -XXX,XX +XXX,XX @@ QDev M: Paolo Bonzini <pbonzini@redhat.com> G: @bonzini R: Daniel P. Berrange <berrange@redhat.com> +G: @berrange S: Supported F: docs/qdev-device-use.txt F: hw/core/qdev* @@ -XXX,XX +XXX,XX @@ G: @farosas M: Laurent Vivier <lvivier@redhat.com> G: @lvivier R: Paolo Bonzini <pbonzini@redhat.com> +G: @bonzini S: Maintained F: system/qtest.c F: include/system/qtest.h @@ -XXX,XX +XXX,XX @@ Device Fuzzing M: Alexander Bulekov <alxndr@bu.edu> G: @a1xndr R: Paolo Bonzini <pbonzini@redhat.com> +G: @bonzini R: Stefan Hajnoczi <stefanha@redhat.com> +G: @stefanha R: Fabiano Rosas <farosas@suse.de> +G: @farosas R: Darren Kenny <darren.kenny@oracle.com> S: Maintained F: tests/qtest/fuzz/ @@ -XXX,XX +XXX,XX @@ F: tests/qtest/test-filter* Record/replay R: Paolo Bonzini <pbonzini@redhat.com> +G: @bonzini R: Alex Bennée <alex.bennee@linaro.org> +G: @stsquad W: https://wiki.qemu.org/Features/record-replay S: Odd Fixes F: replay/* @@ -XXX,XX +XXX,XX @@ F: tests/qtest/isl_pmbus_vr-test.c FSI M: Ninad Palsule <ninad@linux.ibm.com> R: Cédric Le Goater <clg@kaod.org> +G: @clegoate S: Maintained F: hw/fsi/* F: include/hw/fsi/* @@ -XXX,XX +XXX,XX @@ F: tests/qtest/aspeed_fsi-test.c Firmware schema specifications R: Daniel P. Berrange <berrange@redhat.com> +G: @berrange R: Kashyap Chamarthy <kchamart@redhat.com> S: Orphan F: docs/interop/firmware.json @@ -XXX,XX +XXX,XX @@ G: @kraxel M: Stefano Garzarella <sgarzare@redhat.com> G: @sgarzarella R: Ani Sinha <anisinha@redhat.com> +G: @anisinha S: Maintained F: backends/igvm*.c F: docs/system/igvm.rst @@ -XXX,XX +XXX,XX @@ VT-d Emulation M: Michael S. Tsirkin <mst@redhat.com> G: @mstredhat R: Jason Wang <jasowang@redhat.com> +G: @jasowang R: Yi Liu <yi.l.liu@intel.com> R: Clément Mathieu--Drif <clement.mathieu--drif@bull.com> S: Supported @@ -XXX,XX +XXX,XX @@ OpenSBI Firmware M: Alistair Francis <Alistair.Francis@wdc.com> G: @alistair23 R: Daniel Henrique Barboza <daniel.barboza@oss.qualcomm.com> +G: @danielhb L: qemu-riscv@nongnu.org S: Supported F: pc-bios/opensbi-* @@ -XXX,XX +XXX,XX @@ G: @lvivier M: Helge Deller <deller@gmx.de> G: @hdeller R: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> +G: @pierrick.bouvier S: Odd Fixes F: linux-user/ F: configs/targets/*linux-user.mak @@ -XXX,XX +XXX,XX @@ M: Palmer Dabbelt <palmer@dabbelt.com> M: Alistair Francis <Alistair.Francis@wdc.com> G: @alistair23 R: Daniel Henrique Barboza <daniel.barboza@oss.qualcomm.com> +G: @danielhb L: qemu-riscv@nongnu.org S: Maintained F: tcg/riscv64/ @@ -XXX,XX +XXX,XX @@ NVMe Block Driver M: Stefan Hajnoczi <stefanha@redhat.com> G: @stefanha R: Fam Zheng <fam@euphon.net> +G: @famzheng L: qemu-block@nongnu.org S: Supported F: block/nvme* @@ -XXX,XX +XXX,XX @@ Linux io_uring M: Stefan Hajnoczi <stefanha@redhat.com> G: @stefanha R: Stefano Garzarella <sgarzare@redhat.com> +G: @sgarzarella L: qemu-block@nongnu.org S: Maintained F: block/io_uring.c @@ -XXX,XX +XXX,XX @@ Functional testing framework M: Thomas Huth <th.huth+qemu@posteo.eu> G: @thuth R: Philippe Mathieu-Daudé <philmd@mailo.com> +G: @philmd R: Daniel P. Berrange <berrange@redhat.com> +G: @berrange S: Odd Fixes F: docs/devel/testing/functional.rst F: scripts/clean_functional_cache.py @@ -XXX,XX +XXX,XX @@ Meson M: Paolo Bonzini <pbonzini@redhat.com> G: @bonzini R: Marc-André Lureau <marcandre.lureau@redhat.com> +G: @marcandre.lureau-rh R: Daniel P. Berrange <berrange@redhat.com> +G: @berrange R: Philippe Mathieu-Daudé <philmd@mailo.com> +G: @philmd R: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> +G: @pierrick.bouvier S: Maintained F: meson.build F: meson_options.txt @@ -XXX,XX +XXX,XX @@ Top Level Makefile and configure M: Paolo Bonzini <pbonzini@redhat.com> G: @bonzini R: Alex Bennée <alex.bennee@linaro.org> +G: @stsquad S: Maintained F: Makefile F: configure -- 2.54.0
When triaging GitLab issues, whether regular bugs or security disclosures, we need to be able to assign suitable accounts. We can only assign Git Lab handles for accounts that are members of the QEMU group, or QEMU repository with the "Reporter" role or higher. Currently one needs to run 'get_maintainer.pl -f <file>' to get the maintainer / reviewer names & emails, and then look in the GitLab members page to see if there is a match. This simplifies that by including the GitLab handle alongside the email addresses: The GitLab account handle -> real name mapping is stored in separate files .gitlab-map-auto & .gitlab-map-manual to avoid redundancy in the MAINTAINERS file. The former file is auto-generated and catches 99% of the mappings, the latter is for manual fixups. With this series applied as is, we get the following stats $ ./scripts/gitlab-map-check $ ./scripts/gitlab-map-check Missing GitLab handle for maintainer 'Akihiko Odaki' Missing GitLab handle for maintainer 'Alano Song' Missing GitLab handle for maintainer 'Albert Esteve' Missing GitLab handle for maintainer 'Alberto Garcia' Missing GitLab handle for maintainer 'Alejandro Jimenez' Missing GitLab handle for maintainer 'Aleksandar Rikalo' Missing GitLab handle for maintainer 'Alessandro Di Federico' Missing GitLab handle for maintainer 'Alexandre Iooss' Missing GitLab handle for maintainer 'Alexandre Ratchov' Missing GitLab handle for maintainer 'Alexey Kardashevskiy' Missing GitLab handle for maintainer 'Amit Shah' Missing GitLab handle for maintainer 'Andrew Jeffery' Missing GitLab handle for maintainer 'Anirudh Srinivasan' Missing GitLab handle for maintainer 'Anton Johansson' Missing GitLab handle for maintainer 'Antony Pavlov' Missing GitLab handle for maintainer 'Ari Sundholm' Missing GitLab handle for maintainer 'Artyom Tarasenko' Missing GitLab handle for maintainer 'Aurelien Jarno' Missing GitLab handle for maintainer 'BALATON Zoltan' Missing GitLab handle for maintainer 'Ben Chaney' Missing GitLab handle for maintainer 'Bernhard Beschow' Missing GitLab handle for maintainer 'Bibo Mao' Missing GitLab handle for maintainer 'Brad Smith' Missing GitLab handle for maintainer 'Canokeys.org' Missing GitLab handle for maintainer 'Chris Rauer' Missing GitLab handle for maintainer 'Christoph Muellner' Missing GitLab handle for maintainer 'Clément Chigot' Missing GitLab handle for maintainer 'Clément Mathieu--Drif' Missing GitLab handle for maintainer 'Collin Walling' Missing GitLab handle for maintainer 'Corey Minyard' Missing GitLab handle for maintainer 'Darren Kenny' Missing GitLab handle for maintainer 'Denis V. Lunev' Missing GitLab handle for maintainer 'Dmitry Fleytman' Missing GitLab handle for maintainer 'Dmitry Osipenko' Missing GitLab handle for maintainer 'Dorjoy Chowdhury' Missing GitLab handle for maintainer 'Doru Blânzeanu' Missing GitLab handle for maintainer 'Elena Ufimtseva' Missing GitLab handle for maintainer 'Eric Farman' Missing GitLab handle for maintainer 'Eugenio Pérez' Missing GitLab handle for maintainer 'FangSheng Huang' Missing GitLab handle for maintainer 'Farhan Ali' Missing GitLab handle for maintainer 'Felipe Balbi' Missing GitLab handle for maintainer 'Francisco Iglesias' Missing GitLab handle for maintainer 'Frederic Konrad' Missing GitLab handle for maintainer 'Gaurav Sharma' Missing GitLab handle for maintainer 'Gautam Gala' Missing GitLab handle for maintainer 'Giuseppe Lettieri' Missing GitLab handle for maintainer 'Glenn Miles' Missing GitLab handle for maintainer 'Gonglei' Missing GitLab handle for maintainer 'Haixu Cui' Missing GitLab handle for maintainer 'Halil Pasic' Missing GitLab handle for maintainer 'Hao Wu' Missing GitLab handle for maintainer 'Hari Bathini' Missing GitLab handle for maintainer 'Hendrik Brueckner' Missing GitLab handle for maintainer 'Hervé Poussineau' Missing GitLab handle for maintainer 'Hongren (Zenithal) Zheng' Missing GitLab handle for maintainer 'Huacai Chen' Missing GitLab handle for maintainer 'Hyman Huang' Missing GitLab handle for maintainer 'Ilya Dryomov' Missing GitLab handle for maintainer 'Ilya Leoshkevich' Missing GitLab handle for maintainer 'Ilya Maximets' Missing GitLab handle for maintainer 'Jagannathan Raman' Missing GitLab handle for maintainer 'Jamin Lin' Missing GitLab handle for maintainer 'Jan Kiszka' Missing GitLab handle for maintainer 'Jared Rossi' Missing GitLab handle for maintainer 'Jason Herne' Missing GitLab handle for maintainer 'Jean-Christophe Dubois' Missing GitLab handle for maintainer 'Jesper Devantier' Missing GitLab handle for maintainer 'Jeuk Kim' Missing GitLab handle for maintainer 'Jiaxun Yang' Missing GitLab handle for maintainer 'Jiri Pirko' Missing GitLab handle for maintainer 'Jiri Slaby' Missing GitLab handle for maintainer 'Joe Komlodi' Missing GitLab handle for maintainer 'Joel Stanley' Missing GitLab handle for maintainer 'John Levon' Missing GitLab handle for maintainer 'Jonathan Cameron' Missing GitLab handle for maintainer 'Kane Chen' Missing GitLab handle for maintainer 'Kashyap Chamarthy' Missing GitLab handle for maintainer 'Keith Busch' Missing GitLab handle for maintainer 'Kohei Tokunaga' Missing GitLab handle for maintainer 'Kuan-Wei Chiu' Missing GitLab handle for maintainer 'Kyle Evans' Missing GitLab handle for maintainer 'Leif Lindholm' Missing GitLab handle for maintainer 'Liu Zhiwei' Missing GitLab handle for maintainer 'LIU Zhiwei' Missing GitLab handle for maintainer 'Li-Wen Hsu' Missing GitLab handle for maintainer 'Li Zhijian' Missing GitLab handle for maintainer 'Luc Michel' Missing GitLab handle for maintainer 'Lukas Straub' Missing GitLab handle for maintainer 'Mads Ynddal' Missing GitLab handle for maintainer 'Magnus Kulke' Missing GitLab handle for maintainer 'Maksim Davydov' Missing GitLab handle for maintainer 'Marcelo Tosatti' Missing GitLab handle for maintainer 'Mark Kanda' Missing GitLab handle for maintainer 'Markus Armbruster' Missing GitLab handle for maintainer 'Mathieu Poirier' Missing GitLab handle for maintainer 'Matthew Rosato' Missing GitLab handle for maintainer 'Matyas Bobek' Missing GitLab handle for maintainer 'Mauro Carvalho Chehab' Missing GitLab handle for maintainer 'Max Filippov' Missing GitLab handle for maintainer 'Michael Ellerman' Missing GitLab handle for maintainer 'Michael Rolnik' Missing GitLab handle for maintainer 'Milan Zamazal' Missing GitLab handle for maintainer 'Nabih Estefan' Missing GitLab handle for maintainer 'Niek Linnenbank' Missing GitLab handle for maintainer 'Ninad Palsule' Missing GitLab handle for maintainer 'Palmer Dabbelt' Missing GitLab handle for maintainer 'Patrick Leis' Missing GitLab handle for maintainer 'Paul Durrant' Missing GitLab handle for maintainer 'Pavel Pisa' Missing GitLab handle for maintainer 'Pedro Barbuda' Missing GitLab handle for maintainer 'Peter Lieven' Missing GitLab handle for maintainer 'Phil Dennis-Jordan' Missing GitLab handle for maintainer 'Philipp Tomsich' Missing GitLab handle for maintainer 'Portia Stephens' Missing GitLab handle for maintainer 'Ran Wang' Missing GitLab handle for maintainer 'Raphael Norwitz' Missing GitLab handle for maintainer 'Reinoud Zandijk' Missing GitLab handle for maintainer 'Richard W.M. Jones' Missing GitLab handle for maintainer 'Roman Bolshakov' Missing GitLab handle for maintainer 'Sai Pavan Boddu' Missing GitLab handle for maintainer 'Sairaj Kodilkar' Missing GitLab handle for maintainer 'Samuel Tardieu' Missing GitLab handle for maintainer 'Samuel Thibault' Missing GitLab handle for maintainer 'Sergio Lopez' Missing GitLab handle for maintainer 'Song Gao' Missing GitLab handle for maintainer 'Sourabh' Missing GitLab handle for maintainer 'Sourabh Jain' Missing GitLab handle for maintainer 'Sriram Yagnaraman' Missing GitLab handle for maintainer 'Stafford Horne' Missing GitLab handle for maintainer 'Steven Lee' Missing GitLab handle for maintainer 'Strahinja Jankovic' Missing GitLab handle for maintainer 'Subbaraya Sundeep' Missing GitLab handle for maintainer 'Sunil V L' Missing GitLab handle for maintainer 'Sven Schnelle' Missing GitLab handle for maintainer 'Thanos Makatos' Missing GitLab handle for maintainer 'Titus Rwantare' Missing GitLab handle for maintainer 'Tomita Moeko' Missing GitLab handle for maintainer 'Tony Krowiak' Missing GitLab handle for maintainer 'Troy Lee' Missing GitLab handle for maintainer 'Tyrone Ting' Missing GitLab handle for maintainer 'Vikram Garhwal' Missing GitLab handle for maintainer 'Viktor Prutyanov' Missing GitLab handle for maintainer 'Vincenzo Maffione' Missing GitLab handle for maintainer 'Viresh Kumar' Missing GitLab handle for maintainer 'WANG Xuerui' Missing GitLab handle for maintainer 'Wei Liu' Missing GitLab handle for maintainer 'Weiwei Li' Missing GitLab handle for maintainer 'Xianglai Li' Missing GitLab handle for maintainer 'Xie Yongji' Missing GitLab handle for maintainer 'Yi Liu' Missing GitLab handle for maintainer 'Yoshinori Sato' Missing GitLab handle for maintainer 'Yuri Benditovich' Missing GitLab handle for maintainer 'Zhang Chen' Missing GitLab handle for maintainer 'Zhao Liu' Missing GitLab handle for maintainer 'zhenwei pi' Missing GitLab handle for maintainer 'Zhenzhong Duan' Missing GitLab handle for maintainer 'Zhuoying Cai' GitLab handles missing: 158 / present: 68 Plenty of those will have GitLab accounts, but are simply not members of QEMU. Plenty more probably aren't registered with GitLab at all. Short of emailing all of those people directly, I don't see a good way to identify their GitLab accounts (if any), in order to invite them to the QEMU project. I don't want to blindly invite accounts which merely have the same name on GitLab as there's too much risk of getting a mis-match. Changed in v3: - Validate handle in .gitlab-map-manual maps to one in .gitlab-map-auto - Validate real name in .gitlab-map-manual maps to one in MAINTANIERS - Fix stripping of quotes in names - Fix trailing whitespace Changed in v2: - Don't store data in MAINTAINERS file, use a separate mapping - Don't require a --gitlab flag to get_maintainer.pl, always show the handle - Add scripts for updating & analysing the mappings Daniel P. Berrangé (2): gitlab: introduce files mapping GitLab accounts to real names get_maintainer: add ability to report Git Lab handle .gitlab-map-auto | 93 +++++++++++++++++++++++++++++++++++++++ .gitlab-map-manual | 18 ++++++++ scripts/get_maintainer.pl | 51 +++++++++++++++++++-- scripts/gitlab-map-check | 51 +++++++++++++++++++++ scripts/gitlab-map-update | 45 +++++++++++++++++++ 5 files changed, 254 insertions(+), 4 deletions(-) create mode 100644 .gitlab-map-auto create mode 100644 .gitlab-map-manual create mode 100755 scripts/gitlab-map-check create mode 100755 scripts/gitlab-map-update -- 2.55.0
It is desirable to be able to discover the GitLab account handle assocaited with a real name in the MAINTAINERS file. Rather that duplicating the same account handle multiple times, inline with the MAINTAINERS file entries, this introduces mapping files: * .gitlab-map-auto - data automatically queried from GitLab using the 'glab' tool and REST API * .gitlab-map-manual - manual overrides/augmentation for cases where the MAINTAINERS real name does not match the GitLab account real name The former would need refreshing when we add new MAINTAINERS entries, if the person had to be added as a GitLab account member. For this purpose scripts/gitlab-map-update can be used, assuming the user has the 'glab' client tool present and configured with an access token. To audit how many maintainers have GitLab handles present/missing scripts/gitlab-map-check can run a report. $ ./scripts/gitlab-map-check Missing GitLab handle for maintainer 'Akihiko Odaki' Missing GitLab handle for maintainer 'Albert Esteve' .... Missing GitLab handle for maintainer 'Zhenzhong Duan' Missing GitLab handle for maintainer 'Zhuoying Cai' GitLab handles missing: 158 / present: 68 Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- .gitlab-map-auto | 93 +++++++++++++++++++++++++++++++++++++++ .gitlab-map-manual | 18 ++++++++ scripts/gitlab-map-check | 51 +++++++++++++++++++++ scripts/gitlab-map-update | 45 +++++++++++++++++++ 4 files changed, 207 insertions(+) create mode 100644 .gitlab-map-auto create mode 100644 .gitlab-map-manual create mode 100755 scripts/gitlab-map-check create mode 100755 scripts/gitlab-map-update diff --git a/.gitlab-map-auto b/.gitlab-map-auto new file mode 100644 index XXXXXXX..XXXXXXX --- /dev/null +++ b/.gitlab-map-auto @@ -XXX,XX +XXX,XX @@ +# This file is auto-generated by scripts/autolab-map-update +# +# This GitLab map associates GitLab account handles +# with real names, in order to allow mapping from +# MAINTAINERS entries. The format of entries is +# +# {gitlab-handle}<tab>{real name} +# +# Manual overrides must be placed in .gitlab-map-manual +TaoTang Tao Tang +a1xndr Alexander Bulekov +adi-g15-ibm Aditya Gupta +agraf Alexander Graf +alex.williamson Alex Williamson +aliang1 Aihua Liang +alistair23 Alistair Francis +anisinha Ani Sinha +anthony-linaro Anthony Roberts +anthonyper Anthony PERARD +berrange Daniel P. Berrangé +birkelund Klaus Jensen +bonzini Paolo Bonzini +brian-cain Brian Cain +bsdimp Warner Losh +cborntra Christian Borntraeger +chao23.liu Chao Liu (Zevorn) +cleber.gnu Cleber Rosa +clegoate Cédric Le Goater +cohuck Cornelia Huck +cota_ Emilio Cota +dagrh Dr. David Alan Gilbert +danielhb Daniel Henrique Barboza +davidhildenbrand David Hildenbrand +dgibson dgibson +dwmw2 David Woodhouse +eauger1 Eric Auger +ebblake Eric Blake +edgar.iglesias Edgar E. Iglesias +ehabkost Eduardo Habkost +eldondev Eldon +epilys Manos Pitsidianakis +famzheng Fam Zheng +farosas Fabiano Rosas +gautammenghani Gautam Menghani +gkurz Greg Kurz +gusbromero Gustavo Romero +harshpb Harsh Prateek Bora +hdeller Helge Deller +hreitz Hanna Czenczek +imammedo Igor Mammedov +jasowang Jason Wang +jmacarthur Jim MacArthur +jsnow John Snow +juan.quintela Juan Quintela +kbastian-qemu Bastian Koppelmann +kmwolf Kevin Wolf +kostyanf14 Kostiantyn Kostiuk +kraxel Gerd Hoffmann +lbmeng Bin Meng +legoater Cédric Le Goater +lvivier Laurent Vivier +lygstate Yonggang Luo +maciejsszmigiero Maciej S. Szmigiero +marcandre.lureau Marc-André Lureau +marcandre.lureau-rh Marc-André Lureau +mauromatteo.cascella Mauro Matteo Cascella +mcayland Mark Cave-Ayland +mdroth Michael Roth +mediouni-m M. Mediouni +mjt0k Michael Tokarev +mstredhat MST +npiggin npiggin +p-b-o Pierrick Bouvier +pauldzim Paul Zimmerman +peterx Peter Xu +philmd Philippe Mathieu-Daudé +pierrick.bouvier Pierrick Bouvier +pipo.sk Peter Krempa +pkrempa Peter Krempa (work) +pm215 Peter Maydell +qemu-janitor Qemu Janitor +rathc Chinmay Rath +rth7680 Richard Henderson +schoenebeck Christian Schoenebeck +sgarzarella Stefano Garzarella +sstabellini Stefano Stabellini +stefanberger Stefan Berger +stefanha Stefan Hajnoczi +stsquad Alex Bennée +stweil Stefan Weil +thuth Thomas Huth +vsementsov Vladimir Sementsov-Ogievskiy +xcancerberox Joaquin de Andres diff --git a/.gitlab-map-manual b/.gitlab-map-manual new file mode 100644 index XXXXXXX..XXXXXXX --- /dev/null +++ b/.gitlab-map-manual @@ -XXX,XX +XXX,XX @@ +# This GitLab map associates GitLab account handles +# with real names, in order to allow mapping from +# MAINTAINERS entries. The format of entries is +# +# {gitlab-handle}<tab>{real name} +# +# This file is manually written, to augment the +# auto-generated data in .gitlab-map-auto. This +# needed where a GitLab account real name does +# not exactly match the MAINTAINERS file real +# name. +# +berrange Daniel P. Berrange +dgibson David Gibson +hreitz Hanna Reitz +mstredhat Michael S. Tsirkin +npiggin Nicholas Piggin +mediouni-m Mohamed Mediouni diff --git a/scripts/gitlab-map-check b/scripts/gitlab-map-check new file mode 100755 index XXXXXXX..XXXXXXX --- /dev/null +++ b/scripts/gitlab-map-check @@ -XXX,XX +XXX,XX @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0-or-later + +missing=0 +present=0 + +grep -E '^(R|M):' MAINTAINERS | \ +sed -E -e 's/^(M|R): //' -e 's/ <.*//' | \ +sort | uniq > names.txt +while IFS= read -r NAME +do + grep "$NAME" .gitlab-map-{auto,manual} > /dev/null + if test $? != 0 + then + echo "Missing GitLab handle for maintainer '$NAME'" + missing=$(($missing + 1)) + else + present=$(($present + 1)) + fi +done < names.txt +rm -f names.txt + +echo "GitLab handles missing: $missing / present: $present" + +# .gitlab-map-manual is to provide alternate real names +# for cases where name in MANITAINERS does not match +# the GitLab account real name. As such... + +# ...all gitlab handles in .gitlab-map-manual must also exist +# in .gitlab-map-auto and .... +for HANDLE in $(grep -v '^#' .gitlab-map-manual | awk '{print $1}') +do + grep -E "^$HANDLE\s" .gitlab-map-auto >/dev/null + if test $? != 0 + then + echo "Unexpected GitLab handle '$HANDLE' is not a member" + fi +done + +# ...and all realnames in .gitlab-map-manual must also +# exist in MAINTAINERS +grep -v '^#' .gitlab-map-manual | \ +awk '{ saved = $1; $1 = ""; print substr($0, 2) }' | \ +while IFS= read -r NAME +do + grep -E "\s$NAME\s" MAINTAINERS >/dev/null + if test $? != 0 + then + echo "Unexpected real name '$NAME' is not a maintainer" + fi +done diff --git a/scripts/gitlab-map-update b/scripts/gitlab-map-update new file mode 100755 index XXXXXXX..XXXXXXX --- /dev/null +++ b/scripts/gitlab-map-update @@ -XXX,XX +XXX,XX @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0-or-later + +echo "Checking authentication token status" +glab auth status + +if test $? != 0 +then + echo "ERROR: not authenticated with gitlab.com" + exit 1 +fi + +if ! test -f .gitlab-map-auto +then + echo "ERROR: cannot find existing '.gitlab-map-auto file'" + echo "ERROR: this must be executed from the root of the" + echo "ERROR: git repository checkout" + exit 1 +fi + +fail=0 +echo "Updating member list from qemu-project" +glab api --paginate /groups/qemu-project/members | \ + jq -r -c '.[] | [.username, .name] | @tsv' | \ + grep -v '^group_3038080_bot' > \ + .gitlab-map-auto.tmp +test $? != 0 && fail=1 + +echo "Updating member list from qemu-project/qemu" +glab api --paginate /projects/qemu-project%2fqemu/members | \ + jq -r -c '.[] | [.username, .name] | @tsv' | \ + grep -v 'Duo Developer' >> \ + .gitlab-map-auto.tmp +test $? != 0 && fail=1 + +if test $fail == 0 +then + grep '^#' .gitlab-map-auto > .gitlab-map-auto.new + LC_ALL=C sort .gitlab-map-auto.tmp | uniq >> .gitlab-map-auto.new + mv .gitlab-map-auto.new .gitlab-map-auto + echo "OK: GitLab member list updated" +else + echo "ERROR: Updating member list failed" +fi +rm -f .gitlab-map-auto.tmp -- 2.55.0
With the GitLab mapping files from the previous commit, the get_manitainer.pl script is now able to report the gitlab handle for each maintainer/reviewer when displaying output. For example: $ ./scripts/get_maintainer.pl -f hw/scsi/lsi53c895a.c Paolo Bonzini <pbonzini@redhat.com> (supporter:SCSI, gitlab:@bonzini) Fam Zheng <fam@euphon.net> (reviewer:SCSI, gitlab:@famzheng) qemu-devel@nongnu.org (open list:All patches CC here) Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- scripts/get_maintainer.pl | 51 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 47 insertions(+), 4 deletions(-) diff --git a/scripts/get_maintainer.pl b/scripts/get_maintainer.pl index XXXXXXX..XXXXXXX 100755 --- a/scripts/get_maintainer.pl +++ b/scripts/get_maintainer.pl @@ -XXX,XX +XXX,XX @@ sub read_mailmap { close($mailmap_file); } +my %gitlabmap; + +read_gitlabmap(".gitlab-map-auto"); +read_gitlabmap(".gitlab-map-manual"); + +sub read_gitlabmap { + my $mapfile = shift; + open MAP, "<$mapfile" + or die "cannot open $mapfile: $!"; + + while (<MAP>) { + next if /^#/; + next if /^\s*$/; + + if (/^(\S+)\t(.*)$/) { + my $handle = $1; + my $realname = $2; + + $gitlabmap{$realname} = $handle; + } + } + + close MAP; +} + ## use the filenames on the command line or find the filenames in the patchfiles my @files = (); @@ -XXX,XX +XXX,XX @@ sub email_inuse { return 0; } +sub gitlab_handle { + my $name = shift; + + $name =~ s/"//g; + + my $gitlab_handle; + if (exists $gitlabmap{$name}) { + return $gitlabmap{$name}; + } + return undef; +} + sub push_email_address { my ($line, $role) = @_; @@ -XXX,XX +XXX,XX @@ sub push_email_address { return 0; } + my $gitlab_handle = gitlab_handle($name); + if (!$email_remove_duplicates) { - push(@email_to, [format_email($name, $address, $email_usename), $role]); + push(@email_to, [format_email($name, $address, $email_usename), $role, $gitlab_handle]); } elsif (!email_inuse($name, $address)) { - push(@email_to, [format_email($name, $address, $email_usename), $role]); + push(@email_to, [format_email($name, $address, $email_usename), $role, $gitlab_handle]); $email_hash_name{lc($name)}++ if ($name ne ""); $email_hash_address{lc($address)}++; } @@ -XXX,XX +XXX,XX @@ sub merge_email { my %saw; for (@_) { - my ($address, $role) = @$_; + my ($address, $role, $gitlab_handle) = @$_; if (!$saw{$address}) { if ($output_roles) { - push(@lines, "$address ($role)"); + if (defined $gitlab_handle) { + push(@lines, "$address ($role, gitlab:\@$gitlab_handle)"); + } else { + push(@lines, "$address ($role)"); + } } else { push(@lines, $address); } -- 2.55.0