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]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to