See CONTRIBUTING.md for details of gem5's contribution process.

This file contains the keywords used in commit messages. Each keyword has one
or more maintainers. At least one (not all) of these maintainers must review
the patch before it can be pushed. These people will automatically be emailed
when you upload the patch to Gerrit (https://gem5-review.googlesource.com).
These keywords mostly follow the directory structure.

Individuals on the project management committee are maintainers for all of the
gem5 components (i.e., they can review any patch as the maintainer). These
individuals are required to review any patches to components without explicit
maintainers.

PMC Members (general maintainers):
  Ali Saidi <asaidi@gmail.com>
  Andreas Sandberg <andreas.sandberg@arm.com>
  Brad Beckmann <brad.beckmann@amd.com>
  David Wood <david@cs.wisc.edu>
  Gabe Black <gabeblack@google.com>
  Jason Lowe-Power <jason@lowepower.com> (chair)
  Matt Sinclair <sinclair@cs.wisc.edu>
  Tony Gutierrez <anthony.gutierrez@amd.com>
  Steve Reinhardt <stever@gmail.com>

arch: General architecture-specific components
  Gabe Black <gabeblack@google.com>
arch-alpha:
arch-arm:
  Andreas Sandberg <andreas.sandberg@arm.com>
  Giacomo Travaglini <giacomo.travaglini@arm.com>
arch-hsail:
  Tony Gutierrez <anthony.gutierrez@amd.com>
arch-mips:
arch-power:
arch-riscv:
  Alec Roelke <ar4jc@virginia.edu>
arch-sparc:
  Gabe Black <gabeblack@google.com>
arch-x86:
  Gabe Black <gabeblack@google.com>

base:

configs:
  Jason Lowe-Power <jason@lowepower.com>

cpu: General changes to all CPU models (e.g., BaseCPU)
cpu-kvm:
  Andreas Sandberg <andreas.sandberg@arm.com>
cpu-minor:
cpu-o3:
cpu-simple:

dev:
dev-virtio:
  Andreas Sandberg <andreas.sandberg@arm.com>

dev-arm:
  Andreas Sandberg <andreas.sandberg@arm.com>
  Giacomo Travaglini <giacomo.travaglini@arm.com>

ext: Components external to gem5

gpu-compute:
  Tony Gutierrez <anthony.gutierrez@amd.com>

learning-gem5: The code and configs for the Learning gem5 book (see
               learning.gem5.com)
  Jason Lowe-Power <jason@lowepower.com>

mem: General memory system (e.g., XBar, Packet)
  Nikos Nikoleris <nikos.nikoleris@arm.com>
mem-cache: Classic caches and coherence
  Nikos Nikoleris <nikos.nikoleris@arm.com>
mem-garnet: Garnet subcomponent of Ruby
  Tushar Krishna <tushar@ece.gatech.edu>
mem-ruby: Ruby structures and protocols
  Brad Beckmann <brad.beckmann@amd.com>
  Jason Lowe-Power <jason@lowepower.com>

misc: Anything outside of the other categories

python: Python SimObject wrapping and infrastructure
  Andreas Sandberg <andreas.sandberg@arm.com>

scons: Build system

sim: General simulation components
  Jason Lowe-Power <jason@lowepower.com>
sim-se: Syscall emulation
  Brandon Potter <brandon.potter@amd.com>
sim-power: Power modeling
  Andreas Sandberg <andreas.sandberg@arm.com>

stats: Updates to statistics for regressions

system: System boot code and related components
system-alpha:
system-arm:
  Andreas Sandberg <andreas.sandberg@arm.com>
  Giacomo Travaglini <giacomo.travaglini@arm.com>

systemc: Code for the gem5 SystemC implementation and interface
  Gabe Black <gabeblack@google.com>

tests: testing changes (not stats updates for tests. See stats:)
  Bobby Bruce <bbruce@ucdavis.edu>

util:
