Infrastructure Projects: Difference between revisions

From coreboot
Jump to navigation Jump to search
(→‎More ideas: Common payload location.)
No edit summary
Line 22: Line 22:
The v3 resource allocator should be ported to v2
The v3 resource allocator should be ported to v2
=== Status ===
=== Status ===
Patches exist.
Upstream. Known problems on some boards.
=== Developers ===
=== Developers ===
Myles
Myles
== Build System ==
The current system of generated Makefiles is non-ideal (for too many reasons for this little margin). Fix it, somehow
=== Status ===
In branch coreboot-v2-newbuild. Beware, it's WIP
=== Developers ===
Stefan, Ron, Patrick
== Config System ==
Use KConfig to improve the situation.
=== Status ===
In branch coreboot-v2-newbuild. Beware, it's WIP
=== Developers ===
Stefan, Ron, Patrick


= More ideas =
= More ideas =
== Locking ==
== Unify text printing functions ==
There is some locking infrastructure in printk_*, but there are many copies of that code, with their own locking or none at all. Unification of that would fix hard to decipherable garbage on serial.
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 ==
== 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
Every ACPI board has its own routines to compile the ACPI sources. Unify that. Also, figure out generic ACPI code and deduplicate it
== Build System ==
The current system of generated Makefiles is non-ideal (for too many reasons for this little margin). Fix it, somehow
== Config System ==
Use KConfig (or something else) that improves on the current situation.


== Unify fallback/normal switch ==
== Unify fallback/normal switch ==

Revision as of 16:53, 10 July 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, implemented on some boards. Known problems on some boards.

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

?

Port v3 Resource Allocator

The v3 resource allocator should be ported to v2

Status

Upstream. Known problems on some boards.

Developers

Myles

Build System

The current system of generated Makefiles is non-ideal (for too many reasons for this little margin). Fix it, somehow

Status

In branch coreboot-v2-newbuild. Beware, it's WIP

Developers

Stefan, Ron, Patrick

Config System

Use KConfig to improve the situation.

Status

In branch coreboot-v2-newbuild. Beware, it's WIP

Developers

Stefan, Ron, Patrick

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

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).

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.