Sunil,
I would like to hear your feedback regarding locations of following RiscV64 components in UefiCpuPkg:
* UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/
* UefiCpuPkg/Library/BaseRiscV64CpuTimerLib/
* UefiCpuPkg/CpuDxeRiscV64/
* UefiCpuPkg/CpuTimerDxeRiscV64/
I would like to move them to the following new locations accordingly:
* UefiCpuPkg/Library/CpuExceptionHandlerLib/RiscV64/
* UefiCpuPkg/Library/CpuTimerLib/RiscV64/
* UefiCpuPkg/CpuDxe/RiscV64/
* UefiCpuPkg/CpuTimerDxe/RiscV64/
I want to avoid too many similar drivers in root folder, and too many libraries in Library folder.
Movement of the first 3 ones put the RiscV components under existing folders.
Movement of the last one creates the UefiCpuPkg/CpuTimerDxe folder, that could be potentially shared by other archs as well.
I raised similar comments to Chao Li who is working on LoongArch upstream.
The location movement follows the 2nd pattern defined by edk2 coding standard:
Driver’s location could be:
<Feature><Phase>[<CpuArch>[<Vendor>]]
or
<Feature><Phase>[/<CpuArch>[/<Vendor>]]
Library’s location could be:
<Phase>[<CpuArch>[<Vendor>]]<LibraryClassName>[<Dependency>]
or
<Phase><LibraryClassName>[<Dependency>]/[<CpuArch>[/<Vendor>]]
Thanks,
Ray