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.

Maintainers have the following responsibilities:
1. That at least one maintainer of each subsystem reviews all changes to that
   subsystem (they will be automatically tagged and emailed on each new
   change).
2. They will complete your reviews in a timely manner (within a few business
   days).
3. They pledge to uphold gem5's community standards and its code of conduct by
   being polite and professional in their code reviews. See CODE-OF-CONDUCT.md.

PMC Members (general maintainers):
  Andreas Sandberg <andreas.sandberg@arm.com>
  Brad Beckmann <bradford.beckmann@gmail.com>
  David Wood <david@cs.wisc.edu>
  Gabe Black <gabe.black@gmail.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 <gabe.black@gmail.com>
arch-arm:
  Andreas Sandberg <andreas.sandberg@arm.com>
  Giacomo Travaglini <giacomo.travaglini@arm.com>
arch-gcn3:
  UNSUPPORTED
arch-mips:
  UNSUPPORTED
arch-power:
  Boris Shingarov <shingarov@labware.com>
arch-riscv:
  UNSUPPORTED
arch-sparc:
  Gabe Black <gabe.black@gmail.com>
arch-x86:
  Gabe Black <gabe.black@gmail.com>

base:
  Bobby Bruce <bbruce@ucdavis.edu>
base-stats:
  UNSUPPORTED

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

cpu: General changes to all CPU models (e.g., BaseCPU)
  Gabe Black <gabe.black@gmail.com>
  Jason Lowe-Power <jason@lowepower.com>
cpu-kvm:
  Andreas Sandberg <andreas.sandberg@arm.com>
cpu-minor:
  Zhengrong Wang <seanyukigeek@gmail.com>
cpu-o3:
  UNSUPPORTED
cpu-simple:
  Jason Lowe-Power <jason@lowepower.com>
  Gabe Black <gabe.black@gmail.com>

dev:
  Gabe Black <gabe.black@gmail.com>
dev-hsa:
  UNSUPPORTED
dev-virtio:
  Andreas Sandberg <andreas.sandberg@arm.com>
dev-arm:
  Andreas Sandberg <andreas.sandberg@arm.com>
  Giacomo Travaglini <giacomo.travaglini@arm.com>

doc:
  Bobby Bruce <bbruce@ucdavis.edu>

ext: Components external to gem5
  Bobby Bruce <bbruce@ucdavis.edu>
  Jason Lowe-Power <jason@lowepower.com>
ext-testlib:
  Bobby Bruce <bbruce@ucdavis.edu>
  Hoa Nguyen <hoanguyen@ucdavis.edu>

fastmodel: Changes relating to ARM Fast Models
  Gabe Black <gabe.black@gmail.com>

gpu-compute:
  Matt Poremba <matthew.poremba@amd.com>

learning-gem5: The code and configs for the Learning gem5 book
  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-dram:
  Nikos Nikoleris <nikos.nikoleris@arm.com>
mem-garnet: Garnet subcomponent of Ruby
  Srikant Bharadwaj <srikant.bharadwaj@amd.com>
mem-ruby: Ruby structures and protocols
  Jason Lowe-Power <jason@lowepower.com>

misc: Anything outside of the other categories
  Bobby Bruce <bbruce@ucdavis.edu>
  Jason Lowe-Power <jason@lowepower.com>

python: Python SimObject wrapping and infrastructure
  Andreas Sandberg <andreas.sandberg@arm.com>
  Jason Lowe-Power <jason@lowepower.com>

resources: The gem5-resources repo with auxiliary resources for simulation
  Bobby Bruce <bbruce@ucdavis.edu>
  Jason Lowe-Power <jason@lowepower.com>

scons: Build system
  Gabe Black <gabe.black@gmail.com>

sim: General simulation components
  Jason Lowe-Power <jason@lowepower.com>
sim-se: Syscall emulation
  UNSUPPORTED

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 <gabe.black@gmail.com>

tests: testing changes
  Bobby Bruce <bbruce@ucdavis.edu>

util:
  Gabe Black <gabe.black@gmail.com>
util-docker:
  Bobby Bruce <bbruce@ucdavis.edu>
util-m5:
  Gabe Black <gabe.black@gmail.com>

website: The gem5-website repo which contains the gem5.org site
  Bobby Bruce <bbruce@ucdavis.edu>
  Hoa Nguyen <hoanguyen@ucdavis.edu>
