qemu with hax to log dma reads & writes jcs.org/2018/11/12/vfio

contrib: add a basic gitdm config

This is a QEMU specific version of a gitdm config for generating
reports on the contributor base of the project. I've added enough
group maps and domain aliases to ensure the current top ten is as
reflective as it can be. As of this commit running:

git log --numstat --since "Last Year" | gitdm -n -l 10

Reports:

Top changeset contributors by employer
Red Hat 3172 (44.3%)
Linaro 1153 (16.1%)
(None) 549 (7.7%)
IBM 348 (4.9%)
Academics (various) 170 (2.4%)
Virtuozzo 168 (2.3%)
Wave Computing 118 (1.6%)
Xilinx 102 (1.4%)
Igalia 93 (1.3%)
Cadence Design Systems 88 (1.2%)

Top lines changed by employer
Red Hat 144092 (28.1%)
Cadence Design Systems 126554 (24.6%)
Linaro 77480 (15.1%)
Wave Computing 33134 (6.5%)
SiFive 14392 (2.8%)
IBM 12219 (2.4%)
(None) 11948 (2.3%)
Academics (various) 10447 (2.0%)
Virtuozzo 10445 (2.0%)
CodeWeavers 9179 (1.8%)

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Aleksandar Markovic <amarkovic@wavecomp.com>

+301
+27
contrib/gitdm/aliases
··· 1 + # 2 + # This is the email aliases file, mapping secondary addresses 3 + # onto a single, canonical address. Duplicates some info from .mailmap 4 + # 5 + 6 + # weird commits 7 + balrog@c046a42c-6fe2-441c-8c8c-71466251a162 balrogg@gmail.com 8 + aliguori@c046a42c-6fe2-441c-8c8c-71466251a162 anthony@codemonkey.ws 9 + aurel32@c046a42c-6fe2-441c-8c8c-71466251a162 aurelien@aurel32.net 10 + blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162 blauwirbel@gmail.com 11 + edgar_igl@c046a42c-6fe2-441c-8c8c-71466251a162 edgar.iglesias@gmail.com 12 + bellard@c046a42c-6fe2-441c-8c8c-71466251a162 fabrice@bellard.org 13 + j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162 l_indien@magic.fr 14 + pbrook@c046a42c-6fe2-441c-8c8c-71466251a162 paul@codesourcery.com 15 + ths@c046a42c-6fe2-441c-8c8c-71466251a162 ths@networkno.de 16 + malc@c046a42c-6fe2-441c-8c8c-71466251a162 av1474@comtv.ru 17 + 18 + # There is also a: 19 + # (no author) <(no author)@c046a42c-6fe2-441c-8c8c-71466251a162> 20 + # for the cvs2svn initialization commit e63c3dc74bf. 21 + 22 + # Next, translate a few commits where mailman rewrote the From: line due 23 + # to strict SPF, although we prefer to avoid adding more entries like that. 24 + "Ed Swierk via Qemu-devel" eswierk@skyportsystems.com 25 + "Ian McKellar via Qemu-devel" ianloic@google.com 26 + "Julia Suvorova via Qemu-devel" jusual@mail.ru 27 + "Justin Terry (VM) via Qemu-devel" juterry@microsoft.com
+19
contrib/gitdm/domain-map
··· 1 + # 2 + # QEMU gitdm domain-map 3 + # 4 + # This maps email domains to nice easy to read company names 5 + # 6 + 7 + amd.com AMD 8 + greensocs.com GreenSocs 9 + ibm.com IBM 10 + igalia.com Igalia 11 + linaro.org Linaro 12 + oracle.com Oracle 13 + redhat.com Red Hat 14 + siemens.com Siemens 15 + sifive.com SiFive 16 + suse.de SUSE 17 + virtuozzo.com Virtuozzo 18 + wdc.com Western Digital 19 + xilinx.com Xilinx
+146
contrib/gitdm/filetypes.txt
··· 1 + # -*- coding:utf-8 -*- 2 + # Copyright (C) 2006 Libresoft 3 + # 4 + # This program is free software; you can redistribute it and/or modify 5 + # it under the terms of the GNU General Public License as published by 6 + # the Free Software Foundation; either version 2 of the License, or 7 + # (at your option any later version. 8 + # 9 + # This program is distributed in the hope that it will be useful, 10 + # but WITHOUT ANY WARRANTY; without even the implied warranty of 11 + # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 + # GNU Library General Public License for more details. 13 + # 14 + # You should have received a copy of the GNU General Public License 15 + # along with this program; if not, write to the Free Software 16 + # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 + # 18 + # Authors : Gregorio Robles <grex@gsyc.escet.urjc.es> 19 + # Authors : Germán Póo-Caamaño <gpoo@gnome.org> 20 + # 21 + # This QEMU version is a cut-down version of what originally shipped 22 + # in the gitdm sample-config directory. 23 + # 24 + # This file contains associations parameters regarding filetypes 25 + # (documentation, develompent, multimedia, images...) 26 + # 27 + # format: 28 + # filetype <type> <regex> [<comment>] 29 + # 30 + # Order: 31 + # The list should keep an order, so filetypes can be counted properly. 32 + # ie. we want ltmain.sh -> 'build' instead of 'code'. 33 + # 34 + # If there is an filetype which is not in order but has values, it will 35 + # be added at the end. 36 + # 37 + order build,tests,code,documentation,devel-doc,blobs 38 + 39 + # 40 + # 41 + # Code files (headers and the like included 42 + # (most common languages first 43 + # 44 + filetype code \.c$ # C 45 + filetype code \.inc.c$ # C 46 + filetype code \.C$ # C++ 47 + filetype code \.cpp$ # C++ 48 + filetype code \.c\+\+$ # C++ 49 + filetype code \.cxx$ # C++ 50 + filetype code \.cc$ # C++ 51 + filetype code \.h$ # C or C++ header 52 + filetype code \.hh$ # C++ header 53 + filetype code \.hpp$ # C++ header 54 + filetype code \.hxx$ # C++ header 55 + filetype code \.sh$ # Shell 56 + filetype code \.pl$ # Perl 57 + filetype code \.py$ # Python 58 + filetype code \.s$ # Assembly 59 + filetype code \.S$ # Assembly 60 + filetype code \.asm$ # Assembly 61 + filetype code \.awk$ # awk 62 + filetype code ^common$ # script fragements 63 + filetype code ^common.*$ # script fragements 64 + filetype code (qom|qmp)-\w+$ # python script fragments 65 + 66 + # 67 + # Interface/api files 68 + # 69 + filetype interface \.json$ # json 70 + filetype interface \.hx$ # documented options 71 + 72 + # 73 + # Test related blobs (unfortunately we can't filter out test code) 74 + # 75 + filetype tests \.hex$ 76 + filetype tests \d{2,3}$ # test data 00-999 77 + filetype tests ^[A-Z]{4}$ # ACPI test data 78 + filetype tests ^[A-Z]{4}\.*$ # ACPI test data 79 + filetype tests \.out$ 80 + filetype tests \.out\.nocache$ 81 + filetype tests \.err$ 82 + filetype tests \.exit$ # bad-if-FOO.exit etc 83 + filetype tests \.decode$ 84 + filetype tests \.yml$ # travis/shippable config 85 + 86 + # 87 + # Development documentation files (for hacking generally) 88 + # 89 + filetype devel-doc ^readme.*$ 90 + filetype devel-doc ^changelog.* 91 + filetype devel-doc ^hacking.*$ 92 + filetype devel-doc ^licen(s|c)e.*$ 93 + filetype devel-doc ^copying.*$ 94 + filetype devel-doc ^MAINTAINERS$ 95 + filetype devel-doc ^BSD-2-Clause$ 96 + filetype devel-doc ^BSD-3-Clause$ 97 + filetype devel-doc ^GPL-2.0$ 98 + filetype devel-doc \.txt$ 99 + filetype devel-doc \.rst$ 100 + filetype devel-doc \.texi$ 101 + filetype devel-doc \.pod$ 102 + 103 + # 104 + # Building, compiling, and configuration admin files 105 + # 106 + filetype build configure.*$ 107 + filetype build Makefile$ 108 + filetype build Makefile\.*$ 109 + filetype build config$ 110 + filetype build conf$ 111 + filetype build \.cfg$ 112 + filetype build \.mk$ 113 + filetype build \.mak$ 114 + filetype build \.docker$ 115 + filetype build \.pre$ 116 + filetype build ^.gitignore$ 117 + filetype build ^.gitmodules$ 118 + filetype build ^.gitpublish$ 119 + filetype build ^.mailmap$ 120 + filetype build ^.dir-locals.el$ 121 + filetype build ^.editorconfig$ 122 + filetype build ^.exrc$ 123 + filetype build ^.gdbinit$ 124 + filetype build \.cocci$ # Coccinelle semantic patches 125 + 126 + # 127 + # Misc blobs 128 + # 129 + filetype blobs \.bin$ 130 + filetype blobs \.dtb$ 131 + filetype blobs \.dts$ 132 + filetype blobs \.rom$ 133 + filetype blobs \.img$ 134 + filetype blobs \.ndrv$ 135 + filetype blobs \.bmp$ 136 + filetype blobs \.svg$ 137 + filetype blobs ^pi_10.com$ 138 + 139 + 140 + # 141 + # Documentation files 142 + # 143 + filetype documentation \.html$ 144 + filetype documentation \.txt$ 145 + filetype documentation \.texi$ 146 + filetype documentation \.po$ # translation files
+14
contrib/gitdm/group-map-academics
··· 1 + # 2 + # QEMU is quite often used for academic research purposes and we like 3 + # it even better when the work is up-streamed so the project can 4 + # benefit. 5 + # 6 + # We group our academic contributors here 7 + # 8 + 9 + # Institute for System Programming of Russian Academy of Science 10 + ispras.ru 11 + 12 + # Columbia University 13 + cs.columbia.edu 14 + cota@braap.org
+3
contrib/gitdm/group-map-cadence
··· 1 + # Cadence Design Systems 2 + 3 + jcmvbkbc@gmail.com
+1
contrib/gitdm/group-map-codeweavers
··· 1 + sergio.g.delreal@gmail.com
+6
contrib/gitdm/group-map-ibm
··· 1 + # 2 + # Some IBM contributors submit via another domain 3 + # 4 + 5 + clg@kaod.org 6 + groug@kaod.org
+10
contrib/gitdm/group-map-individuals
··· 1 + # 2 + # Individual and personal contributors 3 + # 4 + # This is simply to allow prolific developers with no company 5 + # affiliations to be grouped together in the summary stats. 6 + # 7 + 8 + f4bug@amsat.org 9 + mjt@tls.msk.ru 10 + mark.cave-ayland@ilande.co.uk
+7
contrib/gitdm/group-map-redhat
··· 1 + # 2 + # Red Hat contributors using non-corporate email 3 + # 4 + 5 + david@gibson.dropbear.id.au 6 + laurent@vivier.eu 7 + pjp@fedoraproject.org
+18
contrib/gitdm/group-map-wavecomp
··· 1 + # 2 + # Wave Computing acquired MIPS in June 2018. Also, from February 2013 3 + # to October 2017, MIPS was owned by Imagination Technologies. 4 + # 5 + 6 + aleksandar.markovic@imgtec.com 7 + aleksandar.markovic@mips.com 8 + amarkovic@wavecomp.com 9 + arikalo@wavecomp.com 10 + dnikolic@wavecomp.com 11 + james.hogan@mips.com 12 + matthew.fortune@mips.com 13 + paul.burton@imgtec.com 14 + pburton@wavecomp.com 15 + smarkovic@wavecomp.com 16 + yongbok.kim@imgtec.com 17 + yongbok.kim@mips.com 18 + ysu@wavecomp.com
+50
gitdm.config
··· 1 + # 2 + # This is the gitdm configuration file for QEMU. 3 + # 4 + # It is to be used with LWN's git dataminer tool for generating 5 + # reports about development activity in the QEMU repo. The LWN gitdm 6 + # tool can be found at: 7 + # 8 + # git://git.lwn.net/gitdm.git 9 + # 10 + # A run to generate a report for the last year of activity would be 11 + # 12 + # git log --numstat --since "Last Year" | gitdm -n -l 10 13 + # 14 + 15 + # EmailAliases lets us cope with developers who use more 16 + # than one address or have changed addresses. This duplicates some of 17 + # the information in the existing .mailmap but in a slightly different 18 + # form. 19 + # 20 + EmailAliases contrib/gitdm/aliases 21 + 22 + # 23 + # EmailMap does the main work of mapping addresses onto 24 + # employers. 25 + # 26 + EmailMap contrib/gitdm/domain-map 27 + 28 + # 29 + # Use GroupMap to map a file full of addresses to the 30 + # same employer. This is used for people that don't post from easily 31 + # identifiable corporate emails. 32 + # 33 + 34 + GroupMap contrib/gitdm/group-map-redhat Red Hat 35 + GroupMap contrib/gitdm/group-map-wavecomp Wave Computing 36 + GroupMap contrib/gitdm/group-map-cadence Cadence Design Systems 37 + GroupMap contrib/gitdm/group-map-codeweavers CodeWeavers 38 + GroupMap contrib/gitdm/group-map-ibm IBM 39 + 40 + # Also group together our prolific individual contributors 41 + # and those working under academic auspices 42 + GroupMap contrib/gitdm/group-map-individuals (None) 43 + GroupMap contrib/gitdm/group-map-academics Academics (various) 44 + 45 + # 46 + # 47 + # Use FileTypeMap to map a file types to file names using regular 48 + # regular expressions. 49 + # 50 + FileTypeMap contrib/gitdm/filetypes.txt