Infrastructure Projects: Difference between revisions
No edit summary |
No edit summary |
||
Line 8: | Line 8: | ||
A filesystem-alike layout for the coreboot image, to enable systems like bayou and to clean up the system in general (eg. no more buildrom) | A filesystem-alike layout for the coreboot image, to enable systems like bayou and to clean up the system in general (eg. no more buildrom) | ||
=== Status === | === Status === | ||
Upstream, | Upstream, Default for all boards. Patch available to remove pre-CBFS infrastructure | ||
=== Developers === | === Developers === | ||
Stefan, Ron, Patrick, Myles | Stefan, Ron, Patrick, Myles | ||
Line 18: | Line 18: | ||
=== Developers === | === Developers === | ||
? | ? | ||
== Build System == | == Build System == | ||
Line 48: | Line 41: | ||
=== Developers === | === Developers === | ||
Patrick | Patrick | ||
= Done = | |||
== Port v3 Resource Allocator == | |||
The v3 resource allocator should be ported to v2 | |||
=== Status === | |||
Upstream. It's limited to one area for resources, that doesn't overlap with fixed resources. | |||
=== Developers === | |||
Myles | |||
= More ideas = | = More ideas = | ||
== Unify text printing functions == | == Unify text printing functions == |
Revision as of 21:41, 30 September 2009
This page collects a list of projects to improve the infrastructure of coreboot-v2. Infrastructure means those parts of the code that aren't chipset or mainboard specific, but are used by all of them.
The idea is to consolidate a list of things "to do" with their status and responsible developers.
In progress
CBFS
A filesystem-alike layout for the coreboot image, to enable systems like bayou and to clean up the system in general (eg. no more buildrom)
Status
Upstream, Default for all boards. Patch available to remove pre-CBFS infrastructure
Developers
Stefan, Ron, Patrick, Myles
Low/High Tables
SeaBIOS requires a copy of various BIOS tables outside the fseg as it overwrites that segment. Generally clean out the table generation code.
Status
Upstream, implemented on some boards. Problems on others.
Developers
?
Build System
The current system of generated Makefiles is non-ideal (for too many reasons for this little margin). Fix it, somehow
Status
Upstream, boards are converted. Works side-by-side with the old system.
Developers
Stefan, Ron, Patrick, Uwe, Cristi
Config System
Use KConfig to improve the situation.
Status
Upstream, boards are converted. Works side-by-side with the old system.
Developers
Stefan, Ron, Patrick, Uwe, Cristi
Prototypes
Unify fallback/normal switch
Right now, the decision whether to use fallback or normal is in cache_as_ram_auto.c in many boards. Make that generic again (also helps with further CBFSification at some point).
Status
I created a bootblock that selects fallback or normal, then runs the romstage of them from CBFS. Even CAR is part of the CBFS file. That naturally leads to unification of fallback/normal, as code in that area moves around a lot. Unreleased prototype so far, boots QEmu, available on request
Developers
Patrick
Done
Port v3 Resource Allocator
The v3 resource allocator should be ported to v2
Status
Upstream. It's limited to one area for resources, that doesn't overlap with fixed resources.
Developers
Myles
More ideas
Unify text printing functions
There are several copies of print_* and printk_* in the code. Unify them so everything is happier than before (because the disjoint features are merged).
Unify ACPI
Every ACPI board has its own routines to compile the ACPI sources. Unify that. Also, figure out generic ACPI code and deduplicate it
Common payload location
Many boards in v2 have different names for the payload in targets/.../Config.lb (payload.elf, filo.elf, etherboot.elf, etc) and locations (../payload.elf, or various absolute paths which only work for one developer). We should fix this by using ../payload.elf as common payload name/location for all boards. A long-term solution will probably be the use of Kconfig in v2 where the user specifies a payload manually as in v3.
CMOS layout
Allow (somehow) to define defaults for all CMOS fields, and create a static table from that. Use that at runtime if the CMOS checksum fails.