coreboot-kgpe-d16/src/mainboard
Aaron Durbin 899d13d0df cbfs: new API and better program loading
A new CBFS API is introduced to allow making CBFS access
easier for providing multiple CBFS sources. That is achieved
by decoupling the cbfs source from a CBFS file. A CBFS
source is described by a descriptor. It contains the necessary
properties for walking a CBFS to locate a file. The CBFS
file is then decoupled from the CBFS descriptor in that it's
no longer needed to access the contents of the file.

All of this is accomplished using the regions infrastructure
by repsenting CBFS sources and files as region_devices. Because
region_devices can be chained together forming subregions this
allows one to decouple a CBFS source from a file. This also allows
one to provide CBFS files that came from other sources for
payload and/or stage loading.

The program loading takes advantage of those very properties
by allowing multiple sources for locating a program. Because of
this we can reduce the overhead of loading programs because
it's all done in the common code paths. Only locating the
program is per source.

Change-Id: I339b84fce95f03d1dbb63a0f54a26be5eb07f7c8
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: http://review.coreboot.org/9134
Tested-by: build bot (Jenkins)
Tested-by: Raptor Engineering Automated Test Stand <noreply@raptorengineeringinc.com>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
2015-06-02 14:09:31 +02:00
..
a-trend Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
aaeon Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
abit Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
adlink kconfig: automatically include mainboards 2015-04-18 08:31:08 +02:00
advansus Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
amd amd/torpedo: Remove stale ssdt*.asl 2015-06-01 19:39:13 +02:00
aopen Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
apple igd.asl rewrite 2015-05-28 08:27:10 +02:00
arima kconfig: automatically include mainboards 2015-04-18 08:31:08 +02:00
artecgroup Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
asrock AGESA binaryPI boards: Drop annoying commentary 2015-05-24 05:34:13 +02:00
asus AGESA binaryPI boards: Drop annoying commentary 2015-05-24 05:34:13 +02:00
avalue Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
azza Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
bachmann Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
bap Copy gizmosphere/gizmo2 as bap/ode_e20XX 2015-05-27 14:07:36 +02:00
bcom Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
bifferos Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
biostar binaryPI boards: Minor fixups to unify boards 2015-05-24 05:34:34 +02:00
broadcom kconfig: automatically include mainboards 2015-04-18 08:31:08 +02:00
compaq Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
cubietech Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
digitallogic Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
dmp Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
ecs Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
emulation cbfs: new API and better program loading 2015-06-02 14:09:31 +02:00
getac igd.asl rewrite 2015-05-28 08:27:10 +02:00
gigabyte bd82x6x: Move calling of finalize() on resume to southbridge code 2015-05-29 11:26:06 +02:00
gizmosphere AGESA binaryPI boards: Drop annoying commentary 2015-05-24 05:34:13 +02:00
google cbfs: new API and better program loading 2015-06-02 14:09:31 +02:00
hp AGESA binaryPI boards: Drop annoying commentary 2015-05-24 05:34:13 +02:00
ibase igd.asl rewrite 2015-05-28 08:27:10 +02:00
ibm kconfig: automatically include mainboards 2015-04-18 08:31:08 +02:00
iei Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
intel bd82x6x: Move calling of finalize() on resume to southbridge code 2015-05-29 11:26:06 +02:00
iwave igd.asl rewrite 2015-05-28 08:27:10 +02:00
iwill kconfig: automatically include mainboards 2015-04-18 08:31:08 +02:00
jetway AGESA binaryPI boards: Drop annoying commentary 2015-05-24 05:34:13 +02:00
kontron bd82x6x: Move calling of finalize() on resume to southbridge code 2015-05-29 11:26:06 +02:00
lanner Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
lenovo bd82x6x: Move calling of finalize() on resume to southbridge code 2015-05-29 11:26:06 +02:00
linutop kconfig: automatically include mainboards 2015-04-18 08:31:08 +02:00
lippert AGESA binaryPI boards: Drop annoying commentary 2015-05-24 05:34:13 +02:00
mitac Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
msi Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
nec Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
newisys kconfig: automatically include mainboards 2015-04-18 08:31:08 +02:00
nokia Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
nvidia Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
packardbell igd.asl rewrite 2015-05-28 08:27:10 +02:00
pcengines pcengines/apu1: Enable HAVE_ACPI_RESUME 2015-05-26 19:34:53 +02:00
rca Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
roda igd.asl rewrite 2015-05-28 08:27:10 +02:00
samsung cbfs: new API and better program loading 2015-06-02 14:09:31 +02:00
siemens cbfs: new API and better program loading 2015-06-02 14:09:31 +02:00
soyo Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
sunw kconfig: automatically include mainboards 2015-04-18 08:31:08 +02:00
supermicro Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
technexion Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
thomson Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
ti cbfs: remove unused CBFS_HEADER_ROM_OFFSET option 2015-05-26 22:33:08 +02:00
traverse Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
tyan Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
via acpi: Remove monolithic ACPI 2015-05-26 10:25:47 +02:00
winent Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
wyse Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
Kconfig kconfig: automatically include mainboards 2015-04-18 08:31:08 +02:00