

	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 MINNOWBOARD MAX MAINBOARD
M:	Martin Roth <gaumless@gmail.com>
S:	Maintained
F:	src/mainboard/intel/minnowmax/

INTEL FSP BAYTRAIL CHIP
M:	Martin Roth <gaumless@gmail.com>
S:	Odd Fixes
F:	src/soc/intel/fsp_baytrail/

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:	Martin Roth <gaumless@gmail.com>
S:	Odd Fixes
F:	src/drivers/intel/fsp1_0/
F:	src/vendorcode/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:	*/
