[edk2-devel] [edk2-staging/RiscV64QemuVirt PATCH V5 17/30] UefiCpuPkg/CpuDxe: Refactor to allow other architectures

Sunil V L posted 30 patches 3 years, 3 months ago
There is a newer version of this series
[edk2-devel] [edk2-staging/RiscV64QemuVirt PATCH V5 17/30] UefiCpuPkg/CpuDxe: Refactor to allow other architectures
Posted by Sunil V L 3 years, 3 months ago
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4076

Currently, CpuDxe supports only X86 architecture. To add
support for other architectures like RISC-V, this need to
be refactored.

Cc: Eric Dong <eric.dong@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
---
 UefiCpuPkg/CpuDxe/CpuDxe.inf                   | 28 +++++++++++---------
 UefiCpuPkg/CpuDxe/{ => Ia32X64}/CpuDxe.h       |  0
 UefiCpuPkg/CpuDxe/{ => Ia32X64}/CpuGdt.h       |  0
 UefiCpuPkg/CpuDxe/{ => Ia32X64}/CpuMp.h        |  0
 UefiCpuPkg/CpuDxe/{ => Ia32X64}/CpuPageTable.h |  0
 UefiCpuPkg/CpuDxe/{ => Ia32X64}/CpuDxe.c       |  0
 UefiCpuPkg/CpuDxe/{ => Ia32X64}/CpuGdt.c       |  0
 UefiCpuPkg/CpuDxe/{ => Ia32X64}/CpuMp.c        |  0
 UefiCpuPkg/CpuDxe/{ => Ia32X64}/CpuPageTable.c |  0
 9 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/UefiCpuPkg/CpuDxe/CpuDxe.inf b/UefiCpuPkg/CpuDxe/CpuDxe.inf
index 235241899222..65961813f74b 100644
--- a/UefiCpuPkg/CpuDxe/CpuDxe.inf
+++ b/UefiCpuPkg/CpuDxe/CpuDxe.inf
@@ -29,28 +29,30 @@ [LibraryClasses]
   DebugLib
   DxeServicesTableLib
   MemoryAllocationLib
-  MtrrLib
   UefiBootServicesTableLib
   UefiDriverEntryPoint
-  LocalApicLib
-  UefiCpuLib
   UefiLib
   CpuExceptionHandlerLib
   HobLib
   ReportStatusCodeLib
-  MpInitLib
   TimerLib
   PeCoffGetEntryPointLib
 
-[Sources]
-  CpuDxe.c
-  CpuDxe.h
-  CpuGdt.c
-  CpuGdt.h
-  CpuMp.c
-  CpuMp.h
-  CpuPageTable.h
-  CpuPageTable.c
+[LibraryClasses.IA32, LibraryClasses.X64]
+  LocalApicLib
+  MpInitLib
+  MtrrLib
+  UefiCpuLib
+
+[Sources.IA32, Sources.X64]
+  Ia32X64/CpuDxe.c
+  Ia32X64/CpuDxe.h
+  Ia32X64/CpuGdt.c
+  Ia32X64/CpuGdt.h
+  Ia32X64/CpuMp.c
+  Ia32X64/CpuMp.h
+  Ia32X64/CpuPageTable.h
+  Ia32X64/CpuPageTable.c
 
 [Sources.IA32]
   Ia32/CpuAsm.nasm
diff --git a/UefiCpuPkg/CpuDxe/CpuDxe.h b/UefiCpuPkg/CpuDxe/Ia32X64/CpuDxe.h
similarity index 100%
rename from UefiCpuPkg/CpuDxe/CpuDxe.h
rename to UefiCpuPkg/CpuDxe/Ia32X64/CpuDxe.h
diff --git a/UefiCpuPkg/CpuDxe/CpuGdt.h b/UefiCpuPkg/CpuDxe/Ia32X64/CpuGdt.h
similarity index 100%
rename from UefiCpuPkg/CpuDxe/CpuGdt.h
rename to UefiCpuPkg/CpuDxe/Ia32X64/CpuGdt.h
diff --git a/UefiCpuPkg/CpuDxe/CpuMp.h b/UefiCpuPkg/CpuDxe/Ia32X64/CpuMp.h
similarity index 100%
rename from UefiCpuPkg/CpuDxe/CpuMp.h
rename to UefiCpuPkg/CpuDxe/Ia32X64/CpuMp.h
diff --git a/UefiCpuPkg/CpuDxe/CpuPageTable.h b/UefiCpuPkg/CpuDxe/Ia32X64/CpuPageTable.h
similarity index 100%
rename from UefiCpuPkg/CpuDxe/CpuPageTable.h
rename to UefiCpuPkg/CpuDxe/Ia32X64/CpuPageTable.h
diff --git a/UefiCpuPkg/CpuDxe/CpuDxe.c b/UefiCpuPkg/CpuDxe/Ia32X64/CpuDxe.c
similarity index 100%
rename from UefiCpuPkg/CpuDxe/CpuDxe.c
rename to UefiCpuPkg/CpuDxe/Ia32X64/CpuDxe.c
diff --git a/UefiCpuPkg/CpuDxe/CpuGdt.c b/UefiCpuPkg/CpuDxe/Ia32X64/CpuGdt.c
similarity index 100%
rename from UefiCpuPkg/CpuDxe/CpuGdt.c
rename to UefiCpuPkg/CpuDxe/Ia32X64/CpuGdt.c
diff --git a/UefiCpuPkg/CpuDxe/CpuMp.c b/UefiCpuPkg/CpuDxe/Ia32X64/CpuMp.c
similarity index 100%
rename from UefiCpuPkg/CpuDxe/CpuMp.c
rename to UefiCpuPkg/CpuDxe/Ia32X64/CpuMp.c
diff --git a/UefiCpuPkg/CpuDxe/CpuPageTable.c b/UefiCpuPkg/CpuDxe/Ia32X64/CpuPageTable.c
similarity index 100%
rename from UefiCpuPkg/CpuDxe/CpuPageTable.c
rename to UefiCpuPkg/CpuDxe/Ia32X64/CpuPageTable.c
-- 
2.38.0



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#95743): https://edk2.groups.io/g/devel/message/95743
Mute This Topic: https://groups.io/mt/94664326/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [edk2-staging/RiscV64QemuVirt PATCH V5 17/30] UefiCpuPkg/CpuDxe: Refactor to allow other architectures
Posted by Chang, Abner via groups.io 3 years, 3 months ago
[AMD Official Use Only - General]

This change follows the Directory/File naming guidance for Processor archs/vendors.
Acked-by: Abner Chang <abner.chang@amd.com>

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Sunil V L
> via groups.io
> Sent: Sunday, October 30, 2022 9:28 PM
> To: devel@edk2.groups.io
> Cc: Eric Dong <eric.dong@intel.com>; Ray Ni <ray.ni@intel.com>; Rahul
> Kumar <rahul1.kumar@intel.com>
> Subject: [edk2-devel] [edk2-staging/RiscV64QemuVirt PATCH V5 17/30]
> UefiCpuPkg/CpuDxe: Refactor to allow other architectures
> 
> Caution: This message originated from an External Source. Use proper
> caution when opening attachments, clicking links, or responding.
> 
> 
> REF:
> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugz
> illa.tianocore.org%2Fshow_bug.cgi%3Fid%3D4076&amp;data=05%7C01%7Ca
> bner.chang%40amd.com%7C70f25f604a424cb0698208daba7b02ef%7C3dd896
> 1fe4884e608e11a82d994e183d%7C0%7C0%7C638027334732457153%7CUnkn
> own%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik
> 1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=GMUtJAXQA9u
> N77LI5Bt6DloS5mQAS2UypwODwmAG20s%3D&amp;reserved=0
> 
> Currently, CpuDxe supports only X86 architecture. To add support for other
> architectures like RISC-V, this need to be refactored.
> 
> Cc: Eric Dong <eric.dong@intel.com>
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Rahul Kumar <rahul1.kumar@intel.com>
> Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
> ---
>  UefiCpuPkg/CpuDxe/CpuDxe.inf                   | 28 +++++++++++---------
>  UefiCpuPkg/CpuDxe/{ => Ia32X64}/CpuDxe.h       |  0
>  UefiCpuPkg/CpuDxe/{ => Ia32X64}/CpuGdt.h       |  0
>  UefiCpuPkg/CpuDxe/{ => Ia32X64}/CpuMp.h        |  0
>  UefiCpuPkg/CpuDxe/{ => Ia32X64}/CpuPageTable.h |  0
>  UefiCpuPkg/CpuDxe/{ => Ia32X64}/CpuDxe.c       |  0
>  UefiCpuPkg/CpuDxe/{ => Ia32X64}/CpuGdt.c       |  0
>  UefiCpuPkg/CpuDxe/{ => Ia32X64}/CpuMp.c        |  0
>  UefiCpuPkg/CpuDxe/{ => Ia32X64}/CpuPageTable.c |  0
>  9 files changed, 15 insertions(+), 13 deletions(-)
> 
> diff --git a/UefiCpuPkg/CpuDxe/CpuDxe.inf
> b/UefiCpuPkg/CpuDxe/CpuDxe.inf index 235241899222..65961813f74b
> 100644
> --- a/UefiCpuPkg/CpuDxe/CpuDxe.inf
> +++ b/UefiCpuPkg/CpuDxe/CpuDxe.inf
> @@ -29,28 +29,30 @@ [LibraryClasses]
>    DebugLib
>    DxeServicesTableLib
>    MemoryAllocationLib
> -  MtrrLib
>    UefiBootServicesTableLib
>    UefiDriverEntryPoint
> -  LocalApicLib
> -  UefiCpuLib
>    UefiLib
>    CpuExceptionHandlerLib
>    HobLib
>    ReportStatusCodeLib
> -  MpInitLib
>    TimerLib
>    PeCoffGetEntryPointLib
> 
> -[Sources]
> -  CpuDxe.c
> -  CpuDxe.h
> -  CpuGdt.c
> -  CpuGdt.h
> -  CpuMp.c
> -  CpuMp.h
> -  CpuPageTable.h
> -  CpuPageTable.c
> +[LibraryClasses.IA32, LibraryClasses.X64]
> +  LocalApicLib
> +  MpInitLib
> +  MtrrLib
> +  UefiCpuLib
> +
> +[Sources.IA32, Sources.X64]
> +  Ia32X64/CpuDxe.c
> +  Ia32X64/CpuDxe.h
> +  Ia32X64/CpuGdt.c
> +  Ia32X64/CpuGdt.h
> +  Ia32X64/CpuMp.c
> +  Ia32X64/CpuMp.h
> +  Ia32X64/CpuPageTable.h
> +  Ia32X64/CpuPageTable.c
> 
>  [Sources.IA32]
>    Ia32/CpuAsm.nasm
> diff --git a/UefiCpuPkg/CpuDxe/CpuDxe.h
> b/UefiCpuPkg/CpuDxe/Ia32X64/CpuDxe.h
> similarity index 100%
> rename from UefiCpuPkg/CpuDxe/CpuDxe.h
> rename to UefiCpuPkg/CpuDxe/Ia32X64/CpuDxe.h
> diff --git a/UefiCpuPkg/CpuDxe/CpuGdt.h
> b/UefiCpuPkg/CpuDxe/Ia32X64/CpuGdt.h
> similarity index 100%
> rename from UefiCpuPkg/CpuDxe/CpuGdt.h
> rename to UefiCpuPkg/CpuDxe/Ia32X64/CpuGdt.h
> diff --git a/UefiCpuPkg/CpuDxe/CpuMp.h
> b/UefiCpuPkg/CpuDxe/Ia32X64/CpuMp.h
> similarity index 100%
> rename from UefiCpuPkg/CpuDxe/CpuMp.h
> rename to UefiCpuPkg/CpuDxe/Ia32X64/CpuMp.h diff --git
> a/UefiCpuPkg/CpuDxe/CpuPageTable.h
> b/UefiCpuPkg/CpuDxe/Ia32X64/CpuPageTable.h
> similarity index 100%
> rename from UefiCpuPkg/CpuDxe/CpuPageTable.h rename to
> UefiCpuPkg/CpuDxe/Ia32X64/CpuPageTable.h
> diff --git a/UefiCpuPkg/CpuDxe/CpuDxe.c
> b/UefiCpuPkg/CpuDxe/Ia32X64/CpuDxe.c
> similarity index 100%
> rename from UefiCpuPkg/CpuDxe/CpuDxe.c
> rename to UefiCpuPkg/CpuDxe/Ia32X64/CpuDxe.c
> diff --git a/UefiCpuPkg/CpuDxe/CpuGdt.c
> b/UefiCpuPkg/CpuDxe/Ia32X64/CpuGdt.c
> similarity index 100%
> rename from UefiCpuPkg/CpuDxe/CpuGdt.c
> rename to UefiCpuPkg/CpuDxe/Ia32X64/CpuGdt.c
> diff --git a/UefiCpuPkg/CpuDxe/CpuMp.c
> b/UefiCpuPkg/CpuDxe/Ia32X64/CpuMp.c
> similarity index 100%
> rename from UefiCpuPkg/CpuDxe/CpuMp.c
> rename to UefiCpuPkg/CpuDxe/Ia32X64/CpuMp.c diff --git
> a/UefiCpuPkg/CpuDxe/CpuPageTable.c
> b/UefiCpuPkg/CpuDxe/Ia32X64/CpuPageTable.c
> similarity index 100%
> rename from UefiCpuPkg/CpuDxe/CpuPageTable.c rename to
> UefiCpuPkg/CpuDxe/Ia32X64/CpuPageTable.c
> --
> 2.38.0
> 
> 
> 
> 
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#96002): https://edk2.groups.io/g/devel/message/96002
Mute This Topic: https://groups.io/mt/94664326/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-