Hi Sami, On Mon, Jan 22, 2024 at 05:15:44PM +0000, Sami Mujawar wrote: > Hi All, > > DynamicTablesPkg currently supports Arm architecture, and we welcome the > adoption by other architectures. > > Following is my proposal for moving forward. > > Goals: > - reuse common code > - streamline the adoption by other architectures > - minimise the impact on migration of the existing platforms > - maintain flexibility across architectural components > - use this opportunity to integrate Dynamic SMBIOS support > (Ref: https://edk2.groups.io/g/devel/message/107254) > > The following steps would help in achieving the goals: > 1. Create an edk2 staging branch. For the edk2-platforms updates, I will > create a branch on my Github fork (note this is required as there is no > staging repo for edk2-platforms). > 2. The design aspects and changes shall be discussed on the mailing list with > patches to support the details. > 3. A new section in DynamicTablesPkg\Readme.md shall be added to reflect the > design updates, e.g. changes to CM Objects, Namespace definitions, etc. > 4. The design changes should typically be supported by patches for the > DynamicTables core framework and demonstrate the impact on the existing > platform code by typically providing patches for at least one existing > platform (possibly edk2-platforms/Platform/ARM/[Juno | FVP]). > 5. The design changes should be small and typically be reflected in separate > patch series. > 6. The first phase would be to partition the codebase into common code vs > architectural specific code. This would involve moving files and reflecting > the associated changes such that the build does not break. > 7. Define a new namespace e.g. “ArchCommon” for the common architectural > components. > 8. Identify the CM_ARM_OBJECTs that can be moved to the “ArchCommon” > namespace. As part of this identify if any object needs to be dropped, e.g. > EArmObjReserved29 > 9. Identify overlap of SMBIOS objects with existing CM Objects. > 10. Submit patches to move CM objects from Arm Namespace to ArchCommon > Namespace. Ideally one object (and any dependencies) should be moved at a > time. > 11. Submit patches to migrate upstream platforms that use DynamicTablesPkg > 12. Define a new namespace for RISCV specific objects > 13. Submit patches for enabling RISCV > 14. In the next phase support for Dynamic SMBIOS can be enabled. > > Notes: > a. Periodically rebase with edk2 & edk2-platforms master branch to sync with > latest changes. > b. We can decide to merge the updates after point 11 above to edk2 & > edk2-platforms master branch. > c. Similarly, the RISCV support can be merged after point 13. > > I will send out a request for creating the staging branch shortly. > This is great!. I think staging branches is a great idea considering the amount of changes this work needs. Thank you very much!.
I can send small patch sets to partition the code base as per #6 along with documentation changes. Let me know once staging branches are created. Thanks! Sunil -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#114181): https://edk2.groups.io/g/devel/message/114181 Mute This Topic: https://groups.io/mt/103622702/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-