I'm trying to implement a few features on x86 platforms to improvecoreboot. Currently I'm focusing on unifying the bootflow of x86platforms a little better. An important aspect of that is to make sureprogram boundaries within stages are respected, which is mostly an issuewhen romstage destroys the stack+environment in which it is running.Currently many platforms work around it by having code to fetch theglobal variables which are either still in the CAR (before CAR teardown) or somewhere relocated in cbmem after cbmem has been set up.A better solution is to have CAR being torn down in a separate stage,which means that romstage can always access global variables where thelinker initially puts them. We call this stage postcar stage.

I have an implementation ready for the following platforms:* CPU_AMD_MODEL_10XXX or in mainboard terms:amd/serengeti_cheetah_fam10asus/kfsn4-drehp/dl165_g6_fam10msi/ms9652_fam10supermicro/h8dmr_fam10supermicro/h8qme_fam10tyan/s2912_fam10amd/mahogany_fam10gigabyte/ma78gmiei/kino-780am2-fam10jetway/pa78vm5amd/tilapia_fam10asus/m4a78-emasus/m4a785-masus/m4a785t-masus/m5a88-vgigabyte/ma785gmgigabyte/ma785gmtavalue/eax-785eamd/bimini_fam10advansus/a785e-iasus/kcma-d8supermicro/h8scm_fam10asus/kgpe-d16

It would be great if the following patches could be tested (i.e. does itstill boot):https://review.coreboot.org/c/coreboot/+/30063/2https://review.coreboot.org/c/coreboot/+/30064/2preferably on a board on which ACPI S3 resume is implemented (select HAVE_ACPI_RESUME).

The only remaining targets that need to be addressed before the speciallogic for CAR globals can be dropped are FSP1.0 platforms and geode_lx.geode_lx still has to implement EARLY_CBMEM (requirement for 4.7 and 4.9 iscoming soon)...

Post by Arthur Heymans* NORTHBRIDGE_VIA_VX900 on the VIA EPIA-M850 boardhttps://review.coreboot.org/c/coreboot/+/30057/1https://review.coreboot.org/c/coreboot/+/30058/3

Hmm - maybe I have that board. I'll try to look for it.

Post by Arthur HeymansThe only remaining targets that need to be addressed before the speciallogic for CAR globals can be dropped are FSP1.0 platforms and geode_lx.geode_lx still has to implement EARLY_CBMEM (requirement for 4.7 and 4.9is coming soon)...