I think, given how good a job you've all done with the release tags
and so on, it's easy for people to get to a working build for a board;
therefore, deprecating non conforming platforms make sense, as does
your suggestion for six months.


On Wed, Nov 24, 2021 at 4:51 AM Arthur Heymans <[email protected]> wrote:
>
> Hi
>
> I would like to suggest to deprecate some legacy codepaths inside the 
> coreboot tree and therefore make some newer ones mandatory.
>
> The first one I'd like to deprecate is LEGACY_SMP_INIT. This also includes 
> the codepath for SMM_ASEG. This code is used to start APs and do some feature 
> programming on each AP, but also set up SMM. This has largely been superseded 
> by PARALLEL_MP, which should be able to cover all use cases of 
> LEGACY_SMP_INIT, with little code changes. The reason for deprecation is that 
> having 2 codepaths to do the virtually the same increases maintenance burden 
> on the community a lot, while also being rather confusing.
>
> A few things are lacking in PARALLEL_MP init:
> - Support for !CONFIG_SMP on single core systems. It's likely easy to extend 
> PARALLEL_MP or write some code that just does CPU detection on the BSP CPU.
> - Support smm in the legacy ASEG (0xa0000 - 0xb0000) region. A POC showed 
> that it's not that hard to do with PARALLEL_MP 
> https://review.coreboot.org/c/coreboot/+/58700
>
> No platforms in the tree have any hardware limitations that would block 
> migrating to PARALLEL_MP / a simple !CONFIG_SMP codebase.
>
> The second codepath that I'd like to propose for deprecation is 
> RESOURCE_ALLOCATOR_V3.
> V4 was introduced more than a year ago and with minor changes most platforms 
> were able to work just fine with it. A major difference is that V3 uses just 
> one continuous region below 4G to allocate all PCI memory BAR's. V4 uses all 
> available space below 4G and if asked to, also above 4G too. This makes it 
> important that SoC code properly reports all fixed resources.
>
> Currently only AGESA platforms have issues with it. On gerrit both attempts 
> to fix AMD AGESA codebases to use V4 and compatibility modes inside the V4 
> allocator have been proposed, but both efforts seem stalled. See the (not yet 
> merged) documentation https://review.coreboot.org/c/coreboot/+/43603 on it's 
> details. It looks like properly reporting all fixed resources is the culprit.
>
> About the timeline of deprecations. Is deprecating non conforming platforms 
> from the master branch after the 4.16 release in 6 months a reasonable 
> proposal?
>
> The affected boards currently are:
> AMD_INAGUA
> AMD_OLIVEHILL
> AMD_PARMER
> AMD_SOUTHSTATION
> AOPEN_DXPLPLUSU
> AMD_PERSIMMON
> AMD_THATCHER
> AMD_UNIONSTATION
> ASROCK_E350M1
> ASUS_A88XM_E
> ASROCK_IMB_A180
> ASUS_AM1I_A
> ASUS_F2A85_M
> ASUS_F2A85_M_PRO
> ASUS_F2A85_M_LE
> ASUS_P2B_RAMDEBUG
> ASUS_P2B_LS
> ASUS_P2B_F
> ASUS_P2B_D
> ASUS_P2B_DS
> ASUS_P3B_F
> ASUS_P2B
> ODE_E20XX
> BIOSTAR_AM1ML
> BIOSTAR_A68N5200
> ELMEX_PCM205400
> ELMEX_PCM205401
> GIZMOSPHERE_GIZMO2
> GIZMOSPHERE_GIZMO
> HP_ABM
> HP_PAVILION_M6_1035DX
> JETWAY_NF81_T56N_LF
> LENOVO_G505S
> LIPPERT_FRONTRUNNER_AF
> LIPPERT_TOUCAN_AF
> MSI_MS7721
> PCENGINES_APU1_
> PCENGINES_APU2_
> PCENGINES_APU3_
> PCENGINES_APU4_
> PCENGINES_APU5_
> PCENGINES_APU1
> PCENGINES_APU2
> PCENGINES_APU3
> PCENGINES_APU4
> PCENGINES_APU5
>
> sidenote: Qemu platforms support both LEGACY_SMP_INIT and PARALLEL_MP init so 
> I did not list them here.
>
> Let me know your thoughts.
>
> Arthur
>
> _______________________________________________
> coreboot mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
_______________________________________________
coreboot mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to