public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-devel] [edk2-platforms][PATCH v1 0/2] IntelSiliconPkg: Add missing components
@ 2024-07-17 17:54 Michael Kubacki
  2024-07-17 17:54 ` [edk2-devel] [edk2-platforms][PATCH v1 1/2] IntelSiliconPkg: Compiler and linker fixes Michael Kubacki
  2024-07-17 17:54 ` [edk2-devel] [edk2-platforms][PATCH v1 2/2] IntelSiliconPkg: Add missing components to build Michael Kubacki
  0 siblings, 2 replies; 6+ messages in thread
From: Michael Kubacki @ 2024-07-17 17:54 UTC (permalink / raw)
  To: devel; +Cc: Ray Ni, Rangasai V Chaganty, Ashraf Ali S

From: Michael Kubacki <michael.kubacki@microsoft.com>

Some libraries and modules are missing from the build.

The first patch fixes compiler and linker failures. The second patch
adds the missing components to IntelSiliconPkg.dsc.

A PR with these changes is available here:
https://github.com/tianocore/edk2-platforms/pull/171

Cc: Ray Ni <ray.ni@intel.com>
Cc: Rangasai V Chaganty <rangasai.v.chaganty@intel.com>
Cc: Ashraf Ali S <ashraf.ali.s@intel.com>

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>

Michael Kubacki (2):
  IntelSiliconPkg: Compiler and linker fixes
  IntelSiliconPkg: Add missing components to build

 Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/BmDma.c           |  4 ++--
 Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/VtdLog.c          | 12 ++++++------
 Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCorePei/IntelVTdCorePei.c |  6 +++---
 Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dsc                           |  9 +++++++++
 4 files changed, 20 insertions(+), 11 deletions(-)

--
2.45.2.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#119955): https://edk2.groups.io/g/devel/message/119955
Mute This Topic: https://groups.io/mt/107402752/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 6+ messages in thread

* [edk2-devel] [edk2-platforms][PATCH v1 1/2] IntelSiliconPkg: Compiler and linker fixes
  2024-07-17 17:54 [edk2-devel] [edk2-platforms][PATCH v1 0/2] IntelSiliconPkg: Add missing components Michael Kubacki
@ 2024-07-17 17:54 ` Michael Kubacki
  2024-07-17 18:11   ` Ashraf Ali S
  2024-07-18  4:15   ` Chaganty, Rangasai V
  2024-07-17 17:54 ` [edk2-devel] [edk2-platforms][PATCH v1 2/2] IntelSiliconPkg: Add missing components to build Michael Kubacki
  1 sibling, 2 replies; 6+ messages in thread
From: Michael Kubacki @ 2024-07-17 17:54 UTC (permalink / raw)
  To: devel; +Cc: Ray Ni, Rangasai V Chaganty, Ashraf Ali S, Ken Lautner

From: Michael Kubacki <michael.kubacki@microsoft.com>

Some code is currently not being built in the package. This fixes
GCC compiler errors and MSVC linker failures in the code so the
package can build with these modules included.

Cc: Ray Ni <ray.ni@intel.com>
Cc: Rangasai V Chaganty <rangasai.v.chaganty@intel.com>
Cc: Ashraf Ali S <ashraf.ali.s@intel.com>

Co-authored-by: Ken Lautner <klautner@microsoft.com>
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
---
 Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/BmDma.c           |  4 ++--
 Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/VtdLog.c          | 12 ++++++------
 Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCorePei/IntelVTdCorePei.c |  6 +++---
 3 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/BmDma.c b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/BmDma.c
index 41917a004880..47fd3674cd56 100644
--- a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/BmDma.c
+++ b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/BmDma.c
@@ -464,7 +464,7 @@ IoMmuAllocateBuffer (
   if (!EFI_ERROR (Status)) {
     *HostAddress = (VOID *) (UINTN) PhysicalAddress;
 
-    VTdLogAddEvent (VTDLOG_DXE_IOMMU_ALLOC_BUFFER, (UINT64) Pages, (UINT64) (*HostAddress));
+    VTdLogAddEvent (VTDLOG_DXE_IOMMU_ALLOC_BUFFER, (UINT64) Pages, (UINT64) (UINTN) (*HostAddress));
   }
 
   DEBUG ((DEBUG_VERBOSE, "IoMmuAllocateBuffer: 0x%08x <==\n", *HostAddress));
@@ -494,7 +494,7 @@ IoMmuFreeBuffer (
 {
   DEBUG ((DEBUG_VERBOSE, "IoMmuFreeBuffer: 0x%\n", Pages));
 
-  VTdLogAddEvent (VTDLOG_DXE_IOMMU_FREE_BUFFER, Pages, (UINT64) HostAddress);
+  VTdLogAddEvent (VTDLOG_DXE_IOMMU_FREE_BUFFER, Pages, (UINT64) (UINTN) HostAddress);
 
   return gBS->FreePages ((EFI_PHYSICAL_ADDRESS) (UINTN) HostAddress, Pages);
 }
diff --git a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/VtdLog.c b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/VtdLog.c
index 91c27e2a1f2c..6a44424395c9 100644
--- a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/VtdLog.c
+++ b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/VtdLog.c
@@ -77,7 +77,7 @@ VTdLogAddEvent (
     Item->Data2 = Data2;
 
     Item->Header.DataSize  = sizeof (VTDLOG_EVENT_2PARAM);
-    Item->Header.LogType   = (UINT64) 1 << EventType;
+    Item->Header.LogType   = LShiftU64 (1, EventType);
     Item->Header.Timestamp = AsmReadTsc ();
   }
 }
@@ -117,11 +117,11 @@ VTdLogAddDataEvent (
     CopyMem (Item->Data, Data, DataSize);
 
     Item->Header.DataSize  = EventSize;
-    Item->Header.LogType   = (UINT64) 1 << EventType;
+    Item->Header.LogType   = LShiftU64 (1, EventType);
     Item->Header.Timestamp = AsmReadTsc ();
   }
 }
-  
+
 /**
   Get Event Items From Pei Pre-Mem Buffer
 
@@ -154,10 +154,10 @@ VTdGetEventItemsFromPeiPreMemBuffer (
       Event.Header.DataSize = sizeof (VTDLOG_EVENT_2PARAM);
       Event.Header.Timestamp = 0;
 
-      Event.Header.LogType = ((UINT64) 1) << VTDLOG_PEI_PRE_MEM_DMA_PROTECT;
+      Event.Header.LogType = LShiftU64 (1, VTDLOG_PEI_PRE_MEM_DMA_PROTECT);
       Event.Data1 = InfoBuffer[Index].BarAddress;
       Event.Data2 = InfoBuffer[Index].Mode;
-      Event.Data2 |= InfoBuffer[Index].Status<<8;
+      Event.Data2 |= LShiftU64 (InfoBuffer[Index].Status, 8);
       CallbackHandle (Context, &Event.Header);
     }
     EventCount++;
@@ -231,7 +231,7 @@ VTdGenerateStateEvent (
   Item.Data2 = Data2;
 
   Item.Header.DataSize  = sizeof (VTDLOG_EVENT_2PARAM);
-  Item.Header.LogType   = (UINT64) 1 << EventType;
+  Item.Header.LogType   = LShiftU64 (1, EventType);
   Item.Header.Timestamp = 0;
 
   if (CallbackHandle) {
diff --git a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCorePei/IntelVTdCorePei.c b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCorePei/IntelVTdCorePei.c
index 0160c3604541..7c72055e73dd 100644
--- a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCorePei/IntelVTdCorePei.c
+++ b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCorePei/IntelVTdCorePei.c
@@ -152,7 +152,7 @@ VTdLogAddDataEvent (
 
     Item->Header.DataSize  = EventSize;
     Item->Header.LogType   = (UINT64) (1 << EventType);
-    Item->Header.Timestamp = AsmReadTsc ();    
+    Item->Header.Timestamp = AsmReadTsc ();
   }
 }
 /**
@@ -372,7 +372,7 @@ PeiIoMmuMap (
       );
   }
 
-  VTdLogAddEvent (VTDLOG_PEI_PPI_MAP, (UINT64) HostAddress, Length);
+  VTdLogAddEvent (VTDLOG_PEI_PPI_MAP, (UINT64) (UINTN) HostAddress, Length);
   return EFI_SUCCESS;
 }
 
@@ -498,7 +498,7 @@ PeiIoMmuAllocateBuffer (
 
   DEBUG ((DEBUG_INFO, "PeiIoMmuAllocateBuffer - allocate - %x\n", *HostAddress));
 
-  VTdLogAddEvent (VTDLOG_PEI_PPI_ALLOC_BUFFER, (UINT64) (*HostAddress), Length);
+  VTdLogAddEvent (VTDLOG_PEI_PPI_ALLOC_BUFFER, (UINT64) (UINTN) (*HostAddress), Length);
 
   return EFI_SUCCESS;
 }
-- 
2.45.2.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#119956): https://edk2.groups.io/g/devel/message/119956
Mute This Topic: https://groups.io/mt/107402756/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [edk2-devel] [edk2-platforms][PATCH v1 2/2] IntelSiliconPkg: Add missing components to build
  2024-07-17 17:54 [edk2-devel] [edk2-platforms][PATCH v1 0/2] IntelSiliconPkg: Add missing components Michael Kubacki
  2024-07-17 17:54 ` [edk2-devel] [edk2-platforms][PATCH v1 1/2] IntelSiliconPkg: Compiler and linker fixes Michael Kubacki
@ 2024-07-17 17:54 ` Michael Kubacki
  1 sibling, 0 replies; 6+ messages in thread
From: Michael Kubacki @ 2024-07-17 17:54 UTC (permalink / raw)
  To: devel; +Cc: Ray Ni, Rangasai V Chaganty, Ashraf Ali S

From: Michael Kubacki <michael.kubacki@microsoft.com>

Adds libraries and modules missing from the [Components] section of
IntelSiliconPkg.dsc.

Cc: Ray Ni <ray.ni@intel.com>
Cc: Rangasai V Chaganty <rangasai.v.chaganty@intel.com>
Cc: Ashraf Ali S <ashraf.ali.s@intel.com>

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
---
 Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dsc | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dsc b/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dsc
index c8ff40b38ec6..6eb6f1026d07 100644
--- a/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dsc
+++ b/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dsc
@@ -105,6 +105,8 @@ [Components]
   IntelSiliconPkg/Feature/PcieSecurity/SamplePlatformDevicePolicyDxe/SamplePlatformDevicePolicyDxe.inf
   IntelSiliconPkg/Feature/Flash/SpiFvbService/SpiFvbServiceSmm.inf
   IntelSiliconPkg/Feature/Flash/SpiFvbService/SpiFvbServiceStandaloneMm.inf
+  IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/IntelVTdCoreDxe.inf
+  IntelSiliconPkg/Feature/VTd/IntelVTdCorePei/IntelVTdCorePei.inf
   IntelSiliconPkg/Feature/VTd/IntelVTdDxe/IntelVTdDxe.inf
   IntelSiliconPkg/Feature/VTd/IntelVTdDmarPei/IntelVTdDmarPei.inf
   IntelSiliconPkg/Feature/VTd/IntelVTdPmrPei/IntelVTdPmrPei.inf
@@ -113,8 +115,15 @@ [Components]
   IntelSiliconPkg/Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdateDxe.inf
   IntelSiliconPkg/Feature/Capsule/Library/MicrocodeFlashAccessLibNull/MicrocodeFlashAccessLibNull.inf
   IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei.inf
+  IntelSiliconPkg/Feature/SmmAccess/Library/PeiSmmAccessLib/PeiSmmAccessLib.inf
+  IntelSiliconPkg/Feature/SmmAccess/Library/PeiSmmAccessLibSmramc/PeiSmmAccessLib.inf
+  IntelSiliconPkg/Feature/SmmAccess/SmmAccessDxe/SmmAccess.inf
+  IntelSiliconPkg/Feature/SmmControl/Library/PeiSmmControlLib/PeiSmmControlLib.inf
+  IntelSiliconPkg/Library/IntelVTdPeiDxeLib/IntelVTdPeiDxeLib.inf
+  IntelSiliconPkg/Library/IntelVTdPeiDxeLib/IntelVTdPeiDxeLibExt.inf
   IntelSiliconPkg/Library/PeiDxeSmmBootMediaLib/PeiFirmwareBootMediaLib.inf
   IntelSiliconPkg/Library/PeiDxeSmmBootMediaLib/DxeSmmFirmwareBootMediaLib.inf
+  IntelSiliconPkg/Library/PeiGetVtdPmrAlignmentLib/PeiGetVtdPmrAlignmentLib.inf
   IntelSiliconPkg/Library/DxeAslUpdateLib/DxeAslUpdateLib.inf
   IntelSiliconPkg/Library/ReportCpuHobLib/ReportCpuHobLib.inf
   IntelSiliconPkg/Library/SpiFlashCommonLibNull/SpiFlashCommonLibNull.inf
-- 
2.45.2.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#119957): https://edk2.groups.io/g/devel/message/119957
Mute This Topic: https://groups.io/mt/107402759/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [edk2-devel] [edk2-platforms][PATCH v1 1/2] IntelSiliconPkg: Compiler and linker fixes
  2024-07-17 17:54 ` [edk2-devel] [edk2-platforms][PATCH v1 1/2] IntelSiliconPkg: Compiler and linker fixes Michael Kubacki
@ 2024-07-17 18:11   ` Ashraf Ali S
  2024-07-18  4:15   ` Chaganty, Rangasai V
  1 sibling, 0 replies; 6+ messages in thread
From: Ashraf Ali S @ 2024-07-17 18:11 UTC (permalink / raw)
  To: devel@edk2.groups.io, mikuback@linux.microsoft.com
  Cc: Ni, Ray, Chaganty, Rangasai V, Lautner, Kenneth

Reviewed-by: S, Ashraf Ali <ashraf.ali.s@intel.com>

Thanks.,
S, Ashraf Ali

-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Michael Kubacki
Sent: Wednesday, July 17, 2024 11:25 PM
To: devel@edk2.groups.io
Cc: Ni, Ray <ray.ni@intel.com>; Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; S, Ashraf Ali <ashraf.ali.s@intel.com>; Lautner, Kenneth <klautner@microsoft.com>
Subject: [edk2-devel] [edk2-platforms][PATCH v1 1/2] IntelSiliconPkg: Compiler and linker fixes

From: Michael Kubacki <michael.kubacki@microsoft.com>

Some code is currently not being built in the package. This fixes GCC compiler errors and MSVC linker failures in the code so the package can build with these modules included.

Cc: Ray Ni <ray.ni@intel.com>
Cc: Rangasai V Chaganty <rangasai.v.chaganty@intel.com>
Cc: Ashraf Ali S <ashraf.ali.s@intel.com>

Co-authored-by: Ken Lautner <klautner@microsoft.com>
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
---
 Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/BmDma.c           |  4 ++--
 Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/VtdLog.c          | 12 ++++++------
 Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCorePei/IntelVTdCorePei.c |  6 +++---
 3 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/BmDma.c b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/BmDma.c
index 41917a004880..47fd3674cd56 100644
--- a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/BmDma.c
+++ b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/BmDma.c
@@ -464,7 +464,7 @@ IoMmuAllocateBuffer (
   if (!EFI_ERROR (Status)) {
     *HostAddress = (VOID *) (UINTN) PhysicalAddress;
 
-    VTdLogAddEvent (VTDLOG_DXE_IOMMU_ALLOC_BUFFER, (UINT64) Pages, (UINT64) (*HostAddress));
+    VTdLogAddEvent (VTDLOG_DXE_IOMMU_ALLOC_BUFFER, (UINT64) Pages, 
+ (UINT64) (UINTN) (*HostAddress));
   }
 
   DEBUG ((DEBUG_VERBOSE, "IoMmuAllocateBuffer: 0x%08x <==\n", *HostAddress)); @@ -494,7 +494,7 @@ IoMmuFreeBuffer (  {
   DEBUG ((DEBUG_VERBOSE, "IoMmuFreeBuffer: 0x%\n", Pages));
 
-  VTdLogAddEvent (VTDLOG_DXE_IOMMU_FREE_BUFFER, Pages, (UINT64) HostAddress);
+  VTdLogAddEvent (VTDLOG_DXE_IOMMU_FREE_BUFFER, Pages, (UINT64) (UINTN) 
+ HostAddress);
 
   return gBS->FreePages ((EFI_PHYSICAL_ADDRESS) (UINTN) HostAddress, Pages);  } diff --git a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/VtdLog.c b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/VtdLog.c
index 91c27e2a1f2c..6a44424395c9 100644
--- a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/VtdLog.c
+++ b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/VtdLog.c
@@ -77,7 +77,7 @@ VTdLogAddEvent (
     Item->Data2 = Data2;
 
     Item->Header.DataSize  = sizeof (VTDLOG_EVENT_2PARAM);
-    Item->Header.LogType   = (UINT64) 1 << EventType;
+    Item->Header.LogType   = LShiftU64 (1, EventType);
     Item->Header.Timestamp = AsmReadTsc ();
   }
 }
@@ -117,11 +117,11 @@ VTdLogAddDataEvent (
     CopyMem (Item->Data, Data, DataSize);
 
     Item->Header.DataSize  = EventSize;
-    Item->Header.LogType   = (UINT64) 1 << EventType;
+    Item->Header.LogType   = LShiftU64 (1, EventType);
     Item->Header.Timestamp = AsmReadTsc ();
   }
 }
-  
+
 /**
   Get Event Items From Pei Pre-Mem Buffer
 
@@ -154,10 +154,10 @@ VTdGetEventItemsFromPeiPreMemBuffer (
       Event.Header.DataSize = sizeof (VTDLOG_EVENT_2PARAM);
       Event.Header.Timestamp = 0;
 
-      Event.Header.LogType = ((UINT64) 1) << VTDLOG_PEI_PRE_MEM_DMA_PROTECT;
+      Event.Header.LogType = LShiftU64 (1, 
+ VTDLOG_PEI_PRE_MEM_DMA_PROTECT);
       Event.Data1 = InfoBuffer[Index].BarAddress;
       Event.Data2 = InfoBuffer[Index].Mode;
-      Event.Data2 |= InfoBuffer[Index].Status<<8;
+      Event.Data2 |= LShiftU64 (InfoBuffer[Index].Status, 8);
       CallbackHandle (Context, &Event.Header);
     }
     EventCount++;
@@ -231,7 +231,7 @@ VTdGenerateStateEvent (
   Item.Data2 = Data2;
 
   Item.Header.DataSize  = sizeof (VTDLOG_EVENT_2PARAM);
-  Item.Header.LogType   = (UINT64) 1 << EventType;
+  Item.Header.LogType   = LShiftU64 (1, EventType);
   Item.Header.Timestamp = 0;
 
   if (CallbackHandle) {
diff --git a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCorePei/IntelVTdCorePei.c b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCorePei/IntelVTdCorePei.c
index 0160c3604541..7c72055e73dd 100644
--- a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCorePei/IntelVTdCorePei.c
+++ b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCorePei/IntelVTd
+++ CorePei.c
@@ -152,7 +152,7 @@ VTdLogAddDataEvent (
 
     Item->Header.DataSize  = EventSize;
     Item->Header.LogType   = (UINT64) (1 << EventType);
-    Item->Header.Timestamp = AsmReadTsc ();    
+    Item->Header.Timestamp = AsmReadTsc ();
   }
 }
 /**
@@ -372,7 +372,7 @@ PeiIoMmuMap (
       );
   }
 
-  VTdLogAddEvent (VTDLOG_PEI_PPI_MAP, (UINT64) HostAddress, Length);
+  VTdLogAddEvent (VTDLOG_PEI_PPI_MAP, (UINT64) (UINTN) HostAddress, 
+ Length);
   return EFI_SUCCESS;
 }
 
@@ -498,7 +498,7 @@ PeiIoMmuAllocateBuffer (
 
   DEBUG ((DEBUG_INFO, "PeiIoMmuAllocateBuffer - allocate - %x\n", *HostAddress));
 
-  VTdLogAddEvent (VTDLOG_PEI_PPI_ALLOC_BUFFER, (UINT64) (*HostAddress), Length);
+  VTdLogAddEvent (VTDLOG_PEI_PPI_ALLOC_BUFFER, (UINT64) (UINTN) 
+ (*HostAddress), Length);
 
   return EFI_SUCCESS;
 }
--
2.45.2.windows.1



-=-=-=-=-=-=
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#119956): https://edk2.groups.io/g/devel/message/119956
Mute This Topic: https://groups.io/mt/107402756/6226280
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [ashraf.ali.s@intel.com]
-=-=-=-=-=-=




-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#119958): https://edk2.groups.io/g/devel/message/119958
Mute This Topic: https://groups.io/mt/107402756/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [edk2-devel] [edk2-platforms][PATCH v1 1/2] IntelSiliconPkg: Compiler and linker fixes
  2024-07-17 17:54 ` [edk2-devel] [edk2-platforms][PATCH v1 1/2] IntelSiliconPkg: Compiler and linker fixes Michael Kubacki
  2024-07-17 18:11   ` Ashraf Ali S
@ 2024-07-18  4:15   ` Chaganty, Rangasai V
  2024-07-18 15:34     ` Michael Kubacki
  1 sibling, 1 reply; 6+ messages in thread
From: Chaganty, Rangasai V @ 2024-07-18  4:15 UTC (permalink / raw)
  To: mikuback@linux.microsoft.com, devel@edk2.groups.io
  Cc: Ni, Ray, S, Ashraf Ali, Lautner, Kenneth

Hi Michael, 
Thanks for addressing the GCC compiler issues. Overall looks good.

In IntelVTdCorePei.c, it seems the following got missed:
    Item->Header.LogType   = (UINT64) (1 << EventType);

Can you also take care of below and use LShiftU64, instead of compiler intrinsic operators.

Thanks,
Sai

-----Original Message-----
From: mikuback@linux.microsoft.com <mikuback@linux.microsoft.com> 
Sent: Wednesday, July 17, 2024 10:55 AM
To: devel@edk2.groups.io
Cc: Ni, Ray <ray.ni@intel.com>; Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; S, Ashraf Ali <ashraf.ali.s@intel.com>; Lautner, Kenneth <klautner@microsoft.com>
Subject: [edk2-platforms][PATCH v1 1/2] IntelSiliconPkg: Compiler and linker fixes

From: Michael Kubacki <michael.kubacki@microsoft.com>

Some code is currently not being built in the package. This fixes GCC compiler errors and MSVC linker failures in the code so the package can build with these modules included.

Cc: Ray Ni <ray.ni@intel.com>
Cc: Rangasai V Chaganty <rangasai.v.chaganty@intel.com>
Cc: Ashraf Ali S <ashraf.ali.s@intel.com>

Co-authored-by: Ken Lautner <klautner@microsoft.com>
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
---
 Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/BmDma.c           |  4 ++--
 Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/VtdLog.c          | 12 ++++++------
 Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCorePei/IntelVTdCorePei.c |  6 +++---
 3 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/BmDma.c b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/BmDma.c
index 41917a004880..47fd3674cd56 100644
--- a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/BmDma.c
+++ b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/BmDma.c
@@ -464,7 +464,7 @@ IoMmuAllocateBuffer (
   if (!EFI_ERROR (Status)) {
     *HostAddress = (VOID *) (UINTN) PhysicalAddress;
 
-    VTdLogAddEvent (VTDLOG_DXE_IOMMU_ALLOC_BUFFER, (UINT64) Pages, (UINT64) (*HostAddress));
+    VTdLogAddEvent (VTDLOG_DXE_IOMMU_ALLOC_BUFFER, (UINT64) Pages, 
+ (UINT64) (UINTN) (*HostAddress));
   }
 
   DEBUG ((DEBUG_VERBOSE, "IoMmuAllocateBuffer: 0x%08x <==\n", *HostAddress)); @@ -494,7 +494,7 @@ IoMmuFreeBuffer (  {
   DEBUG ((DEBUG_VERBOSE, "IoMmuFreeBuffer: 0x%\n", Pages));
 
-  VTdLogAddEvent (VTDLOG_DXE_IOMMU_FREE_BUFFER, Pages, (UINT64) HostAddress);
+  VTdLogAddEvent (VTDLOG_DXE_IOMMU_FREE_BUFFER, Pages, (UINT64) (UINTN) 
+ HostAddress);
 
   return gBS->FreePages ((EFI_PHYSICAL_ADDRESS) (UINTN) HostAddress, Pages);  } diff --git a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/VtdLog.c b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/VtdLog.c
index 91c27e2a1f2c..6a44424395c9 100644
--- a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/VtdLog.c
+++ b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/VtdLog.c
@@ -77,7 +77,7 @@ VTdLogAddEvent (
     Item->Data2 = Data2;
 
     Item->Header.DataSize  = sizeof (VTDLOG_EVENT_2PARAM);
-    Item->Header.LogType   = (UINT64) 1 << EventType;
+    Item->Header.LogType   = LShiftU64 (1, EventType);
     Item->Header.Timestamp = AsmReadTsc ();
   }
 }
@@ -117,11 +117,11 @@ VTdLogAddDataEvent (
     CopyMem (Item->Data, Data, DataSize);
 
     Item->Header.DataSize  = EventSize;
-    Item->Header.LogType   = (UINT64) 1 << EventType;
+    Item->Header.LogType   = LShiftU64 (1, EventType);
     Item->Header.Timestamp = AsmReadTsc ();
   }
 }
-  
+
 /**
   Get Event Items From Pei Pre-Mem Buffer
 
@@ -154,10 +154,10 @@ VTdGetEventItemsFromPeiPreMemBuffer (
       Event.Header.DataSize = sizeof (VTDLOG_EVENT_2PARAM);
       Event.Header.Timestamp = 0;
 
-      Event.Header.LogType = ((UINT64) 1) << VTDLOG_PEI_PRE_MEM_DMA_PROTECT;
+      Event.Header.LogType = LShiftU64 (1, 
+ VTDLOG_PEI_PRE_MEM_DMA_PROTECT);
       Event.Data1 = InfoBuffer[Index].BarAddress;
       Event.Data2 = InfoBuffer[Index].Mode;
-      Event.Data2 |= InfoBuffer[Index].Status<<8;
+      Event.Data2 |= LShiftU64 (InfoBuffer[Index].Status, 8);
       CallbackHandle (Context, &Event.Header);
     }
     EventCount++;
@@ -231,7 +231,7 @@ VTdGenerateStateEvent (
   Item.Data2 = Data2;
 
   Item.Header.DataSize  = sizeof (VTDLOG_EVENT_2PARAM);
-  Item.Header.LogType   = (UINT64) 1 << EventType;
+  Item.Header.LogType   = LShiftU64 (1, EventType);
   Item.Header.Timestamp = 0;
 
   if (CallbackHandle) {
diff --git a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCorePei/IntelVTdCorePei.c b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCorePei/IntelVTdCorePei.c
index 0160c3604541..7c72055e73dd 100644
--- a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCorePei/IntelVTdCorePei.c
+++ b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCorePei/IntelVTd
+++ CorePei.c
@@ -152,7 +152,7 @@ VTdLogAddDataEvent (
 
     Item->Header.DataSize  = EventSize;
     Item->Header.LogType   = (UINT64) (1 << EventType);
-    Item->Header.Timestamp = AsmReadTsc ();    
+    Item->Header.Timestamp = AsmReadTsc ();
   }
 }
 /**
@@ -372,7 +372,7 @@ PeiIoMmuMap (
       );
   }
 
-  VTdLogAddEvent (VTDLOG_PEI_PPI_MAP, (UINT64) HostAddress, Length);
+  VTdLogAddEvent (VTDLOG_PEI_PPI_MAP, (UINT64) (UINTN) HostAddress, 
+ Length);
   return EFI_SUCCESS;
 }
 
@@ -498,7 +498,7 @@ PeiIoMmuAllocateBuffer (
 
   DEBUG ((DEBUG_INFO, "PeiIoMmuAllocateBuffer - allocate - %x\n", *HostAddress));
 
-  VTdLogAddEvent (VTDLOG_PEI_PPI_ALLOC_BUFFER, (UINT64) (*HostAddress), Length);
+  VTdLogAddEvent (VTDLOG_PEI_PPI_ALLOC_BUFFER, (UINT64) (UINTN) 
+ (*HostAddress), Length);
 
   return EFI_SUCCESS;
 }
--
2.45.2.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#119961): https://edk2.groups.io/g/devel/message/119961
Mute This Topic: https://groups.io/mt/107402756/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [edk2-devel] [edk2-platforms][PATCH v1 1/2] IntelSiliconPkg: Compiler and linker fixes
  2024-07-18  4:15   ` Chaganty, Rangasai V
@ 2024-07-18 15:34     ` Michael Kubacki
  0 siblings, 0 replies; 6+ messages in thread
From: Michael Kubacki @ 2024-07-18 15:34 UTC (permalink / raw)
  To: Chaganty, Rangasai V, devel@edk2.groups.io
  Cc: Ni, Ray, S, Ashraf Ali, Lautner, Kenneth

Thanks for finding those. Updated them in V2:

- https://edk2.groups.io/g/devel/message/119967
- https://github.com/tianocore/edk2-platforms/pull/171

On 7/18/2024 12:15 AM, Chaganty, Rangasai V wrote:
> Hi Michael,
> Thanks for addressing the GCC compiler issues. Overall looks good.
> 
> In IntelVTdCorePei.c, it seems the following got missed:
>      Item->Header.LogType   = (UINT64) (1 << EventType);
> 
> Can you also take care of below and use LShiftU64, instead of compiler intrinsic operators.
> 
> Thanks,
> Sai
> 
> -----Original Message-----
> From: mikuback@linux.microsoft.com <mikuback@linux.microsoft.com>
> Sent: Wednesday, July 17, 2024 10:55 AM
> To: devel@edk2.groups.io
> Cc: Ni, Ray <ray.ni@intel.com>; Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; S, Ashraf Ali <ashraf.ali.s@intel.com>; Lautner, Kenneth <klautner@microsoft.com>
> Subject: [edk2-platforms][PATCH v1 1/2] IntelSiliconPkg: Compiler and linker fixes
> 
> From: Michael Kubacki <michael.kubacki@microsoft.com>
> 
> Some code is currently not being built in the package. This fixes GCC compiler errors and MSVC linker failures in the code so the package can build with these modules included.
> 
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Rangasai V Chaganty <rangasai.v.chaganty@intel.com>
> Cc: Ashraf Ali S <ashraf.ali.s@intel.com>
> 
> Co-authored-by: Ken Lautner <klautner@microsoft.com>
> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
> ---
>   Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/BmDma.c           |  4 ++--
>   Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/VtdLog.c          | 12 ++++++------
>   Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCorePei/IntelVTdCorePei.c |  6 +++---
>   3 files changed, 11 insertions(+), 11 deletions(-)
> 
> diff --git a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/BmDma.c b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/BmDma.c
> index 41917a004880..47fd3674cd56 100644
> --- a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/BmDma.c
> +++ b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/BmDma.c
> @@ -464,7 +464,7 @@ IoMmuAllocateBuffer (
>     if (!EFI_ERROR (Status)) {
>       *HostAddress = (VOID *) (UINTN) PhysicalAddress;
>   
> -    VTdLogAddEvent (VTDLOG_DXE_IOMMU_ALLOC_BUFFER, (UINT64) Pages, (UINT64) (*HostAddress));
> +    VTdLogAddEvent (VTDLOG_DXE_IOMMU_ALLOC_BUFFER, (UINT64) Pages,
> + (UINT64) (UINTN) (*HostAddress));
>     }
>   
>     DEBUG ((DEBUG_VERBOSE, "IoMmuAllocateBuffer: 0x%08x <==\n", *HostAddress)); @@ -494,7 +494,7 @@ IoMmuFreeBuffer (  {
>     DEBUG ((DEBUG_VERBOSE, "IoMmuFreeBuffer: 0x%\n", Pages));
>   
> -  VTdLogAddEvent (VTDLOG_DXE_IOMMU_FREE_BUFFER, Pages, (UINT64) HostAddress);
> +  VTdLogAddEvent (VTDLOG_DXE_IOMMU_FREE_BUFFER, Pages, (UINT64) (UINTN)
> + HostAddress);
>   
>     return gBS->FreePages ((EFI_PHYSICAL_ADDRESS) (UINTN) HostAddress, Pages);  } diff --git a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/VtdLog.c b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/VtdLog.c
> index 91c27e2a1f2c..6a44424395c9 100644
> --- a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/VtdLog.c
> +++ b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCoreDxe/VtdLog.c
> @@ -77,7 +77,7 @@ VTdLogAddEvent (
>       Item->Data2 = Data2;
>   
>       Item->Header.DataSize  = sizeof (VTDLOG_EVENT_2PARAM);
> -    Item->Header.LogType   = (UINT64) 1 << EventType;
> +    Item->Header.LogType   = LShiftU64 (1, EventType);
>       Item->Header.Timestamp = AsmReadTsc ();
>     }
>   }
> @@ -117,11 +117,11 @@ VTdLogAddDataEvent (
>       CopyMem (Item->Data, Data, DataSize);
>   
>       Item->Header.DataSize  = EventSize;
> -    Item->Header.LogType   = (UINT64) 1 << EventType;
> +    Item->Header.LogType   = LShiftU64 (1, EventType);
>       Item->Header.Timestamp = AsmReadTsc ();
>     }
>   }
> -
> +
>   /**
>     Get Event Items From Pei Pre-Mem Buffer
>   
> @@ -154,10 +154,10 @@ VTdGetEventItemsFromPeiPreMemBuffer (
>         Event.Header.DataSize = sizeof (VTDLOG_EVENT_2PARAM);
>         Event.Header.Timestamp = 0;
>   
> -      Event.Header.LogType = ((UINT64) 1) << VTDLOG_PEI_PRE_MEM_DMA_PROTECT;
> +      Event.Header.LogType = LShiftU64 (1,
> + VTDLOG_PEI_PRE_MEM_DMA_PROTECT);
>         Event.Data1 = InfoBuffer[Index].BarAddress;
>         Event.Data2 = InfoBuffer[Index].Mode;
> -      Event.Data2 |= InfoBuffer[Index].Status<<8;
> +      Event.Data2 |= LShiftU64 (InfoBuffer[Index].Status, 8);
>         CallbackHandle (Context, &Event.Header);
>       }
>       EventCount++;
> @@ -231,7 +231,7 @@ VTdGenerateStateEvent (
>     Item.Data2 = Data2;
>   
>     Item.Header.DataSize  = sizeof (VTDLOG_EVENT_2PARAM);
> -  Item.Header.LogType   = (UINT64) 1 << EventType;
> +  Item.Header.LogType   = LShiftU64 (1, EventType);
>     Item.Header.Timestamp = 0;
>   
>     if (CallbackHandle) {
> diff --git a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCorePei/IntelVTdCorePei.c b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCorePei/IntelVTdCorePei.c
> index 0160c3604541..7c72055e73dd 100644
> --- a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCorePei/IntelVTdCorePei.c
> +++ b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdCorePei/IntelVTd
> +++ CorePei.c
> @@ -152,7 +152,7 @@ VTdLogAddDataEvent (
>   
>       Item->Header.DataSize  = EventSize;
>       Item->Header.LogType   = (UINT64) (1 << EventType);
> -    Item->Header.Timestamp = AsmReadTsc ();
> +    Item->Header.Timestamp = AsmReadTsc ();
>     }
>   }
>   /**
> @@ -372,7 +372,7 @@ PeiIoMmuMap (
>         );
>     }
>   
> -  VTdLogAddEvent (VTDLOG_PEI_PPI_MAP, (UINT64) HostAddress, Length);
> +  VTdLogAddEvent (VTDLOG_PEI_PPI_MAP, (UINT64) (UINTN) HostAddress,
> + Length);
>     return EFI_SUCCESS;
>   }
>   
> @@ -498,7 +498,7 @@ PeiIoMmuAllocateBuffer (
>   
>     DEBUG ((DEBUG_INFO, "PeiIoMmuAllocateBuffer - allocate - %x\n", *HostAddress));
>   
> -  VTdLogAddEvent (VTDLOG_PEI_PPI_ALLOC_BUFFER, (UINT64) (*HostAddress), Length);
> +  VTdLogAddEvent (VTDLOG_PEI_PPI_ALLOC_BUFFER, (UINT64) (UINTN)
> + (*HostAddress), Length);
>   
>     return EFI_SUCCESS;
>   }
> --
> 2.45.2.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#119970): https://edk2.groups.io/g/devel/message/119970
Mute This Topic: https://groups.io/mt/107402756/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-07-18 15:34 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-17 17:54 [edk2-devel] [edk2-platforms][PATCH v1 0/2] IntelSiliconPkg: Add missing components Michael Kubacki
2024-07-17 17:54 ` [edk2-devel] [edk2-platforms][PATCH v1 1/2] IntelSiliconPkg: Compiler and linker fixes Michael Kubacki
2024-07-17 18:11   ` Ashraf Ali S
2024-07-18  4:15   ` Chaganty, Rangasai V
2024-07-18 15:34     ` Michael Kubacki
2024-07-17 17:54 ` [edk2-devel] [edk2-platforms][PATCH v1 2/2] IntelSiliconPkg: Add missing components to build Michael Kubacki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox