All of lore.kernel.org
 help / color / mirror / Atom feed
* Report on MAINTAINERS coverage
@ 2025-12-18 12:45 Markus Armbruster
  2025-12-18 12:55 ` Daniel P. Berrangé
  2025-12-18 15:57 ` Stefan Weil via
  0 siblings, 2 replies; 12+ messages in thread
From: Markus Armbruster @ 2025-12-18 12:45 UTC (permalink / raw)
  To: qemu-devel

Back in 2014 (time flies), I posted

    Subject: MAINTAINERS leaves too many files uncovered
    Message-ID: <87mw8rumhb.fsf@blackfin.pond.sub.org>
    https://lore.kernel.org/qemu-devel/87mw8rumhb.fsf@blackfin.pond.sub.org/

I updated my findings in 2015, 2016 (at commit e00da552a0d), 2018 (at
v3.1.0-rc2), and 2023 (at commit 36e9aab3c56, close to v8.2.0).  This is
another update, at v10.2.0-rc4.

Unsurprisingly, the number of files in the tree

    $ git-ls-files | wc -l

grows over time:

    year  2014   2015   2016   2018   2023   2025
    #     3746   4387   4921   6461   9788  10921

Looks exponential to me, doubling every seven years or so.

The number of .c files has grown more slowly:

    year  2014   2015   2016   2018   2023   2025
    #     1836   1945   2132   2633   3588   3920
            49%    44%    43%    40%    37%    36%

The number of .c files not covered by MAINTAINERS

    $ for i in `git-ls-files`; do [ "`scripts/get_maintainer.pl -f --no-git-fallback $i | grep -v '^qemu-devel@nongnu\.org'`" ] || echo $i; done >unmaintained-files
    $ grep -c '\.c$' unmaintained-files

went down a lot after my first post, but has since flatlined:

    year  2014   2015   2016   2018   2023   2025
    #     1066    461    402    259    246    244

We're still adding unmaintained .c files (despite checkpatch.pl
warning), but only a few:

    $ git-diff --diff-filter=A --name-only v9.2.0 v10.2.0-rc4 | grep '\.c$' | join unmaintained-files -
    accel/stubs/mshv-stub.c
    hw/misc/max78000_aes.c
    hw/misc/max78000_gcr.c
    hw/misc/max78000_icc.c
    hw/misc/max78000_trng.c
    hw/misc/pvpanic-mmio.c
    hw/virtio/iothread-vq-mapping.c
    system/exit-with-parent.c
    system/globals-target.c
    util/event.c
    util/s390x_pci_mmio.c


Currently unmaintained files by extension, with a long tail that doesn't
add up to anything interesting omitted:

                #files                percent
    ext     unmaintained  total     unmaintained
    h               269    2731         10%
    c               244    3920          6%
    rst             111     313         35%
    <none>           92     760         12%
    build            87     287         30%
    mak              39      99         39%
    inc              29     187         16%
    wrap             23      23        100%
    bin              19      30         63%
    cocci            14      25         64%
    rom              14      15         93%
    txt              11      35         40%

Observations:

1. More unmaintained .h than .c.  Suggests sloppy accounting in
   MAINTAINERS.  Low-hanging fruit?  The difference has shrunk some.

2. The number of unmaintained .rst and .txt suggests we're less
   interested in maintaining documentation.

3. The number of unmaintained .build and .mak suggests we're less
   interested in maintaining the build system.


Where are the remaining unmaintained files now?  Top-scoring
directories, files in sub-directories not counted:

    $ sed 's,/[^/]*$,/,;s,^[^/]*$,./,' unmaintained-files | sort | uniq -c | sort -nr

      # directory
     86 include/qemu/
     57 hw/usb/
     54 util/
     48 tests/unit/
     42 pc-bios/
     35 pc-bios/keymaps/
     34 docs/system/
     28 docs/devel/
     26 ./
     24 subprojects/
     24 include/exec/
     23 roms/
     21 scripts/
     21 configs/targets/
     17 hw/display/
     17 hw/core/
     16 scripts/coccinelle/
     16 include/system/
     16 hw/misc/
     14 tests/multiboot/
     13 include/hw/
     13 docs/
     12 system/
     12 po/
     11 pc-bios/optionrom/

hw/usb/ is due to USB being orphaned in MAINTAINERS.  The remainder are
all pretty much unchanged since last time, less a few that improved
enough to fall off this list.


Which unmaintained files are we still changing?  Unmaintained files
sorted by number of commits in the past year (since v9.2.0):

    $ for i in `cat unmaintained-files`; do echo -n "$i "; git-rev-list v9.2.0.. $i | wc -l; done | awk '{ printf "%7d %s\n", $2, $1 }' | sort -rn

    274 MAINTAINERS
    107 tests/functional/meson.build
     34 docs/devel/rust.rst
     32 qemu-options.hx
     27 docs/about/removed-features.rst
     20 scripts/checkpatch.pl
     19 hw/core/loader.c
     19 VERSION
     15 docs/system/arm/emulation.rst
     12 include/system/mshv_int.h
     11 hw/usb/hcd-uhci.c
     10 tests/unit/test-bdrv-drain.c
     10 include/qemu/osdep.h
     10 include/exec/poison.h
     10 hw/misc/trace-events
     10 hw/misc/meson.build
     10 docs/about/build-platforms.rst
    [475 more with fewer than 10 changes]

Several of these we clearly need to cover in MAINTAINERS.


Full list of unmaintained files:

.b4-config
.dir-locals.el
.editorconfig
.exrc
.gdbinit
.git-blame-ignore-revs
.gitattributes
.gitignore
.gitlab/issue_templates/bug.md
.gitlab/issue_templates/feature_request.md
.gitmodules
.gitpublish
.mailmap
.patchew.yml
.readthedocs.yml
COPYING
COPYING.LIB
LICENSE
MAINTAINERS
README.rst
VERSION
accel/meson.build
accel/stubs/meson.build
accel/stubs/mshv-stub.c
accel/stubs/xen-stub.c
audio/spiceaudio.c
backends/confidential-guest-support.c
backends/dbus-vmstate1.xml
backends/meson.build
backends/trace-events
backends/trace.h
clippy.toml
configs/devices/aarch64-softmmu/default.mak
configs/devices/aarch64-softmmu/minimal.mak
configs/devices/alpha-softmmu/default.mak
configs/devices/arm-softmmu/default.mak
configs/devices/m68k-softmmu/default.mak
configs/devices/microblaze-softmmu/default.mak
configs/devices/microblazeel-softmmu/default.mak
configs/devices/or1k-softmmu/default.mak
configs/devices/ppc-softmmu/default.mak
configs/devices/ppc64-softmmu/default.mak
configs/devices/riscv32-softmmu/default.mak
configs/devices/riscv64-softmmu/default.mak
configs/devices/rx-softmmu/default.mak
configs/devices/sh4-softmmu/default.mak
configs/devices/sh4eb-softmmu/default.mak
configs/devices/sparc-softmmu/default.mak
configs/devices/sparc64-softmmu/default.mak
configs/devices/tricore-softmmu/default.mak
configs/devices/x86_64-softmmu/default.mak
configs/meson/windows.txt
configs/targets/aarch64-softmmu.mak
configs/targets/alpha-softmmu.mak
configs/targets/arm-softmmu.mak
configs/targets/avr-softmmu.mak
configs/targets/hppa-softmmu.mak
configs/targets/m68k-softmmu.mak
configs/targets/meson.build
configs/targets/microblaze-softmmu.mak
configs/targets/microblazeel-softmmu.mak
configs/targets/or1k-softmmu.mak
configs/targets/ppc-softmmu.mak
configs/targets/ppc64-softmmu.mak
configs/targets/rx-softmmu.mak
configs/targets/s390x-softmmu.mak
configs/targets/sh4-softmmu.mak
configs/targets/sh4eb-softmmu.mak
configs/targets/sparc-softmmu.mak
configs/targets/sparc64-softmmu.mak
configs/targets/tricore-softmmu.mak
configs/targets/xtensa-softmmu.mak
configs/targets/xtensaeb-softmmu.mak
contrib/ivshmem-client/ivshmem-client.c
contrib/ivshmem-client/ivshmem-client.h
contrib/ivshmem-client/main.c
contrib/ivshmem-client/meson.build
contrib/ivshmem-server/ivshmem-server.c
contrib/ivshmem-server/ivshmem-server.h
contrib/ivshmem-server/main.c
contrib/ivshmem-server/meson.build
contrib/systemd/qemu-pr-helper.service
contrib/systemd/qemu-pr-helper.socket
contrib/systemd/qemu-vmsr-helper.service
contrib/systemd/qemu-vmsr-helper.socket
contrib/vmapple/uuid.sh
disas/capstone.c
disas/disas-common.c
disas/disas-host.c
disas/disas-internal.h
disas/disas-mon.c
disas/disas-target.c
disas/meson.build
disas/objdump.c
docs/about/build-platforms.rst
docs/about/emulation.rst
docs/about/index.rst
docs/about/license.rst
docs/about/removed-features.rst
docs/bypass-iommu.txt
docs/config/ich9-ehci-uhci.cfg
docs/config/mach-virt-graphical.cfg
docs/config/mach-virt-serial.cfg
docs/config/q35-emulated.cfg
docs/config/q35-virtio-graphical.cfg
docs/config/q35-virtio-serial.cfg
docs/defs.rst.inc
docs/devel/atomics.rst
docs/devel/bitops.rst
docs/devel/block-coroutine-wrapper.rst
docs/devel/code-provenance.rst
docs/devel/control-flow-integrity.rst
docs/devel/crypto.rst
docs/devel/index-api.rst
docs/devel/index-build.rst
docs/devel/index-internals.rst
docs/devel/index-process.rst
docs/devel/index-tcg.rst
docs/devel/index.rst
docs/devel/loads-stores.rst
docs/devel/maintainers.rst
docs/devel/memory.rst
docs/devel/modules.rst
docs/devel/multi-thread-tcg.rst
docs/devel/multiple-iothreads.rst
docs/devel/pci.rst
docs/devel/qdev-api.rst
docs/devel/qom-api.rst
docs/devel/reset.rst
docs/devel/rust.rst
docs/devel/secure-coding-practices.rst
docs/devel/stable-process.rst
docs/devel/testing/index.rst
docs/devel/uefi-vars.rst
docs/devel/writing-monitor-commands.rst
docs/devel/zoned-storage.rst
docs/image-fuzzer.txt
docs/index.rst
docs/interop/barrier.rst
docs/interop/index.rst
docs/interop/live-block-operations.rst
docs/interop/pr-helper.rst
docs/interop/vhost-vdpa.rst
docs/interop/vnc-ledstate-pseudo-encoding.rst
docs/memory-hotplug.txt
docs/meson.build
docs/multi-thread-compression.txt
docs/multiseat.txt
docs/qcow2-cache.txt
docs/qemupciserial.inf
docs/rdma.txt
docs/specs/acpi_erst.rst
docs/specs/aspeed-intc.rst
docs/specs/index.rst
docs/specs/ivshmem-spec.rst
docs/specs/pvpanic.rst
docs/specs/rapl-msr.rst
docs/specs/riscv-aia.rst
docs/specs/sev-guest-firmware.rst
docs/specs/spdm.rst
docs/sphinx-static/custom.js
docs/sphinx-static/theme_overrides.css
docs/spice-port-fqdn.txt
docs/spin/aio_notify.promela
docs/spin/aio_notify_accept.promela
docs/spin/aio_notify_bug.promela
docs/spin/tcg-exclusive.promela
docs/spin/win32-qemu-event.promela
docs/system/arm/b-l475e-iot01a.rst
docs/system/arm/emulation.rst
docs/system/arm/max78000.rst
docs/system/authz.rst
docs/system/barrier.rst
docs/system/bootindex.rst
docs/system/confidential-guest-support.rst
docs/system/cpu-hotplug.rst
docs/system/device-emulation.rst
docs/system/device-url-syntax.rst.inc
docs/system/devices/ccid.rst
docs/system/devices/cxl.rst
docs/system/devices/emmc.rst
docs/system/devices/ivshmem.rst
docs/system/devices/keyboard.rst
docs/system/devices/net.rst
docs/system/devices/usb-u2f.rst
docs/system/devices/usb.rst
docs/system/devices/virtio/index.rst
docs/system/devices/virtio/vhost-user-contrib.rst
docs/system/devices/virtio/vhost-user.rst
docs/system/devices/virtio/virtio-gpu.rst
docs/system/devices/virtio/virtio-pmem.rst
docs/system/devices/virtio/virtio-snd.rst
docs/system/i386/hyperv.rst
docs/system/i386/kvm-pv.rst
docs/system/i386/pc.rst
docs/system/i386/tdx.rst
docs/system/i386/xen.rst
docs/system/images.rst
docs/system/index.rst
docs/system/introduction.rst
docs/system/invocation.rst
docs/system/keys.rst
docs/system/keys.rst.inc
docs/system/linuxboot.rst
docs/system/managed-startup.rst
docs/system/monitor.rst
docs/system/mux-chardev.rst
docs/system/mux-chardev.rst.inc
docs/system/openrisc/emulation.rst
docs/system/openrisc/virt.rst
docs/system/pr-manager.rst
docs/system/qemu-block-drivers.rst
docs/system/qemu-block-drivers.rst.inc
docs/system/qemu-cpu-models.rst
docs/system/qemu-manpage.rst
docs/system/riscv/virt.rst
docs/system/secrets.rst
docs/system/security.rst
docs/system/target-loongarch.rst
docs/system/target-m68k.rst
docs/system/target-openrisc.rst
docs/system/target-sparc.rst
docs/system/target-sparc64.rst
docs/system/target-xtensa.rst
docs/system/targets.rst
docs/system/tls.rst
docs/system/vnc-security.rst
docs/tools/index.rst
docs/tools/qemu-pr-helper.rst
docs/tools/qemu-vmsr-helper.rst
docs/user/index.rst
docs/user/main.rst
docs/xbzrle.txt
event-loop-base.c
host/include/aarch64/host/atomic128-cas.h.inc
host/include/aarch64/host/atomic128-ldst.h.inc
host/include/aarch64/host/bufferiszero.c.inc
host/include/aarch64/host/load-extract-al16-al8.h.inc
host/include/aarch64/host/store-insert-al16.h.inc
host/include/generic/host/atomic128-cas.h.inc
host/include/generic/host/atomic128-ldst.h.inc
host/include/generic/host/bufferiszero.c.inc
host/include/generic/host/load-extract-al16-al8.h.inc
host/include/generic/host/store-insert-al16.h.inc
host/include/i386/host/bufferiszero.c.inc
host/include/loongarch64/host/atomic128-ldst.h.inc
host/include/loongarch64/host/bufferiszero.c.inc
host/include/loongarch64/host/load-extract-al16-al8.h.inc
host/include/loongarch64/host/store-insert-al16.h.inc
host/include/x86_64/host/atomic128-ldst.h.inc
host/include/x86_64/host/bufferiszero.c.inc
host/include/x86_64/host/load-extract-al16-al8.h.inc
hw/core/fw-path-provider.c
hw/core/gpio.c
hw/core/guest-loader.h
hw/core/hotplug.c
hw/core/irq.c
hw/core/loader.c
hw/core/machine-hmp-cmds.c
hw/core/meson.build
hw/core/nmi.c
hw/core/or-irq.c
hw/core/platform-bus.c
hw/core/ptimer.c
hw/core/split-irq.c
hw/core/sysbus-fdt.c
hw/core/trace-events
hw/core/trace.h
hw/core/vm-change-state-handler.c
hw/cpu/core.c
hw/cpu/meson.build
hw/display/acpi-vga-stub.c
hw/display/acpi-vga.c
hw/display/ati.c
hw/display/ati_2d.c
hw/display/ati_dbg.c
hw/display/ati_int.h
hw/display/ati_regs.h
hw/display/framebuffer.c
hw/display/framebuffer.h
hw/display/i2c-ddc.c
hw/display/meson.build
hw/display/qxl-logger.c
hw/display/qxl-render.c
hw/display/qxl.c
hw/display/qxl.h
hw/display/trace-events
hw/display/trace.h
hw/dma/meson.build
hw/dma/soc_dma.c
hw/dma/trace-events
hw/dma/trace.h
hw/gpio/gpio_key.c
hw/gpio/gpio_pwr.c
hw/gpio/meson.build
hw/gpio/pcf8574.c
hw/gpio/trace-events
hw/gpio/trace.h
hw/hyperv/hyperv.c
hw/hyperv/hyperv_testdev.c
hw/hyperv/meson.build
hw/hyperv/syndbg.c
hw/hyperv/trace-events
hw/hyperv/trace.h
hw/i2c/bitbang_i2c.c
hw/i2c/meson.build
hw/i2c/trace-events
hw/i2c/trace.h
hw/input/hid.c
hw/input/meson.build
hw/input/ps2.c
hw/input/trace-events
hw/input/trace.h
hw/intc/intc.c
hw/intc/meson.build
hw/intc/trace-events
hw/intc/trace.h
hw/intc/vgic_common.h
hw/isa/isa-bus.c
hw/isa/meson.build
hw/isa/trace-events
hw/isa/trace.h
hw/m68k/meson.build
hw/mem/cxl_type3_stubs.c
hw/mem/meson.build
hw/mem/trace-events
hw/mem/trace.h
hw/meson.build
hw/misc/applesmc.c
hw/misc/auxbus.c
hw/misc/axp2xx.c
hw/misc/i2c-echo.c
hw/misc/ivshmem-pci.c
hw/misc/max78000_aes.c
hw/misc/max78000_gcr.c
hw/misc/max78000_icc.c
hw/misc/max78000_trng.c
hw/misc/meson.build
hw/misc/pvpanic-isa.c
hw/misc/pvpanic-mmio.c
hw/misc/pvpanic-pci.c
hw/misc/pvpanic.c
hw/misc/trace-events
hw/misc/trace.h
hw/nvram/eeprom93xx.c
hw/nvram/eeprom_at24c.c
hw/nvram/meson.build
hw/nvram/trace-events
hw/nvram/trace.h
hw/pci-host/gpex-acpi.c
hw/pci-host/gpex.c
hw/pci-host/meson.build
hw/pci-host/trace-events
hw/pci-host/trace.h
hw/remote/meson.build
hw/remote/trace-events
hw/remote/trace.h
hw/remote/vfio-user-obj-stub.c
hw/rtc/ds1338.c
hw/rtc/m48t59-internal.h
hw/rtc/m48t59.c
hw/rtc/meson.build
hw/rtc/trace-events
hw/rtc/trace.h
hw/sd/meson.build
hw/sd/trace-events
hw/sd/trace.h
hw/timer/meson.build
hw/timer/pxa2xx_timer.c
hw/timer/trace-events
hw/timer/trace.h
hw/usb/bus-stub.c
hw/usb/bus.c
hw/usb/ccid-card-emulated.c
hw/usb/ccid-card-passthru.c
hw/usb/ccid.h
hw/usb/chipidea.c
hw/usb/combined-packet.c
hw/usb/core.c
hw/usb/desc-msos.c
hw/usb/desc.c
hw/usb/desc.h
hw/usb/dev-audio.c
hw/usb/dev-hid.c
hw/usb/dev-hub.c
hw/usb/dev-mtp.c
hw/usb/dev-network.c
hw/usb/dev-smartcard-reader.c
hw/usb/dev-storage-bot.c
hw/usb/dev-storage-classic.c
hw/usb/dev-storage.c
hw/usb/dev-uas.c
hw/usb/dev-wacom.c
hw/usb/hcd-dwc2.c
hw/usb/hcd-dwc2.h
hw/usb/hcd-dwc3.c
hw/usb/hcd-ehci-pci.c
hw/usb/hcd-ehci-sysbus.c
hw/usb/hcd-ehci.c
hw/usb/hcd-ehci.h
hw/usb/hcd-ohci-pci.c
hw/usb/hcd-ohci-sysbus.c
hw/usb/hcd-ohci.c
hw/usb/hcd-ohci.h
hw/usb/hcd-uhci.c
hw/usb/hcd-uhci.h
hw/usb/hcd-xhci-nec.c
hw/usb/hcd-xhci-pci.c
hw/usb/hcd-xhci-pci.h
hw/usb/hcd-xhci-sysbus.c
hw/usb/hcd-xhci-sysbus.h
hw/usb/hcd-xhci.c
hw/usb/hcd-xhci.h
hw/usb/host-libusb.c
hw/usb/libhw.c
hw/usb/meson.build
hw/usb/pcap.c
hw/usb/quirks-ftdi-ids.h
hw/usb/quirks-pl2303-ids.h
hw/usb/quirks.c
hw/usb/quirks.h
hw/usb/redirect.c
hw/usb/trace-events
hw/usb/trace.h
hw/usb/u2f-emulated.c
hw/usb/u2f-passthru.c
hw/usb/u2f.c
hw/usb/u2f.h
hw/virtio/iothread-vq-mapping.c
hw/virtio/meson.build
hw/virtio/trace.h
hw/virtio/vdpa-dev-pci.c
hw/virtio/vdpa-dev.c
hw/watchdog/meson.build
hw/watchdog/trace-events
hw/watchdog/trace.h
hw/watchdog/watchdog.c
include/disas/capstone.h
include/disas/dis-asm.h
include/disas/disas.h
include/elf.h
include/exec/abi_ptr.h
include/exec/breakpoint.h
include/exec/hwaddr.h
include/exec/icount.h
include/exec/log.h
include/exec/memattrs.h
include/exec/memopidx.h
include/exec/memory_ldst.h.inc
include/exec/memory_ldst_cached.h.inc
include/exec/memory_ldst_phys.h.inc
include/exec/mmap-lock.h
include/exec/mmu-access-type.h
include/exec/page-vary.h
include/exec/plugin-gen.h
include/exec/poison.h
include/exec/ramlist.h
include/exec/target_page.h
include/exec/tlb-common.h
include/exec/tlb-flags.h
include/exec/translation-block.h
include/exec/translator.h
include/exec/tswap.h
include/exec/vaddr.h
include/exec/watchpoint.h
include/glib-compat.h
include/hw/arm/boot.h
include/hw/arm/bsa.h
include/hw/arm/fdt.h
include/hw/arm/linux-boot-if.h
include/hw/arm/machines-qom.h
include/hw/arm/max78000_soc.h
include/hw/arm/soc_dma.h
include/hw/block/block.h
include/hw/core/split-irq.h
include/hw/core/sysbus-fdt.h
include/hw/core/sysemu-cpu-ops.h
include/hw/cpu/core.h
include/hw/display/dm163.h
include/hw/display/i2c-ddc.h
include/hw/elf_ops.h.inc
include/hw/fw-path-provider.h
include/hw/gpio/pcf8574.h
include/hw/hotplug.h
include/hw/hw.h
include/hw/hyperv/hyperv-proto.h
include/hw/hyperv/hyperv.h
include/hw/i2c/bitbang_i2c.h
include/hw/i2c/pnv_i2c_regs.h
include/hw/input/hid.h
include/hw/input/ps2.h
include/hw/intc/intc.h
include/hw/intc/kvm_irqcount.h
include/hw/intc/riscv_aclint.h
include/hw/intc/riscv_aplic.h
include/hw/intc/riscv_imsic.h
include/hw/ipack/ipack.h
include/hw/irq.h
include/hw/isa/isa.h
include/hw/loader-fit.h
include/hw/loader.h
include/hw/loongarch/boot.h
include/hw/mem/sparse-mem.h
include/hw/misc/auxbus.h
include/hw/misc/ivshmem.h
include/hw/misc/max78000_aes.h
include/hw/misc/max78000_gcr.h
include/hw/misc/max78000_icc.h
include/hw/misc/max78000_trng.h
include/hw/misc/pvpanic.h
include/hw/nmi.h
include/hw/nvram/eeprom93xx.h
include/hw/nvram/eeprom_at24c.h
include/hw/nvram/fw_cfg_acpi.h
include/hw/or-irq.h
include/hw/pci-bridge/cxl_upstream_port.h
include/hw/pci-bridge/pci_expander_bridge.h
include/hw/pci-bridge/xio3130_downstream.h
include/hw/pci-host/gpex.h
include/hw/pci-host/ls7a.h
include/hw/platform-bus.h
include/hw/ptimer.h
include/hw/sd/cadence_sdhci.h
include/hw/sysbus.h
include/hw/timer/cadence_ttc.h
include/hw/usb.h
include/hw/usb/chipidea.h
include/hw/usb/dwc2-regs.h
include/hw/usb/ehci-regs.h
include/hw/usb/hcd-dwc3.h
include/hw/usb/hid.h
include/hw/usb/msd.h
include/hw/usb/uhci-regs.h
include/hw/usb/xhci.h
include/libdecnumber/dconfig.h
include/libdecnumber/decContext.h
include/libdecnumber/decDPD.h
include/libdecnumber/decNumber.h
include/libdecnumber/decNumberLocal.h
include/libdecnumber/dpd/decimal128.h
include/libdecnumber/dpd/decimal128Local.h
include/libdecnumber/dpd/decimal32.h
include/libdecnumber/dpd/decimal64.h
include/monitor/hmp.h
include/monitor/monitor.h
include/monitor/qmp-helpers.h
include/qemu-io.h
include/qemu-main.h
include/qemu/async-teardown.h
include/qemu/atomic.h
include/qemu/atomic128.h
include/qemu/base64.h
include/qemu/bcd.h
include/qemu/bitmap.h
include/qemu/bitops.h
include/qemu/bswap.h
include/qemu/cacheflush.h
include/qemu/cacheinfo.h
include/qemu/compiler.h
include/qemu/config-file.h
include/qemu/cpu-float.h
include/qemu/cpuid.h
include/qemu/crc-ccitt.h
include/qemu/crc32c.h
include/qemu/ctype.h
include/qemu/cutils.h
include/qemu/datadir.h
include/qemu/drm.h
include/qemu/envlist.h
include/qemu/event_notifier.h
include/qemu/exit-with-parent.h
include/qemu/fifo32.h
include/qemu/fifo8.h
include/qemu/futex.h
include/qemu/guest-random.h
include/qemu/help-texts.h
include/qemu/help_option.h
include/qemu/host-pci-mmio.h
include/qemu/host-utils.h
include/qemu/hw-version.h
include/qemu/id.h
include/qemu/int128.h
include/qemu/interval-tree.h
include/qemu/iov.h
include/qemu/jhash.h
include/qemu/keyval.h
include/qemu/lockable.h
include/qemu/log-for-trace.h
include/qemu/log.h
include/qemu/madvise.h
include/qemu/memalign.h
include/qemu/memfd.h
include/qemu/mmap-alloc.h
include/qemu/module.h
include/qemu/mprotect.h
include/qemu/notify.h
include/qemu/nvdimm-utils.h
include/qemu/option_int.h
include/qemu/osdep.h
include/qemu/path.h
include/qemu/plugin-event.h
include/qemu/plugin-memory.h
include/qemu/plugin.h
include/qemu/pmem.h
include/qemu/processor.h
include/qemu/progress_meter.h
include/qemu/qdist.h
include/qemu/qemu-plugin.h
include/qemu/qemu-progress.h
include/qemu/qht.h
include/qemu/qsp.h
include/qemu/qtree.h
include/qemu/queue.h
include/qemu/range.h
include/qemu/ratelimit.h
include/qemu/readline.h
include/qemu/reserved-region.h
include/qemu/s390x_pci_mmio.h
include/qemu/selfmap.h
include/qemu/seqlock.h
include/qemu/stats64.h
include/qemu/sys_membarrier.h
include/qemu/systemd.h
include/qemu/thread-context.h
include/qemu/thread.h
include/qemu/timed-average.h
include/qemu/timer.h
include/qemu/tsan.h
include/qemu/typedefs.h
include/qemu/unicode.h
include/qemu/units.h
include/qemu/vfio-helpers.h
include/qemu/xattr.h
include/qemu/xxhash.h
include/system/address-spaces.h
include/system/arch_init.h
include/system/blockdev.h
include/system/confidential-guest-support.h
include/system/cpu-throttle.h
include/system/cpu-timers-internal.h
include/system/cpu-timers.h
include/system/dma.h
include/system/event-loop-base.h
include/system/hw_accel.h
include/system/iothread.h
include/system/mshv_int.h
include/system/rtc.h
include/system/stats.h
include/system/system.h
include/system/watchdog.h
iothread.c
libdecnumber/decContext.c
libdecnumber/decNumber.c
libdecnumber/dpd/decimal128.c
libdecnumber/dpd/decimal32.c
libdecnumber/dpd/decimal64.c
libdecnumber/meson.build
module-common.c
monitor/fds.c
monitor/meson.build
monitor/qemu-config-qmp.c
monitor/trace-events
monitor/trace.h
pc-bios/QEMU,cgthree.bin
pc-bios/QEMU,tcx.bin
pc-bios/README
pc-bios/bios-256k.bin
pc-bios/bios.bin
pc-bios/descriptors/meson.build
pc-bios/dtb/bamboo.dtb
pc-bios/dtb/bamboo.dts
pc-bios/dtb/meson.build
pc-bios/dtb/petalogix-ml605.dtb
pc-bios/dtb/petalogix-ml605.dts
pc-bios/dtb/petalogix-s3adsp1800.dtb
pc-bios/dtb/petalogix-s3adsp1800.dts
pc-bios/efi-e1000.rom
pc-bios/efi-e1000e.rom
pc-bios/efi-eepro100.rom
pc-bios/efi-ne2k_pci.rom
pc-bios/efi-pcnet.rom
pc-bios/efi-rtl8139.rom
pc-bios/efi-virtio.rom
pc-bios/hppa-firmware64.img
pc-bios/keymaps/ar
pc-bios/keymaps/bepo
pc-bios/keymaps/cz
pc-bios/keymaps/da
pc-bios/keymaps/de
pc-bios/keymaps/de-ch
pc-bios/keymaps/en-gb
pc-bios/keymaps/en-us
pc-bios/keymaps/es
pc-bios/keymaps/et
pc-bios/keymaps/fi
pc-bios/keymaps/fo
pc-bios/keymaps/fr
pc-bios/keymaps/fr-be
pc-bios/keymaps/fr-ca
pc-bios/keymaps/fr-ch
pc-bios/keymaps/hr
pc-bios/keymaps/hu
pc-bios/keymaps/is
pc-bios/keymaps/it
pc-bios/keymaps/ja
pc-bios/keymaps/lt
pc-bios/keymaps/lv
pc-bios/keymaps/meson.build
pc-bios/keymaps/mk
pc-bios/keymaps/nl
pc-bios/keymaps/no
pc-bios/keymaps/pl
pc-bios/keymaps/pt
pc-bios/keymaps/pt-br
pc-bios/keymaps/ru
pc-bios/keymaps/sl
pc-bios/keymaps/sv
pc-bios/keymaps/th
pc-bios/keymaps/tr
pc-bios/kvmvapic.bin
pc-bios/linuxboot.bin
pc-bios/linuxboot_dma.bin
pc-bios/meson.build
pc-bios/multiboot.bin
pc-bios/multiboot_dma.bin
pc-bios/openbios-ppc
pc-bios/optionrom/Makefile
pc-bios/optionrom/flat.lds
pc-bios/optionrom/linuxboot.S
pc-bios/optionrom/linuxboot_dma.c
pc-bios/optionrom/multiboot.S
pc-bios/optionrom/multiboot_dma.S
pc-bios/optionrom/optionrom.h
pc-bios/optionrom/optrom.h
pc-bios/optionrom/optrom_fw_cfg.h
pc-bios/optionrom/pvh.S
pc-bios/optionrom/pvh_main.c
pc-bios/palcode-clipper
pc-bios/pvh.bin
pc-bios/pxe-e1000.rom
pc-bios/pxe-eepro100.rom
pc-bios/pxe-ne2k_pci.rom
pc-bios/pxe-pcnet.rom
pc-bios/pxe-rtl8139.rom
pc-bios/pxe-virtio.rom
pc-bios/qboot.rom
pc-bios/qemu-nsis.bmp
pc-bios/qemu-nsis.ico
pc-bios/qemu.rsrc
pc-bios/qemu_logo.svg
pc-bios/u-boot-sam460.bin
pc-bios/vgabios-ati.bin
pc-bios/vgabios-bochs-display.bin
pc-bios/vgabios-cirrus.bin
pc-bios/vgabios-qxl.bin
pc-bios/vgabios-ramfb.bin
pc-bios/vgabios-stdvga.bin
pc-bios/vgabios-virtio.bin
pc-bios/vgabios.bin
po/LINGUAS
po/POTFILES
po/bg.po
po/de_DE.po
po/fr_FR.po
po/hu.po
po/it.po
po/meson.build
po/sv.po
po/tr.po
po/uk.po
po/zh_CN.po
qemu-keymap.c
qemu-options.hx
roms/Makefile
roms/QemuMacDrivers
roms/SLOF
roms/config.seabios-128k
roms/config.seabios-256k
roms/config.seabios-microvm
roms/config.vga-ati
roms/config.vga-bochs-display
roms/config.vga-cirrus
roms/config.vga-isavga
roms/config.vga-qxl
roms/config.vga-ramfb
roms/config.vga-stdvga
roms/config.vga-virtio
roms/configure-seabios.sh
roms/ipxe
roms/openbios
roms/opensbi
roms/qboot
roms/qemu-palcode
roms/seabios
roms/skiboot
roms/u-boot
scripts/analyze-inclusions
scripts/checkpatch.pl
scripts/clean-header-guards.pl
scripts/clean-includes
scripts/cleanup-trace-events.pl
scripts/cocci-macro-file.h
scripts/coccinelle/cpu-reset.cocci
scripts/coccinelle/cpu_restore_state.cocci
scripts/coccinelle/device-reset.cocci
scripts/coccinelle/exec_rw_const.cocci
scripts/coccinelle/inplace-byteswaps.cocci
scripts/coccinelle/overflow_muldiv64.cocci
scripts/coccinelle/remove_muldiv64.cocci
scripts/coccinelle/reset-type.cocci
scripts/coccinelle/return_directly.cocci
scripts/coccinelle/round.cocci
scripts/coccinelle/simplify_muldiv64.cocci
scripts/coccinelle/swap_muldiv64.cocci
scripts/coccinelle/tcg_gen_extract.cocci
scripts/coccinelle/timer-del-timer-free.cocci
scripts/coccinelle/typecast.cocci
scripts/coccinelle/use-g_new-etc.cocci
scripts/device-crash-test
scripts/disas-objdump.pl
scripts/extract-vsssdk-headers
scripts/fix-multiline-comments.sh
scripts/get_maintainer.pl
scripts/git.orderfile
scripts/hxtool
scripts/make-config-poison.sh
scripts/make-release
scripts/meson.build
scripts/mkemmc.sh
scripts/modules/module_block.py
scripts/qemu-version.sh
scripts/qemugdb/__init__.py
scripts/qemugdb/coroutine.py
scripts/qemugdb/mtree.py
scripts/qemugdb/tcg.py
scripts/qemugdb/timers.py
scripts/refresh-pxe-roms.sh
scripts/rust-to-clang-target-test.sh
scripts/rust-to-clang-target.sh
stats/meson.build
stats/stats-hmp-cmds.c
stats/stats-qmp-cmds.c
subprojects/.gitignore
subprojects/anyhow-1-rs.wrap
subprojects/arbitrary-int-1-rs.wrap
subprojects/attrs-0.2-rs.wrap
subprojects/berkeley-softfloat-3.wrap
subprojects/berkeley-testfloat-3.wrap
subprojects/bilge-0.2-rs.wrap
subprojects/bilge-impl-0.2-rs.wrap
subprojects/dtc.wrap
subprojects/either-1-rs.wrap
subprojects/foreign-0.3-rs.wrap
subprojects/glib-sys-0.21-rs.wrap
subprojects/itertools-0.11-rs.wrap
subprojects/keycodemapdb.wrap
subprojects/libblkio.wrap
subprojects/libc-0.2-rs.wrap
subprojects/libvfio-user.wrap
subprojects/packagefiles/anyhow-1-rs/meson.build
subprojects/packagefiles/arbitrary-int-1-rs/meson.build
subprojects/packagefiles/attrs-0.2-rs/meson.build
subprojects/packagefiles/berkeley-softfloat-3/meson.build
subprojects/packagefiles/berkeley-softfloat-3/meson_options.txt
subprojects/packagefiles/berkeley-testfloat-3/meson.build
subprojects/packagefiles/berkeley-testfloat-3/meson_options.txt
subprojects/packagefiles/bilge-0.2-rs/meson.build
subprojects/packagefiles/bilge-impl-0.2-rs/meson.build
subprojects/packagefiles/either-1-rs/meson.build
subprojects/packagefiles/foreign-0.3-rs/meson.build
subprojects/packagefiles/glib-sys-0.21-rs/meson.build
subprojects/packagefiles/itertools-0.11-rs/meson.build
subprojects/packagefiles/libc-0.2-rs/meson.build
subprojects/packagefiles/proc-macro-error-1-rs/meson.build
subprojects/packagefiles/proc-macro-error-attr-1-rs/meson.build
subprojects/packagefiles/proc-macro2-1-rs/meson.build
subprojects/packagefiles/quote-1-rs/meson.build
subprojects/packagefiles/syn-2-rs/meson.build
subprojects/packagefiles/unicode-ident-1-rs/meson.build
subprojects/proc-macro-error-1-rs.wrap
subprojects/proc-macro-error-attr-1-rs.wrap
subprojects/proc-macro2-1-rs.wrap
subprojects/quote-1-rs.wrap
subprojects/slirp.wrap
subprojects/syn-2-rs.wrap
subprojects/unicode-ident-1-rs.wrap
system/arch_init.c
system/async-teardown.c
system/datadir.c
system/device_tree-stub.c
system/exit-with-parent.c
system/globals-target.c
system/globals.c
system/memory_ldst.c.inc
system/meson.build
system/rtc.c
system/trace-events
system/trace.h
target/i386/trace-events
target/meson.build
tests/bench/atomic64-bench.c
tests/bench/atomic_add-bench.c
tests/bench/bufferiszero-bench.c
tests/bench/meson.build
tests/bench/qht-bench.c
tests/bench/qtree-bench.c
tests/bench/test_akcipher_keys.c.inc
tests/data/smbios/type11_blob
tests/data/smbios/type11_blob.legacy
tests/dbus-vmstate-daemon.sh
tests/functional/aarch64/meson.build
tests/functional/acpi-bits/bits-config/bits-cfg.txt
tests/functional/acpi-bits/bits-tests/smbios.py2
tests/functional/acpi-bits/bits-tests/smilatency.py2
tests/functional/acpi-bits/bits-tests/testacpi.py2
tests/functional/acpi-bits/bits-tests/testcpuid.py2
tests/functional/arm/meson.build
tests/functional/arm/test_max78000fthr.py
tests/functional/generic/meson.build
tests/functional/loongarch64/meson.build
tests/functional/m68k/meson.build
tests/functional/meson.build
tests/functional/microblaze/meson.build
tests/functional/microblazeel/meson.build
tests/functional/mips/meson.build
tests/functional/mips64/meson.build
tests/functional/mips64el/meson.build
tests/functional/mipsel/meson.build
tests/functional/or1k/meson.build
tests/functional/ppc/meson.build
tests/functional/ppc64/meson.build
tests/functional/rx/meson.build
tests/functional/sh4/meson.build
tests/functional/sh4eb/meson.build
tests/functional/sparc/meson.build
tests/functional/sparc64/meson.build
tests/functional/xtensa/meson.build
tests/guest-debug/run-test.py
tests/guest-debug/test_gdbstub.py
tests/include/meson.build
tests/keys/README
tests/keys/id_rsa
tests/keys/id_rsa.pub
tests/keys/vagrant
tests/keys/vagrant.pub
tests/meson.build
tests/multiboot/Makefile
tests/multiboot/aout_kludge.S
tests/multiboot/aout_kludge.out
tests/multiboot/libc.c
tests/multiboot/libc.h
tests/multiboot/link.ld
tests/multiboot/mmap.c
tests/multiboot/mmap.out
tests/multiboot/module.txt
tests/multiboot/modules.c
tests/multiboot/modules.out
tests/multiboot/multiboot.h
tests/multiboot/run_test.sh
tests/multiboot/start.S
tests/perf/block/qcow2/convert-blockstatus
tests/tcg/README
tests/tcg/aarch64_be/Makefile.target
tests/tcg/aarch64_be/hello.c
tests/tcg/minilib/Makefile.target
tests/tcg/minilib/minilib.h
tests/tcg/minilib/printf.c
tests/test-qht-par.c
tests/tsan/ignore.tsan
tests/tsan/suppressions.tsan
tests/unit/io-channel-helpers.c
tests/unit/io-channel-helpers.h
tests/unit/iothread.c
tests/unit/iothread.h
tests/unit/meson.build
tests/unit/ptimer-test-stubs.c
tests/unit/ptimer-test.c
tests/unit/ptimer-test.h
tests/unit/socket-helpers.c
tests/unit/socket-helpers.h
tests/unit/test-aio-multithread.c
tests/unit/test-aio.c
tests/unit/test-base64.c
tests/unit/test-bdrv-drain.c
tests/unit/test-bdrv-graph-mod.c
tests/unit/test-bitcnt.c
tests/unit/test-bitmap.c
tests/unit/test-bitops.c
tests/unit/test-block-backend.c
tests/unit/test-block-iothread.c
tests/unit/test-blockjob-txn.c
tests/unit/test-blockjob.c
tests/unit/test-bufferiszero.c
tests/unit/test-char.c
tests/unit/test-cutils.c
tests/unit/test-div128.c
tests/unit/test-error-report.c
tests/unit/test-fifo.c
tests/unit/test-image-locking.c
tests/unit/test-int128.c
tests/unit/test-interval-tree.c
tests/unit/test-iov.c
tests/unit/test-logging.c
tests/unit/test-mul64.c
tests/unit/test-nested-aio-poll.c
tests/unit/test-qdist.c
tests/unit/test-qgraph.c
tests/unit/test-qht.c
tests/unit/test-qtree.c
tests/unit/test-resv-mem.c
tests/unit/test-shift128.c
tests/unit/test-thread-pool.c
tests/unit/test-timed-average.c
tests/unit/test-util-sockets.c
tests/unit/test-vmstate.c
tests/unit/test-write-threshold.c
tests/unit/test-xbzrle.c
tests/unit/test-xs-node.c
tests/vhost-user-bridge.c
tools/meson.build
util/aiocb.c
util/atomic64.c
util/base64.c
util/bitmap.c
util/bitops.c
util/block-helpers.c
util/block-helpers.h
util/bufferiszero.c
util/compatfd.c
util/crc-ccitt.c
util/crc32c.c
util/cutils.c
util/envlist.c
util/event.c
util/fifo8.c
util/getauxval.c
util/guest-random.c
util/hexdump.c
util/host-utils.c
util/id.c
util/int128.c
util/interval-tree.c
util/iov.c
util/log.c
util/memalign.c
util/memfd.c
util/meson.build
util/mmap-alloc.c
util/module.c
util/notify.c
util/nvdimm-utils.c
util/osdep.c
util/path.c
util/qdist.c
util/qemu-co-timeout.c
util/qemu-config.c
util/qemu-thread-common.h
util/qht.c
util/qsp.c
util/qtree.c
util/range.c
util/readline.c
util/reserved-region.c
util/s390x_pci_mmio.c
util/selfmap.c
util/stats64.c
util/sys_membarrier.c
util/systemd.c
util/thread-context.c
util/thread-pool.c
util/timed-average.c
util/trace-events
util/trace.h
util/unicode.c
version.rc



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Report on MAINTAINERS coverage
  2025-12-18 12:45 Report on MAINTAINERS coverage Markus Armbruster
@ 2025-12-18 12:55 ` Daniel P. Berrangé
  2025-12-18 13:37   ` Markus Armbruster
  2025-12-18 15:57 ` Stefan Weil via
  1 sibling, 1 reply; 12+ messages in thread
From: Daniel P. Berrangé @ 2025-12-18 12:55 UTC (permalink / raw)
  To: Markus Armbruster; +Cc: qemu-devel

On Thu, Dec 18, 2025 at 01:45:24PM +0100, Markus Armbruster wrote:
> Which unmaintained files are we still changing?  Unmaintained files
> sorted by number of commits in the past year (since v9.2.0):
> 
>     $ for i in `cat unmaintained-files`; do echo -n "$i "; git-rev-list v9.2.0.. $i | wc -l; done | awk '{ printf "%7d %s\n", $2, $1 }' | sort -rn
> 
>     107 tests/functional/meson.build

Opps, that's a mistake. It should of course be under the
general maint heading "Functional testing framework"


With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Report on MAINTAINERS coverage
  2025-12-18 12:55 ` Daniel P. Berrangé
@ 2025-12-18 13:37   ` Markus Armbruster
  2025-12-18 13:49     ` Daniel P. Berrangé
  0 siblings, 1 reply; 12+ messages in thread
From: Markus Armbruster @ 2025-12-18 13:37 UTC (permalink / raw)
  To: Daniel P. Berrangé; +Cc: Markus Armbruster, qemu-devel

Daniel P. Berrangé <berrange@redhat.com> writes:

> On Thu, Dec 18, 2025 at 01:45:24PM +0100, Markus Armbruster wrote:
>> Which unmaintained files are we still changing?  Unmaintained files
>> sorted by number of commits in the past year (since v9.2.0):
>> 
>>     $ for i in `cat unmaintained-files`; do echo -n "$i "; git-rev-list v9.2.0.. $i | wc -l; done | awk '{ printf "%7d %s\n", $2, $1 }' | sort -rn
>> 
>>     107 tests/functional/meson.build
>
> Opps, that's a mistake. It should of course be under the
> general maint heading "Functional testing framework"

Thanks!  I can patch that.

What about the other uncovered files in tests/functional/?

tests/functional/aarch64/meson.build
tests/functional/acpi-bits/bits-config/bits-cfg.txt
tests/functional/acpi-bits/bits-tests/smbios.py2
tests/functional/acpi-bits/bits-tests/smilatency.py2
tests/functional/acpi-bits/bits-tests/testacpi.py2
tests/functional/acpi-bits/bits-tests/testcpuid.py2
tests/functional/arm/meson.build
tests/functional/arm/test_max78000fthr.py
tests/functional/generic/meson.build
tests/functional/loongarch64/meson.build
tests/functional/m68k/meson.build
tests/functional/meson.build
tests/functional/microblaze/meson.build
tests/functional/microblazeel/meson.build
tests/functional/mips/meson.build
tests/functional/mips64/meson.build
tests/functional/mips64el/meson.build
tests/functional/mipsel/meson.build
tests/functional/or1k/meson.build
tests/functional/ppc/meson.build
tests/functional/ppc64/meson.build
tests/functional/rx/meson.build
tests/functional/sh4/meson.build
tests/functional/sh4eb/meson.build
tests/functional/sparc/meson.build
tests/functional/sparc64/meson.build
tests/functional/xtensa/meson.build



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Report on MAINTAINERS coverage
  2025-12-18 13:37   ` Markus Armbruster
@ 2025-12-18 13:49     ` Daniel P. Berrangé
  2025-12-18 14:06       ` Thomas Huth
  0 siblings, 1 reply; 12+ messages in thread
From: Daniel P. Berrangé @ 2025-12-18 13:49 UTC (permalink / raw)
  To: Markus Armbruster, Thomas Huth; +Cc: qemu-devel

On Thu, Dec 18, 2025 at 02:37:43PM +0100, Markus Armbruster wrote:
> Daniel P. Berrangé <berrange@redhat.com> writes:
> 
> > On Thu, Dec 18, 2025 at 01:45:24PM +0100, Markus Armbruster wrote:
> >> Which unmaintained files are we still changing?  Unmaintained files
> >> sorted by number of commits in the past year (since v9.2.0):
> >> 
> >>     $ for i in `cat unmaintained-files`; do echo -n "$i "; git-rev-list v9.2.0.. $i | wc -l; done | awk '{ printf "%7d %s\n", $2, $1 }' | sort -rn
> >> 
> >>     107 tests/functional/meson.build
> >
> > Opps, that's a mistake. It should of course be under the
> > general maint heading "Functional testing framework"
> 
> Thanks!  I can patch that.
> 
> What about the other uncovered files in tests/functional/?

> tests/functional/aarch64/meson.build

[snip many more]

I'd wildcard   tests/functional/*/meson.build under the
general maint.

> tests/functional/acpi-bits/bits-config/bits-cfg.txt
> tests/functional/acpi-bits/bits-tests/smbios.py2
> tests/functional/acpi-bits/bits-tests/smilatency.py2
> tests/functional/acpi-bits/bits-tests/testacpi.py2
> tests/functional/acpi-bits/bits-tests/testcpuid.py2

I expected those to already be covered by:

  ACPI/FUNCTIONAL/BIOSBITS
  M: Ani Sinha <anisinha@redhat.com>
  M: Michael S. Tsirkin <mst@redhat.com>
  S: Supported
  F: tests/functional/acpi-bits/*
  F: tests/functional/x86_64/test_acpi_bits.py
  F: docs/devel/testing/acpi-bits.rst

but I guess tests/functional/acpi-bits/*  doesn't recurse
into subdirs ?

> tests/functional/arm/test_max78000fthr.py

Added by Thomas but not sure what maintainers category it should go
under.

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Report on MAINTAINERS coverage
  2025-12-18 13:49     ` Daniel P. Berrangé
@ 2025-12-18 14:06       ` Thomas Huth
  2025-12-18 14:12         ` Daniel P. Berrangé
  2025-12-18 15:25         ` Markus Armbruster
  0 siblings, 2 replies; 12+ messages in thread
From: Thomas Huth @ 2025-12-18 14:06 UTC (permalink / raw)
  To: Daniel P. Berrangé, Markus Armbruster; +Cc: qemu-devel

On 18/12/2025 14.49, Daniel P. Berrangé wrote:
> On Thu, Dec 18, 2025 at 02:37:43PM +0100, Markus Armbruster wrote:
>> Daniel P. Berrangé <berrange@redhat.com> writes:
>>
>>> On Thu, Dec 18, 2025 at 01:45:24PM +0100, Markus Armbruster wrote:
>>>> Which unmaintained files are we still changing?  Unmaintained files
>>>> sorted by number of commits in the past year (since v9.2.0):
>>>>
>>>>      $ for i in `cat unmaintained-files`; do echo -n "$i "; git-rev-list v9.2.0.. $i | wc -l; done | awk '{ printf "%7d %s\n", $2, $1 }' | sort -rn
>>>>
>>>>      107 tests/functional/meson.build
>>>
>>> Opps, that's a mistake. It should of course be under the
>>> general maint heading "Functional testing framework"
>>
>> Thanks!  I can patch that.
>>
>> What about the other uncovered files in tests/functional/?
> 
>> tests/functional/aarch64/meson.build
> 
> [snip many more]
> 
> I'd wildcard   tests/functional/*/meson.build under the
> general maint.

Either that, or make sure the the architecture maintainers own the whole 
tests/functional/<arch> folders.

>> tests/functional/acpi-bits/bits-config/bits-cfg.txt
>> tests/functional/acpi-bits/bits-tests/smbios.py2
>> tests/functional/acpi-bits/bits-tests/smilatency.py2
>> tests/functional/acpi-bits/bits-tests/testacpi.py2
>> tests/functional/acpi-bits/bits-tests/testcpuid.py2
> 
> I expected those to already be covered by:
> 
>    ACPI/FUNCTIONAL/BIOSBITS
>    M: Ani Sinha <anisinha@redhat.com>
>    M: Michael S. Tsirkin <mst@redhat.com>
>    S: Supported
>    F: tests/functional/acpi-bits/*
>    F: tests/functional/x86_64/test_acpi_bits.py
>    F: docs/devel/testing/acpi-bits.rst
> 
> but I guess tests/functional/acpi-bits/*  doesn't recurse
> into subdirs ?

I think we simply have to drop the "*" at the end here.

>> tests/functional/arm/test_max78000fthr.py
> 
> Added by Thomas but not sure what maintainers category it should go
> under.

No, I just moved the file around. This belongs to the "max78000fthr" arm 
machine - we need a complete new entry in MAINTAINERS for that one if I get 
this right.

  Thomas



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Report on MAINTAINERS coverage
  2025-12-18 14:06       ` Thomas Huth
@ 2025-12-18 14:12         ` Daniel P. Berrangé
  2025-12-18 14:17           ` Thomas Huth
  2025-12-18 15:25         ` Markus Armbruster
  1 sibling, 1 reply; 12+ messages in thread
From: Daniel P. Berrangé @ 2025-12-18 14:12 UTC (permalink / raw)
  To: Thomas Huth; +Cc: Markus Armbruster, qemu-devel

On Thu, Dec 18, 2025 at 03:06:00PM +0100, Thomas Huth wrote:
> On 18/12/2025 14.49, Daniel P. Berrangé wrote:
> > On Thu, Dec 18, 2025 at 02:37:43PM +0100, Markus Armbruster wrote:
> > > Daniel P. Berrangé <berrange@redhat.com> writes:
> > > 
> > > > On Thu, Dec 18, 2025 at 01:45:24PM +0100, Markus Armbruster wrote:
> > > > > Which unmaintained files are we still changing?  Unmaintained files
> > > > > sorted by number of commits in the past year (since v9.2.0):
> > > > > 
> > > > >      $ for i in `cat unmaintained-files`; do echo -n "$i "; git-rev-list v9.2.0.. $i | wc -l; done | awk '{ printf "%7d %s\n", $2, $1 }' | sort -rn
> > > > > 
> > > > >      107 tests/functional/meson.build
> > > > 
> > > > Opps, that's a mistake. It should of course be under the
> > > > general maint heading "Functional testing framework"
> > > 
> > > Thanks!  I can patch that.
> > > 
> > > What about the other uncovered files in tests/functional/?
> > 
> > > tests/functional/aarch64/meson.build
> > 
> > [snip many more]
> > 
> > I'd wildcard   tests/functional/*/meson.build under the
> > general maint.
> 
> Either that, or make sure the the architecture maintainers own the whole
> tests/functional/<arch> folders.

Yeah, its a 50/50 decision from my POV. Most of the content is
just a mechanical listing of test files, but there's some level
of thought in the appropriate test timeouts which might push
towards the arch maintainers owning it.


With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Report on MAINTAINERS coverage
  2025-12-18 14:12         ` Daniel P. Berrangé
@ 2025-12-18 14:17           ` Thomas Huth
  0 siblings, 0 replies; 12+ messages in thread
From: Thomas Huth @ 2025-12-18 14:17 UTC (permalink / raw)
  To: Daniel P. Berrangé; +Cc: Markus Armbruster, qemu-devel

On 18/12/2025 15.12, Daniel P. Berrangé wrote:
> On Thu, Dec 18, 2025 at 03:06:00PM +0100, Thomas Huth wrote:
>> On 18/12/2025 14.49, Daniel P. Berrangé wrote:
>>> On Thu, Dec 18, 2025 at 02:37:43PM +0100, Markus Armbruster wrote:
>>>> Daniel P. Berrangé <berrange@redhat.com> writes:
>>>>
>>>>> On Thu, Dec 18, 2025 at 01:45:24PM +0100, Markus Armbruster wrote:
>>>>>> Which unmaintained files are we still changing?  Unmaintained files
>>>>>> sorted by number of commits in the past year (since v9.2.0):
>>>>>>
>>>>>>       $ for i in `cat unmaintained-files`; do echo -n "$i "; git-rev-list v9.2.0.. $i | wc -l; done | awk '{ printf "%7d %s\n", $2, $1 }' | sort -rn
>>>>>>
>>>>>>       107 tests/functional/meson.build
>>>>>
>>>>> Opps, that's a mistake. It should of course be under the
>>>>> general maint heading "Functional testing framework"
>>>>
>>>> Thanks!  I can patch that.
>>>>
>>>> What about the other uncovered files in tests/functional/?
>>>
>>>> tests/functional/aarch64/meson.build
>>>
>>> [snip many more]
>>>
>>> I'd wildcard   tests/functional/*/meson.build under the
>>> general maint.
>>
>> Either that, or make sure the the architecture maintainers own the whole
>> tests/functional/<arch> folders.
> 
> Yeah, its a 50/50 decision from my POV. Most of the content is
> just a mechanical listing of test files, but there's some level
> of thought in the appropriate test timeouts which might push
> towards the arch maintainers owning it.

Thinking about it twice, the file is often only changed when adding new 
tests, so that's not related to the generic functional framework, thus the 
meson files in the architecture sub-folders should be owned by the 
architecture maintainers.

  Thomas



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Report on MAINTAINERS coverage
  2025-12-18 14:06       ` Thomas Huth
  2025-12-18 14:12         ` Daniel P. Berrangé
@ 2025-12-18 15:25         ` Markus Armbruster
  2025-12-18 16:08           ` Thomas Huth
  1 sibling, 1 reply; 12+ messages in thread
From: Markus Armbruster @ 2025-12-18 15:25 UTC (permalink / raw)
  To: Thomas Huth; +Cc: Daniel P. Berrangé, qemu-devel

Thomas Huth <thuth@redhat.com> writes:

> On 18/12/2025 14.49, Daniel P. Berrangé wrote:
>> On Thu, Dec 18, 2025 at 02:37:43PM +0100, Markus Armbruster wrote:
>>> Daniel P. Berrangé <berrange@redhat.com> writes:
>>>
>>>> On Thu, Dec 18, 2025 at 01:45:24PM +0100, Markus Armbruster wrote:
>>>>> Which unmaintained files are we still changing?  Unmaintained files
>>>>> sorted by number of commits in the past year (since v9.2.0):
>>>>>
>>>>>      $ for i in `cat unmaintained-files`; do echo -n "$i "; git-rev-list v9.2.0.. $i | wc -l; done | awk '{ printf "%7d %s\n", $2, $1 }' | sort -rn
>>>>>
>>>>>      107 tests/functional/meson.build
>>>>
>>>> Opps, that's a mistake. It should of course be under the
>>>> general maint heading "Functional testing framework"
>>>
>>> Thanks!  I can patch that.
>>>
>>> What about the other uncovered files in tests/functional/?
>> 
>>> tests/functional/aarch64/meson.build
>> 
>> [snip many more]
>> 
>> I'd wildcard   tests/functional/*/meson.build under the
>> general maint.
>
> Either that, or make sure the the architecture maintainers own the whole 
> tests/functional/<arch> folders.

The former is easy.  Regarding the latter...

The MAINTAINERS section we use to cover an architecture is often less
than obvious.

meson.build under tests/functional/ covered so far:

    tests/functional/alpha/meson.build      Alpha TCG CPUs
    tests/functional/avr/meson.build        AVR TCG CPUs
    tests/functional/hppa/meson.build       HP B160L, HP C3700
    tests/functional/i386/meson.build       X86 general architecture support
    tests/functional/riscv32/meson.build    RISC-V TCG CPUs
    tests/functional/riscv64/meson.build    RISC-V TCG CPUs
    tests/functional/s390x/meson.build      S390 Virtio-ccw
    tests/functional/x86_64/meson.build     X86 general architecture support

We have "$ARCH general architecture support" (obvious enough), "$ARCH
TCG CPUs" (meh), and even machine sections that happen to be the only
one of this architecture in MAINTAINERS (meh^2).

Thomas, should tests/functional/s390x/meson.build move to "S390 general
architecture support"?

Not covered:

    tests/functional/aarch64/meson.build
    tests/functional/arm/meson.build

        There is no ARM general architecture support section.  Add these
        to ARM TCG CPUs?

    tests/functional/generic/meson.build

        Functional testing framework?

    tests/functional/loongarch64/meson.build

        LoongArch TCG CPUs?

    tests/functional/m68k/meson.build

        M68K TCG CPUs?

    tests/functional/meson.build

        Functional testing framework, as discussed above.

    tests/functional/microblaze/meson.build
    tests/functional/microblazeel/meson.build

        MicroBlaze TCG CPUs?

    tests/functional/mips/meson.build
    tests/functional/mips64/meson.build
    tests/functional/mips64el/meson.build
    tests/functional/mipsel/meson.build

        We have MIPS general architecture support.  I guess we can add
        them there.

    tests/functional/or1k/meson.build

        OpenRISC TCG CPUs?

    tests/functional/ppc/meson.build
    tests/functional/ppc64/meson.build

        PowerPC TCG CPUs?

    tests/functional/rx/meson.build

        RENESAS RX CPUs?

    tests/functional/sh4/meson.build
    tests/functional/sh4eb/meson.build

        SH4 TCG CPUs?

    tests/functional/sparc/meson.build
    tests/functional/sparc64/meson.build

        SPARC TCG CPUs?

    tests/functional/xtensa/meson.build

        Xtensa TCG CPUs?

>>> tests/functional/acpi-bits/bits-config/bits-cfg.txt
>>> tests/functional/acpi-bits/bits-tests/smbios.py2
>>> tests/functional/acpi-bits/bits-tests/smilatency.py2
>>> tests/functional/acpi-bits/bits-tests/testacpi.py2
>>> tests/functional/acpi-bits/bits-tests/testcpuid.py2
>> 
>> I expected those to already be covered by:
>> 
>>    ACPI/FUNCTIONAL/BIOSBITS
>>    M: Ani Sinha <anisinha@redhat.com>
>>    M: Michael S. Tsirkin <mst@redhat.com>
>>    S: Supported
>>    F: tests/functional/acpi-bits/*
>>    F: tests/functional/x86_64/test_acpi_bits.py
>>    F: docs/devel/testing/acpi-bits.rst
>> 
>> but I guess tests/functional/acpi-bits/*  doesn't recurse
>> into subdirs ?
>
> I think we simply have to drop the "*" at the end here.

Yes, that does the trick.

>>> tests/functional/arm/test_max78000fthr.py
>> 
>> Added by Thomas but not sure what maintainers category it should go
>> under.
>
> No, I just moved the file around. This belongs to the "max78000fthr" arm 
> machine - we need a complete new entry in MAINTAINERS for that one if I get 
> this right.

Which files?  My best guess based on git history:

    docs/system/arm/max78000.rst
    hw/misc/max78000_aes.c
    hw/misc/max78000_gcr.c
    hw/misc/max78000_icc.c
    hw/misc/max78000_trng.c
    include/hw/arm/max78000_soc.h
    include/hw/misc/max78000_aes.h
    include/hw/misc/max78000_gcr.h
    include/hw/misc/max78000_icc.h
    include/hw/misc/max78000_trng.h
    tests/functional/arm/test_max78000fthr.py

All by Jackson Donaldson <jackson88044@gmail.com>.



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Report on MAINTAINERS coverage
  2025-12-18 12:45 Report on MAINTAINERS coverage Markus Armbruster
  2025-12-18 12:55 ` Daniel P. Berrangé
@ 2025-12-18 15:57 ` Stefan Weil via
  2025-12-19  7:44   ` Markus Armbruster
  1 sibling, 1 reply; 12+ messages in thread
From: Stefan Weil via @ 2025-12-18 15:57 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel

Am 18.12.25 um 13:45 schrieb Markus Armbruster:
> Back in 2014 (time flies), I posted
> 
>      Subject: MAINTAINERS leaves too many files uncovered
>      Message-ID: <87mw8rumhb.fsf@blackfin.pond.sub.org>
>      https://lore.kernel.org/qemu-devel/87mw8rumhb.fsf@blackfin.pond.sub.org/
> 
> I updated my findings in 2015, 2016 (at commit e00da552a0d), 2018 (at
> v3.1.0-rc2), and 2023 (at commit 36e9aab3c56, close to v8.2.0).  This is
> another update, at v10.2.0-rc4.


These two files were contributed by me and most of my initial code is 
still unmodified, so I could be added as their maintainer:

hw/nvram/eeprom93xx.c
include/hw/nvram/eeprom93xx.h

I had two contributions to the eeprom93xx.c (one made by Thiemo in my 
name). Other authors had also two or more contributions:

       2 Author: Alex Williamson <alex@shazbot.org>
       2 Author: Anthony Liguori <anthony@codemonkey.ws>
       2 Author: Aurelien Jarno <aurelien@aurel32.net>
       2 Author: Marc-André Lureau <marcandre.lureau@redhat.com>
       3 Author: Blue Swirl <blauwirbel@gmail.com>
       3 Author: Juan Quintela <quintela@trasno.org>
       3 Author: Paolo Bonzini <pbonzini@redhat.com>
       5 Author: Markus Armbruster <armbru@redhat.com>

I am not sure about the desired order in MAINTAINERS. Therefore I don't 
intend to send a patch but would be happy if someone else updates this file.

For the other files which are von covered by MAINTAINERS, the copyright 
notice might help to find possible maintainers:

grep --no-filename -r -o "Copyright.*" $(cat FILELIST)|sort -i|uniq -ci

Thanks
Stefan W.



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Report on MAINTAINERS coverage
  2025-12-18 15:25         ` Markus Armbruster
@ 2025-12-18 16:08           ` Thomas Huth
  2025-12-19  8:43             ` Markus Armbruster
  0 siblings, 1 reply; 12+ messages in thread
From: Thomas Huth @ 2025-12-18 16:08 UTC (permalink / raw)
  To: Markus Armbruster; +Cc: Daniel P. Berrangé, qemu-devel

On 18/12/2025 16.25, Markus Armbruster wrote:
> Thomas Huth <thuth@redhat.com> writes:
> 
>> On 18/12/2025 14.49, Daniel P. Berrangé wrote:
>>> On Thu, Dec 18, 2025 at 02:37:43PM +0100, Markus Armbruster wrote:
>>>> Daniel P. Berrangé <berrange@redhat.com> writes:
>>>>
>>>>> On Thu, Dec 18, 2025 at 01:45:24PM +0100, Markus Armbruster wrote:
>>>>>> Which unmaintained files are we still changing?  Unmaintained files
>>>>>> sorted by number of commits in the past year (since v9.2.0):
>>>>>>
>>>>>>       $ for i in `cat unmaintained-files`; do echo -n "$i "; git-rev-list v9.2.0.. $i | wc -l; done | awk '{ printf "%7d %s\n", $2, $1 }' | sort -rn
>>>>>>
>>>>>>       107 tests/functional/meson.build
>>>>>
>>>>> Opps, that's a mistake. It should of course be under the
>>>>> general maint heading "Functional testing framework"
>>>>
>>>> Thanks!  I can patch that.
>>>>
>>>> What about the other uncovered files in tests/functional/?
>>>
>>>> tests/functional/aarch64/meson.build
>>>
>>> [snip many more]
>>>
>>> I'd wildcard   tests/functional/*/meson.build under the
>>> general maint.
>>
>> Either that, or make sure the the architecture maintainers own the whole
>> tests/functional/<arch> folders.
> 
> The former is easy.  Regarding the latter...
> 
> The MAINTAINERS section we use to cover an architecture is often less
> than obvious.
> 
> meson.build under tests/functional/ covered so far:
> 
>      tests/functional/alpha/meson.build      Alpha TCG CPUs
>      tests/functional/avr/meson.build        AVR TCG CPUs
>      tests/functional/hppa/meson.build       HP B160L, HP C3700
>      tests/functional/i386/meson.build       X86 general architecture support
>      tests/functional/riscv32/meson.build    RISC-V TCG CPUs
>      tests/functional/riscv64/meson.build    RISC-V TCG CPUs
>      tests/functional/s390x/meson.build      S390 Virtio-ccw
>      tests/functional/x86_64/meson.build     X86 general architecture support
> 
> We have "$ARCH general architecture support" (obvious enough), "$ARCH
> TCG CPUs" (meh), and even machine sections that happen to be the only
> one of this architecture in MAINTAINERS (meh^2).

Yes, it's ugly, but that's basically what we currently have in MAINTAINERS, 
I think.

> Thomas, should tests/functional/s390x/meson.build move to "S390 general
> architecture support"?

It doesn't matter much since there is currently only one single machine for 
s390x, and that's this S390 virtio-ccw machine.

> Not covered:
> 
>      tests/functional/aarch64/meson.build
>      tests/functional/arm/meson.build
> 
>          There is no ARM general architecture support section.  Add these
>          to ARM TCG CPUs?

That's the best solution, I think.

>      tests/functional/generic/meson.build
> 
>          Functional testing framework?

Yes, please.

>      tests/functional/loongarch64/meson.build
> 
>          LoongArch TCG CPUs?

Yes.

>      tests/functional/m68k/meson.build
> 
>          M68K TCG CPUs?

Yes.

>      tests/functional/meson.build
> 
>          Functional testing framework, as discussed above.

Yes.

>      tests/functional/microblaze/meson.build
>      tests/functional/microblazeel/meson.build
> 
>          MicroBlaze TCG CPUs?

Yes.

>      tests/functional/mips/meson.build
>      tests/functional/mips64/meson.build
>      tests/functional/mips64el/meson.build
>      tests/functional/mipsel/meson.build
> 
>          We have MIPS general architecture support.  I guess we can add
>          them there.

Sounds right.

>      tests/functional/or1k/meson.build
> 
>          OpenRISC TCG CPUs?

Yes.

>      tests/functional/ppc/meson.build
>      tests/functional/ppc64/meson.build
> 
>          PowerPC TCG CPUs?

Yes.

>      tests/functional/rx/meson.build
> 
>          RENESAS RX CPUs?

Yes, though it's orphan, so it won't help much.

>      tests/functional/sh4/meson.build
>      tests/functional/sh4eb/meson.build
> 
>          SH4 TCG CPUs?

Yes.

>      tests/functional/sparc/meson.build
>      tests/functional/sparc64/meson.build
> 
>          SPARC TCG CPUs?

Yes.

>      tests/functional/xtensa/meson.build
> 
>          Xtensa TCG CPUs?

Yes.

>>>> tests/functional/arm/test_max78000fthr.py
>>>
>>> Added by Thomas but not sure what maintainers category it should go
>>> under.
>>
>> No, I just moved the file around. This belongs to the "max78000fthr" arm
>> machine - we need a complete new entry in MAINTAINERS for that one if I get
>> this right.
> 
> Which files?  My best guess based on git history:
> 
>      docs/system/arm/max78000.rst
>      hw/misc/max78000_aes.c
>      hw/misc/max78000_gcr.c
>      hw/misc/max78000_icc.c
>      hw/misc/max78000_trng.c
>      include/hw/arm/max78000_soc.h
>      include/hw/misc/max78000_aes.h
>      include/hw/misc/max78000_gcr.h
>      include/hw/misc/max78000_icc.h
>      include/hw/misc/max78000_trng.h
>      tests/functional/arm/test_max78000fthr.py

You missed:

     hw/arm/max78000fthr.c
     hw/arm/max78000_soc.c

Maybe simply use hw/*/max78000* and include/hw/*/max78000* to cover most of 
the files?

  Thomas



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Report on MAINTAINERS coverage
  2025-12-18 15:57 ` Stefan Weil via
@ 2025-12-19  7:44   ` Markus Armbruster
  0 siblings, 0 replies; 12+ messages in thread
From: Markus Armbruster @ 2025-12-19  7:44 UTC (permalink / raw)
  To: Stefan Weil; +Cc: qemu-devel

Stefan Weil via <qemu-devel@nongnu.org> writes:

> Am 18.12.25 um 13:45 schrieb Markus Armbruster:
>> Back in 2014 (time flies), I posted
>> 
>>      Subject: MAINTAINERS leaves too many files uncovered
>>      Message-ID: <87mw8rumhb.fsf@blackfin.pond.sub.org>
>>      https://lore.kernel.org/qemu-devel/87mw8rumhb.fsf@blackfin.pond.sub.org/
>> 
>> I updated my findings in 2015, 2016 (at commit e00da552a0d), 2018 (at
>> v3.1.0-rc2), and 2023 (at commit 36e9aab3c56, close to v8.2.0).  This is
>> another update, at v10.2.0-rc4.
>
>
> These two files were contributed by me and most of my initial code is 
> still unmodified, so I could be added as their maintainer:
>
> hw/nvram/eeprom93xx.c
> include/hw/nvram/eeprom93xx.h

Thanks!

> I had two contributions to the eeprom93xx.c (one made by Thiemo in my 
> name). Other authors had also two or more contributions:
>
>        2 Author: Alex Williamson <alex@shazbot.org>
>        2 Author: Anthony Liguori <anthony@codemonkey.ws>
>        2 Author: Aurelien Jarno <aurelien@aurel32.net>
>        2 Author: Marc-André Lureau <marcandre.lureau@redhat.com>
>        3 Author: Blue Swirl <blauwirbel@gmail.com>
>        3 Author: Juan Quintela <quintela@trasno.org>
>        3 Author: Paolo Bonzini <pbonzini@redhat.com>
>        5 Author: Markus Armbruster <armbru@redhat.com>
>
> I am not sure about the desired order in MAINTAINERS. Therefore I don't 
> intend to send a patch but would be happy if someone else updates this file.

I can take care of it.

MAINTAINERS has the nvram device models either under a machine,
supposedly the one machine that uses it (e.g. ds1225y.c is under
"Jazz"), or in section of its own ("CHRP NVRAM" and "Firmware
configuration (fw_cfg)").

As far as I can tell at a glance, eeprom93xx is used by the eepro100
NICs (i82500, i82551, ...), the tulip NIC, and dc390 SCSI HBA.  These
are all PCI devices available with -device, so not tied to any
particular machine type.  I guess a section of its own makes sense.  Do
you agree?

If yes, the section goes under the Devices heading.  Section order
appears to be unsystematic.  Next to "CHRP NVRAM"?

> For the other files which are von covered by MAINTAINERS, the copyright 
> notice might help to find possible maintainers:
>
> grep --no-filename -r -o "Copyright.*" $(cat FILELIST)|sort -i|uniq -ci

Yes, but I don't have the time to tackle the long tail myself.



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Report on MAINTAINERS coverage
  2025-12-18 16:08           ` Thomas Huth
@ 2025-12-19  8:43             ` Markus Armbruster
  0 siblings, 0 replies; 12+ messages in thread
From: Markus Armbruster @ 2025-12-19  8:43 UTC (permalink / raw)
  To: Thomas Huth; +Cc: Daniel P. Berrangé, qemu-devel

Thomas Huth <thuth@redhat.com> writes:

> On 18/12/2025 16.25, Markus Armbruster wrote:
>> Thomas Huth <thuth@redhat.com> writes:
>> 
>>> On 18/12/2025 14.49, Daniel P. Berrangé wrote:
>>>> On Thu, Dec 18, 2025 at 02:37:43PM +0100, Markus Armbruster wrote:
>>>>> Daniel P. Berrangé <berrange@redhat.com> writes:
>>>>>
>>>>>> On Thu, Dec 18, 2025 at 01:45:24PM +0100, Markus Armbruster wrote:
>>>>>>> Which unmaintained files are we still changing?  Unmaintained files
>>>>>>> sorted by number of commits in the past year (since v9.2.0):
>>>>>>>
>>>>>>>       $ for i in `cat unmaintained-files`; do echo -n "$i "; git-rev-list v9.2.0.. $i | wc -l; done | awk '{ printf "%7d %s\n", $2, $1 }' | sort -rn
>>>>>>>
>>>>>>>       107 tests/functional/meson.build
>>>>>>
>>>>>> Opps, that's a mistake. It should of course be under the
>>>>>> general maint heading "Functional testing framework"
>>>>>
>>>>> Thanks!  I can patch that.
>>>>>
>>>>> What about the other uncovered files in tests/functional/?
>>>>
>>>>> tests/functional/aarch64/meson.build
>>>>
>>>> [snip many more]
>>>>
>>>> I'd wildcard   tests/functional/*/meson.build under the
>>>> general maint.
>>>
>>> Either that, or make sure the the architecture maintainers own the whole
>>> tests/functional/<arch> folders.
>> 
>> The former is easy.  Regarding the latter...
>> 
>> The MAINTAINERS section we use to cover an architecture is often less
>> than obvious.
>> 
>> meson.build under tests/functional/ covered so far:
>> 
>>      tests/functional/alpha/meson.build      Alpha TCG CPUs
>>      tests/functional/avr/meson.build        AVR TCG CPUs
>>      tests/functional/hppa/meson.build       HP B160L, HP C3700
>>      tests/functional/i386/meson.build       X86 general architecture support
>>      tests/functional/riscv32/meson.build    RISC-V TCG CPUs
>>      tests/functional/riscv64/meson.build    RISC-V TCG CPUs
>>      tests/functional/s390x/meson.build      S390 Virtio-ccw
>>      tests/functional/x86_64/meson.build     X86 general architecture support
>> 
>> We have "$ARCH general architecture support" (obvious enough), "$ARCH
>> TCG CPUs" (meh), and even machine sections that happen to be the only
>> one of this architecture in MAINTAINERS (meh^2).
>
> Yes, it's ugly, but that's basically what we currently have in MAINTAINERS, 
> I think.
>
>> Thomas, should tests/functional/s390x/meson.build move to "S390 general
>> architecture support"?
>
> It doesn't matter much since there is currently only one single machine for 
> s390x, and that's this S390 virtio-ccw machine.

Different maintainers, though.  

I'll leave it alone.

>> Not covered:
>> 
>>      tests/functional/aarch64/meson.build
>>      tests/functional/arm/meson.build
>> 
>>          There is no ARM general architecture support section.  Add these
>>          to ARM TCG CPUs?
>
> That's the best solution, I think.
>
>>      tests/functional/generic/meson.build
>> 
>>          Functional testing framework?
>
> Yes, please.
>
>>      tests/functional/loongarch64/meson.build
>> 
>>          LoongArch TCG CPUs?
>
> Yes.
>
>>      tests/functional/m68k/meson.build
>> 
>>          M68K TCG CPUs?
>
> Yes.
>
>>      tests/functional/meson.build
>> 
>>          Functional testing framework, as discussed above.
>
> Yes.
>
>>      tests/functional/microblaze/meson.build
>>      tests/functional/microblazeel/meson.build
>> 
>>          MicroBlaze TCG CPUs?
>
> Yes.
>
>>      tests/functional/mips/meson.build
>>      tests/functional/mips64/meson.build
>>      tests/functional/mips64el/meson.build
>>      tests/functional/mipsel/meson.build
>> 
>>          We have MIPS general architecture support.  I guess we can add
>>          them there.
>
> Sounds right.
>
>>      tests/functional/or1k/meson.build
>> 
>>          OpenRISC TCG CPUs?
>
> Yes.
>
>>      tests/functional/ppc/meson.build
>>      tests/functional/ppc64/meson.build
>> 
>>          PowerPC TCG CPUs?
>
> Yes.
>
>>      tests/functional/rx/meson.build
>> 
>>          RENESAS RX CPUs?
>
> Yes, though it's orphan, so it won't help much.
>
>>      tests/functional/sh4/meson.build
>>      tests/functional/sh4eb/meson.build
>> 
>>          SH4 TCG CPUs?
>
> Yes.
>
>>      tests/functional/sparc/meson.build
>>      tests/functional/sparc64/meson.build
>> 
>>          SPARC TCG CPUs?
>
> Yes.
>
>>      tests/functional/xtensa/meson.build
>> 
>>          Xtensa TCG CPUs?
>
> Yes.

I'll post a patch for these.

>>>>> tests/functional/arm/test_max78000fthr.py
>>>>
>>>> Added by Thomas but not sure what maintainers category it should go
>>>> under.
>>>
>>> No, I just moved the file around. This belongs to the "max78000fthr" arm
>>> machine - we need a complete new entry in MAINTAINERS for that one if I get
>>> this right.
>> 
>> Which files?  My best guess based on git history:
>> 
>>      docs/system/arm/max78000.rst
>>      hw/misc/max78000_aes.c
>>      hw/misc/max78000_gcr.c
>>      hw/misc/max78000_icc.c
>>      hw/misc/max78000_trng.c
>>      include/hw/arm/max78000_soc.h
>>      include/hw/misc/max78000_aes.h
>>      include/hw/misc/max78000_gcr.h
>>      include/hw/misc/max78000_icc.h
>>      include/hw/misc/max78000_trng.h
>>      tests/functional/arm/test_max78000fthr.py
>
> You missed:
>
>      hw/arm/max78000fthr.c
>      hw/arm/max78000_soc.c

No idea how I missed them, git-log shows them.

> Maybe simply use hw/*/max78000* and include/hw/*/max78000* to cover most of 
> the files?

Yup.

I asked the author whether he's willing to serve as maintainer.



^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2025-12-19  8:44 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-18 12:45 Report on MAINTAINERS coverage Markus Armbruster
2025-12-18 12:55 ` Daniel P. Berrangé
2025-12-18 13:37   ` Markus Armbruster
2025-12-18 13:49     ` Daniel P. Berrangé
2025-12-18 14:06       ` Thomas Huth
2025-12-18 14:12         ` Daniel P. Berrangé
2025-12-18 14:17           ` Thomas Huth
2025-12-18 15:25         ` Markus Armbruster
2025-12-18 16:08           ` Thomas Huth
2025-12-19  8:43             ` Markus Armbruster
2025-12-18 15:57 ` Stefan Weil via
2025-12-19  7:44   ` Markus Armbruster

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.