

	List of maintainers and how to submit coreboot changes

Please try to follow the guidelines below.  This will make things
easier on the maintainers.  Not all of these guidelines matter for every
trivial patch so apply some common sense.

1.	Always _test_ your changes, however small, on at least 1 or
	2 people, preferably many more.

2.	Try to release a few ALPHA test versions to gerrit. Announce
	them onto the coreboot mailing list and IRC channel and await
	results. This is especially important on coreboot core changes,
	but also for device drivers, because often that's the only way
	you will find things like the fact revision 3 chipset needs
	a magic fix you didn't know about, or some clown changed the
	chips on a board and not its name.  (Don't laugh!)

3.	Make sure your changes compile correctly in multiple
	configurations. In particular check that changes work for all
	boards in the tree (use abuild!)

4.	When you are happy with a change make it generally available for
	testing in gerrit and await feedback.

5.	Make your patch available through coreboot's gerrit code review
	system, and add the relevant maintainer from this list as a code
	reviewer. Be prepared to get your changes sent back with seemingly
	silly requests about formatting and variable names.  These aren't
	as silly as they seem. One job the maintainers do is to keep
	things looking the same.  Sometimes this means that the clever
	hack in your mainboard or chipset to get around a problem actually
	needs to become a generalized coreboot feature ready for next time.

	PLEASE check your patch with the automated style checker
	(util/lint/checkpatch.pl) to catch trival style violations.
	See http://coreboot.org/Coding_Style for guidance here.

	PLEASE add the maintainers that are generated by
	util/scripts/get_maintainer.pl as reviewers.  The results returned
	by the script will be best if you have git installed and are
	making your changes in a branch derived from coreboot.org's latest
	git tree.

	PLEASE try to include any credit lines you want added with the
	patch. It avoids people being missed off by mistake and makes
	it easier to know who wants adding and who doesn't.

	PLEASE document known bugs. If it doesn't work for everything
	or does something very odd once a month document it.

	PLEASE remember that submissions must be made under the terms
	of the OSDL certificate of contribution and should include a
	Signed-off-by: line.  The current version of this "Developer's
	Certificate of Origin" (DCO) is listed at
	http://coreboot.org/Development_Guidelines#Sign-off_Procedure.

6.	Make sure you have the right to send any changes you make. If you
	do changes at work you may find your employer owns the patch
	not you.

7.	Happy hacking.

Descriptions of section entries:

	M: Maintainer: FullName <address@domain>
	R: Designated reviewer: FullName <address@domain>
	   These reviewers should be CCed on patches.
	L: Mailing list that is relevant to this area
	W: Web-page with status/info
	Q: Patchwork web based patch tracking system site
	T: SCM tree type and location.
	   Type is one of: git, hg, quilt, stgit, topgit
	S: Status, one of the following:
	   Supported:	Someone is actually paid to look after this.
	   Maintained:	Someone actually looks after it.
	   Odd Fixes:	It has a maintainer but they don't have time to do
			much other than throw the odd patch in. See below..
	   Orphan:	No current maintainer [but maybe you could take the
			role as you write your new code].
	   Obsolete:	Old code. Something tagged obsolete generally means
			it has been replaced by a better system and you
			should be using that.
	F: Files and directories with wildcard patterns.
	   A trailing slash includes all files and subdirectory files.
	   F:	drivers/net/	all files in and below drivers/net
	   F:	drivers/net/*	all files in drivers/net, but not below
	   F:	*/net/*		all files in "any top level directory"/net
	   One pattern per line.  Multiple F: lines acceptable.
	N: Files and directories with regex patterns.
	   N:	[^a-z]tegra	all files whose path contains the word tegra
	   One pattern per line.  Multiple N: lines acceptable.
	   scripts/get_maintainer.pl has different behavior for files that
	   match F: pattern and matches of N: patterns.  By default,
	   get_maintainer will not look at git log history when an F: pattern
	   match occurs.  When an N: match occurs, git log history is used
	   to also notify the people that have git commit signatures.
	X: Files and directories that are NOT maintained, same rules as F:
	   Files exclusions are tested before file matches.
	   Can be useful for excluding a specific subdirectory, for instance:
	   F:	net/
	   X:	net/ipv6/
	   matches all files in and below net excluding net/ipv6/
	K: Keyword perl extended regex pattern to match content in a
	   patch or file.  For instance:
	   K: of_get_profile
	      matches patches or files that contain "of_get_profile"
	   K: \b(printk|pr_(info|err))\b
	      matches patches or files that contain one or more of the words
	      printk, pr_info or pr_err
	   One regex pattern per line.  Multiple K: lines acceptable.

Note: For the hard of thinking, this list is meant to remain in alphabetical
order. If you could add yourselves to it in alphabetical order that would be
so much easier [Ed]

Maintainers List (try to look for most precise areas first)

		-----------------------------------

RISC-V ARCHITECTURE
M:	Ronald Minnich <rminnich@gmail.com>
S:	Maintained
F:	src/arch/riscv/
F:	src/soc/ucb/
F:	src/mainboard/emulation/qemu-riscv/

LENOVO EC
M:	Alexander Couzens <lynxis@fe80.eu>
S:	Maintained
F:	src/ec/lenovo/

LENOVO MAINBOARDS
M:	Alexander Couzens <lynxis@fe80.eu>
S:	Maintained
F:	src/mainboard/lenovo/

GOOGLE PANTHER MAINBOARD
M:	Stefan Reinauer <stefan.reinauer@coreboot.org>
S:	Supported
F:	src/mainboard/google/panther/

INTEL FSP IVYBRIDGE/PANTHERPOINT/CAVECREEK & CRBs
M:	York Yang <york.yang@intel.com>
S:	Supported
F:	src/cpu/intel/fsp_model_206ax/
F:	src/northbridge/intel/fsp_sandybridge/
F:	src/southbridge/intel/fsp_bd82x6x/
F:	src/southbridge/intel/fsp_i89xx/
F:	src/vendorcode/intel/fsp1_0/ivybridge_bd82x6x
F:	src/vendorcode/intel/fsp1_0/ivybridge_i89xx
F:	src/mainboard/intel/cougar_canyon2/
F:	src/mainboard/intel/stargo2/

INTEL MINNOWBOARD MAX MAINBOARD
M:	Huang Jin <huang.jin@intel.com>
M:	York Yang <york.yang@intel.com>
M:	Martin Roth <gaumless@gmail.com>
S:	Supported
F:	src/mainboard/intel/minnowmax/

INTEL FSP BAYTRAIL CHIP & CRBs
M:	Huang Jin <huang.jin@intel.com>
M:	York Yang <york.yang@intel.com>
M:	Martin Roth <gaumless@gmail.com>
S:	Supported
F:	src/soc/intel/fsp_baytrail/
F:	src/vendorcode/intel/fsp1_0/baytrail/
F:	src/mainboard/intel/bakersport_fsp/
F:	src/mainboard/intel/bayleybay_fsp/

FSP 1.0 RANGELEY & CRB
M:	David Guckian <david.guckian@intel.com>
M:	Fei Wang <fei.z.wang@intel.com>
S:	Supported
F:	src/cpu/intel/fsp_model_406dx/
F:	src/northbridge/intel/fsp_rangeley/
F:	src/southbridge/intel/fsp_rangeley/
F:	src/vendorcode/intel/fsp1_0/rangeley/
F:	src/mainboard/intel/mohonpeak/

INTEL LITTLE PLAINS MAINBOARD
M:	Marcin Wojciechowski <marcin.wojciechowski@intel.com>
S:	Supported
F:	src/mainboard/intel/littleplains/

INTEL FSP 1.0
M:	Huang Jin <huang.jin@intel.com>
M:	York Yang <york.yang@intel.com>
M:	Martin Roth <gaumless@gmail.com>
S:	Supported
F:	src/drivers/intel/fsp1_0/

INTEL FSP 1.1
M:	Lee Leahy <leroy.p.leahy@intel.com>
M:	Andrey Petrov <andrey.petrov@intel.com>
M:	Huang Jin <huang.jin@intel.com>
M:	York Yang <york.yang@intel.com>
S:	Supported
F:	src/drivers/intel/fsp1_1/

ATI MACH64 Driver
S:	Orphan
F:	src/drivers/ati/mach64/

ABUILD
M:	Patrick Georgi <patrick@georgi-clan.de>
S:	Supported
F:	util/abuild/

ACPI
F:	src/acpi/
F:	src/arch/x86/acpi/
F:	util/acpi/

ARM ARCHITECTURE
F:	src/arch/arm/
F:	src/arch/arm64
F:	src/cpu/allwinner/
F:	src/cpu/armltd/
F:	src/cpu/samsung/
F:	src/cpu/ti/
F:	src/soc/broadcom/
F:	src/soc/marvell/
F:	src/soc/nvidia/
F:	src/soc/qualcomm/
F:	src/soc/rockchip/
F:	src/soc/samsung/
F:	util/arm_boot_tools/
F:	util/broadcom/
F:	util/exynos/
F:	util/ipqheader/
F:	util/nvidia/
F:	util/rockchip/

MIPS ARCHITECTURE
F:	src/arch/mips/
F:	src/cpu/mips/
F:	src/soc/imgtec/
F:	util/bimgtool/

X86 ARCHITECTURE
F:	src/arch/x86/
F:	src/cpu/x86/
F:	src/drivers/pc80/
F:	src/include/pc80/
F:	src/include/cpu/x86/

INTEL SUPPORT
F:	src/vendorcode/intel/
F:	src/cpu/intel/
F:	src/northbridge/intel/
F:	src/southbridge/intel/
F:	src/soc/intel/
F:	src/drivers/intel/
F:	src/include/cpu/intel/

AMD SUPPORT
F:	src/vendorcode/amd/
F:	src/cpu/amd/
F:	src/northbridge/amd/
F:	src/southbridge/amd/
F:	src/include/cpu/amd/

VIA SUPPORT
F:	src/cpu/via/
F:	src/northbridge/via/
F:	src/southbridge/via/

LINT SCRIPTS
M:	Patrick Georgi <patrick@georgi-clan.de>
S:	Supported
F:	util/lint/

INTELTOOL
M:	Stefan Reinauer <stefan.reinauer@coreboot.org>
F:	util/inteltool/

IFDTOOL
M:	Stefan Reinauer <stefan.reinauer@coreboot.org>
F:	util/ifdtool/
F:	util/ifdfake/

BUILD SYSTEM
M:	Patrick Georgi <patrick@georgi-clan.de>
M:	Martin Roth <gaumless@gmail.com>
S:	Supported
F:	Makefile
F:	*.inc
F:	src/include/kconfig.h
F:	util/kconfig/
F:	util/sconfig/

BOARD STATUS
F:	util/board_status/

BINARY OBJECTS
F:	3rdparty/blobs/

VERIFIED BOOT
F:	3rdparty/vboot/
F:	src/vendorcode/google/chromeos/
F:	src/include/tpm.h
F:	src/include/tpm_lite/

RESOURCE ALLOCATOR
F:	src/device/*
F:	src/include/device/
F:	src/include/cpu/cpu.h

OPTION ROM EXECUTION & X86EMU
F:	src/device/oprom/

CBFS
F:	src/include/cbfs.h
F:	src/include/cbfs_serialized.h
F:	util/cbfstool/

CBMEM
F:	src/include/cbmem.h
F:	src/include/cbmem_id.h
F:	util/cbmem/

CONSOLE
F:	src/console/
F:	src/include/console/
F:	src/drivers/uart/

NVRAM
F:	util/nvramtool/
F:	util/optionlist/
F:	payloads/nvramcui/

LIBPAYLOAD
F:	payloads/libpayload/

BAYOU PAYLOAD
F:	payloads/bayou/

COREINFO PAYLOAD
F:	payloads/coreinfo/

EXTERNAL PAYLOADS INTEGRATION
M:	Stefan Reinauer <stefan.reinauer@coreboot.org>
F:	payloads/external

VERIFIED BOOT 2
M:	Aaron Durbin <adurbin@chromium.org>
F:	src/vendorcode/google/chromeos/vboot2/

MISSING: TIMERS / DELAYS

MISSING: TIMESTAMPS

MISSING: MEMLAYOUT

MISSING: FMAP

MISSING: GPIO

MISSING: SMP

MISSING: SUPERIOS

MISSING: DMP / QEMU-X86

MISSING: ELOG

MISSING: GENERIC DRAM (should drop)

MISSING: SPI

THE REST
M:	Stefan Reinauer <stefan.reinauer@coreboot.org>
L:	coreboot@coreboot.org
T:	git http://review.coreboot.org/coreboot
S:	Buried alive in mainboards
F:	*
F:	*/
