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>
  Giacomo Travaglini <giacomo.travaglini@arm.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-arm:
  Andreas Sandberg <andreas.sandberg@arm.com>
  Giacomo Travaglini <giacomo.travaglini@arm.com>
arch-gcn3:
  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-hsa:
  Tony Gutierrez <anthony.gutierrez@amd.com>
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

fastmodel: Changes relating to ARM Fast Models
  Gabe Black <gabeblack@google.com>

gpu-compute:
  Tony Gutierrez <anthony.gutierrez@amd.com>
  Matt Poremba <matthew.poremba@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
  Gabe Black <gabeblack@google.com>

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-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:
  Gabe Black <gabeblack@google.com>
