* [PATCH v2] MinPlatformPkg/SecFspWrapperPlatformSecLib: Change TopOfTemporaryRam type
@ 2019-09-05 6:19 Zhang, Shenglei
2019-09-05 7:27 ` Chiu, Chasel
2019-09-07 4:19 ` Kubacki, Michael A
0 siblings, 2 replies; 3+ messages in thread
From: Zhang, Shenglei @ 2019-09-05 6:19 UTC (permalink / raw)
To: devel; +Cc: Michael Kubacki, Chasel Chiu, Nate DeSimone, Liming Gao
Update the type of TopOfTemporaryRam from UINT32 to UINTN.
This change is intended to support X64 build scenarios.
The original code(line 64) may cast the overfloewed result
produced by "(TopOfTemporaryRam - sizeof (UINT32))"from
32bit to 64bit.
Cc: Michael Kubacki <michael.a.kubacki@intel.com>
Cc: Chasel Chiu <chasel.chiu@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com>
---
v2: As TopOfTemporaryRam is defined as UINTN in v2, remove
all the related casting operations which exist in v1 patch.
.../SecFspWrapperPlatformSecLib/SecGetPerformance.c | 8 ++++----
.../SecFspWrapperPlatformSecLib/SecPlatformInformation.c | 6 +++---
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/SecGetPerformance.c b/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/SecGetPerformance.c
index c4eeb2b1..8535ae04 100644
--- a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/SecGetPerformance.c
+++ b/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/SecGetPerformance.c
@@ -41,7 +41,7 @@ SecGetPerformance (
{
UINT32 Size;
UINT32 Count;
- UINT32 TopOfTemporaryRam;
+ UINTN TopOfTemporaryRam;
UINT64 Ticker;
VOID *TopOfTemporaryRamPpi;
EFI_STATUS Status;
@@ -77,12 +77,12 @@ SecGetPerformance (
// | TSC[31:00] |
// |--------------|
//
- TopOfTemporaryRam = (UINT32)(UINTN)TopOfTemporaryRamPpi - sizeof(UINT32);
+ TopOfTemporaryRam = (UINTN)TopOfTemporaryRamPpi - sizeof(UINT32);
TopOfTemporaryRam -= sizeof(UINT32) * 2;
- Count = *(UINT32 *) (UINTN) (TopOfTemporaryRam - sizeof (UINT32));
+ Count = *(UINT32 *)(TopOfTemporaryRam - sizeof (UINT32));
Size = Count * sizeof (UINT32);
- Ticker = *(UINT64 *) (UINTN) (TopOfTemporaryRam - sizeof (UINT32) - Size - sizeof (UINT32) * 2);
+ Ticker = *(UINT64 *) (TopOfTemporaryRam - sizeof (UINT32) - Size - sizeof (UINT32) * 2);
Performance->ResetEnd = GetTimeInNanoSecond (Ticker);
return EFI_SUCCESS;
diff --git a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/SecPlatformInformation.c b/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/SecPlatformInformation.c
index 5b94ed2b..ade36ab5 100644
--- a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/SecPlatformInformation.c
+++ b/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/SecPlatformInformation.c
@@ -36,7 +36,7 @@ SecPlatformInformation (
UINT32 *Bist;
UINT32 Size;
UINT32 Count;
- UINT32 TopOfTemporaryRam;
+ UINTN TopOfTemporaryRam;
VOID *TopOfTemporaryRamPpi;
EFI_STATUS Status;
@@ -59,9 +59,9 @@ SecPlatformInformation (
// This routine copies the BIST information to the buffer pointed by
// PlatformInformationRecord for output.
//
- TopOfTemporaryRam = (UINT32)(UINTN)TopOfTemporaryRamPpi - sizeof (UINT32);
+ TopOfTemporaryRam = (UINTN)TopOfTemporaryRamPpi - sizeof (UINT32);
TopOfTemporaryRam -= sizeof(UINT32) * 2;
- Count = *((UINT32 *)(UINTN) (TopOfTemporaryRam - sizeof (UINT32)));
+ Count = *((UINT32 *)(TopOfTemporaryRam - sizeof (UINT32)));
Size = Count * sizeof (IA32_HANDOFF_STATUS);
if ((*StructureSize) < (UINT64) Size) {
--
2.18.0.windows.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v2] MinPlatformPkg/SecFspWrapperPlatformSecLib: Change TopOfTemporaryRam type
2019-09-05 6:19 [PATCH v2] MinPlatformPkg/SecFspWrapperPlatformSecLib: Change TopOfTemporaryRam type Zhang, Shenglei
@ 2019-09-05 7:27 ` Chiu, Chasel
2019-09-07 4:19 ` Kubacki, Michael A
1 sibling, 0 replies; 3+ messages in thread
From: Chiu, Chasel @ 2019-09-05 7:27 UTC (permalink / raw)
To: Zhang, Shenglei, devel@edk2.groups.io
Cc: Kubacki, Michael A, Desimone, Nathaniel L, Gao, Liming
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com>
> -----Original Message-----
> From: Zhang, Shenglei
> Sent: Thursday, September 5, 2019 2:20 PM
> To: devel@edk2.groups.io
> Cc: Kubacki, Michael A <michael.a.kubacki@intel.com>; Chiu, Chasel
> <chasel.chiu@intel.com>; Desimone, Nathaniel L
> <nathaniel.l.desimone@intel.com>; Gao, Liming <liming.gao@intel.com>
> Subject: [PATCH v2] MinPlatformPkg/SecFspWrapperPlatformSecLib: Change
> TopOfTemporaryRam type
>
> Update the type of TopOfTemporaryRam from UINT32 to UINTN.
> This change is intended to support X64 build scenarios.
> The original code(line 64) may cast the overfloewed result produced by
> "(TopOfTemporaryRam - sizeof (UINT32))"from 32bit to 64bit.
>
> Cc: Michael Kubacki <michael.a.kubacki@intel.com>
> Cc: Chasel Chiu <chasel.chiu@intel.com>
> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> Cc: Liming Gao <liming.gao@intel.com>
> Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com>
> ---
> v2: As TopOfTemporaryRam is defined as UINTN in v2, remove
> all the related casting operations which exist in v1 patch.
>
> .../SecFspWrapperPlatformSecLib/SecGetPerformance.c | 8 ++++----
> .../SecFspWrapperPlatformSecLib/SecPlatformInformation.c | 6 +++---
> 2 files changed, 7 insertions(+), 7 deletions(-)
>
> diff --git
> a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatfor
> mSecLib/SecGetPerformance.c
> b/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatfor
> mSecLib/SecGetPerformance.c
> index c4eeb2b1..8535ae04 100644
> ---
> a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatfor
> mSecLib/SecGetPerformance.c
> +++
> b/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlat
> +++ formSecLib/SecGetPerformance.c
> @@ -41,7 +41,7 @@ SecGetPerformance (
> {
> UINT32 Size;
> UINT32 Count;
> - UINT32 TopOfTemporaryRam;
> + UINTN TopOfTemporaryRam;
> UINT64 Ticker;
> VOID *TopOfTemporaryRamPpi;
> EFI_STATUS Status;
> @@ -77,12 +77,12 @@ SecGetPerformance (
> // | TSC[31:00] |
> // |--------------|
> //
> - TopOfTemporaryRam = (UINT32)(UINTN)TopOfTemporaryRamPpi -
> sizeof(UINT32);
> + TopOfTemporaryRam = (UINTN)TopOfTemporaryRamPpi - sizeof(UINT32);
> TopOfTemporaryRam -= sizeof(UINT32) * 2;
> - Count = *(UINT32 *) (UINTN) (TopOfTemporaryRam - sizeof
> (UINT32));
> + Count = *(UINT32 *)(TopOfTemporaryRam - sizeof
> (UINT32));
> Size = Count * sizeof (UINT32);
>
> - Ticker = *(UINT64 *) (UINTN) (TopOfTemporaryRam - sizeof (UINT32) - Size
> - sizeof (UINT32) * 2);
> + Ticker = *(UINT64 *) (TopOfTemporaryRam - sizeof (UINT32) - Size -
> + sizeof (UINT32) * 2);
> Performance->ResetEnd = GetTimeInNanoSecond (Ticker);
>
> return EFI_SUCCESS;
> diff --git
> a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatfor
> mSecLib/SecPlatformInformation.c
> b/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatfor
> mSecLib/SecPlatformInformation.c
> index 5b94ed2b..ade36ab5 100644
> ---
> a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatfor
> mSecLib/SecPlatformInformation.c
> +++
> b/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlat
> +++ formSecLib/SecPlatformInformation.c
> @@ -36,7 +36,7 @@ SecPlatformInformation (
> UINT32 *Bist;
> UINT32 Size;
> UINT32 Count;
> - UINT32 TopOfTemporaryRam;
> + UINTN TopOfTemporaryRam;
> VOID *TopOfTemporaryRamPpi;
> EFI_STATUS Status;
>
> @@ -59,9 +59,9 @@ SecPlatformInformation (
> // This routine copies the BIST information to the buffer pointed by
> // PlatformInformationRecord for output.
> //
> - TopOfTemporaryRam = (UINT32)(UINTN)TopOfTemporaryRamPpi - sizeof
> (UINT32);
> + TopOfTemporaryRam = (UINTN)TopOfTemporaryRamPpi - sizeof (UINT32);
> TopOfTemporaryRam -= sizeof(UINT32) * 2;
> - Count = *((UINT32 *)(UINTN) (TopOfTemporaryRam - sizeof
> (UINT32)));
> + Count = *((UINT32 *)(TopOfTemporaryRam - sizeof
> (UINT32)));
> Size = Count * sizeof (IA32_HANDOFF_STATUS);
>
> if ((*StructureSize) < (UINT64) Size) {
> --
> 2.18.0.windows.1
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v2] MinPlatformPkg/SecFspWrapperPlatformSecLib: Change TopOfTemporaryRam type
2019-09-05 6:19 [PATCH v2] MinPlatformPkg/SecFspWrapperPlatformSecLib: Change TopOfTemporaryRam type Zhang, Shenglei
2019-09-05 7:27 ` Chiu, Chasel
@ 2019-09-07 4:19 ` Kubacki, Michael A
1 sibling, 0 replies; 3+ messages in thread
From: Kubacki, Michael A @ 2019-09-07 4:19 UTC (permalink / raw)
To: Zhang, Shenglei, devel@edk2.groups.io
Cc: Chiu, Chasel, Desimone, Nathaniel L, Gao, Liming
Reviewed-by: Michael Kubacki <michael.a.kubacki@intel.com>
> -----Original Message-----
> From: Zhang, Shenglei
> Sent: Wednesday, September 4, 2019 11:20 PM
> To: devel@edk2.groups.io
> Cc: Kubacki, Michael A <michael.a.kubacki@intel.com>; Chiu, Chasel
> <chasel.chiu@intel.com>; Desimone, Nathaniel L
> <nathaniel.l.desimone@intel.com>; Gao, Liming <liming.gao@intel.com>
> Subject: [PATCH v2] MinPlatformPkg/SecFspWrapperPlatformSecLib: Change
> TopOfTemporaryRam type
>
> Update the type of TopOfTemporaryRam from UINT32 to UINTN.
> This change is intended to support X64 build scenarios.
> The original code(line 64) may cast the overfloewed result produced by
> "(TopOfTemporaryRam - sizeof (UINT32))"from 32bit to 64bit.
>
> Cc: Michael Kubacki <michael.a.kubacki@intel.com>
> Cc: Chasel Chiu <chasel.chiu@intel.com>
> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> Cc: Liming Gao <liming.gao@intel.com>
> Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com>
> ---
> v2: As TopOfTemporaryRam is defined as UINTN in v2, remove
> all the related casting operations which exist in v1 patch.
>
> .../SecFspWrapperPlatformSecLib/SecGetPerformance.c | 8 ++++----
> .../SecFspWrapperPlatformSecLib/SecPlatformInformation.c | 6 +++---
> 2 files changed, 7 insertions(+), 7 deletions(-)
>
> diff --git
> a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatf
> ormSecLib/SecGetPerformance.c
> b/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatf
> ormSecLib/SecGetPerformance.c
> index c4eeb2b1..8535ae04 100644
> ---
> a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatf
> ormSecLib/SecGetPerformance.c
> +++
> b/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlat
> +++ formSecLib/SecGetPerformance.c
> @@ -41,7 +41,7 @@ SecGetPerformance (
> {
> UINT32 Size;
> UINT32 Count;
> - UINT32 TopOfTemporaryRam;
> + UINTN TopOfTemporaryRam;
> UINT64 Ticker;
> VOID *TopOfTemporaryRamPpi;
> EFI_STATUS Status;
> @@ -77,12 +77,12 @@ SecGetPerformance (
> // | TSC[31:00] |
> // |--------------|
> //
> - TopOfTemporaryRam = (UINT32)(UINTN)TopOfTemporaryRamPpi -
> sizeof(UINT32);
> + TopOfTemporaryRam = (UINTN)TopOfTemporaryRamPpi - sizeof(UINT32);
> TopOfTemporaryRam -= sizeof(UINT32) * 2;
> - Count = *(UINT32 *) (UINTN) (TopOfTemporaryRam - sizeof
> (UINT32));
> + Count = *(UINT32 *)(TopOfTemporaryRam - sizeof (UINT32));
> Size = Count * sizeof (UINT32);
>
> - Ticker = *(UINT64 *) (UINTN) (TopOfTemporaryRam - sizeof (UINT32) - Size
> - sizeof (UINT32) * 2);
> + Ticker = *(UINT64 *) (TopOfTemporaryRam - sizeof (UINT32) - Size -
> + sizeof (UINT32) * 2);
> Performance->ResetEnd = GetTimeInNanoSecond (Ticker);
>
> return EFI_SUCCESS;
> diff --git
> a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatf
> ormSecLib/SecPlatformInformation.c
> b/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatf
> ormSecLib/SecPlatformInformation.c
> index 5b94ed2b..ade36ab5 100644
> ---
> a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatf
> ormSecLib/SecPlatformInformation.c
> +++
> b/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlat
> +++ formSecLib/SecPlatformInformation.c
> @@ -36,7 +36,7 @@ SecPlatformInformation (
> UINT32 *Bist;
> UINT32 Size;
> UINT32 Count;
> - UINT32 TopOfTemporaryRam;
> + UINTN TopOfTemporaryRam;
> VOID *TopOfTemporaryRamPpi;
> EFI_STATUS Status;
>
> @@ -59,9 +59,9 @@ SecPlatformInformation (
> // This routine copies the BIST information to the buffer pointed by
> // PlatformInformationRecord for output.
> //
> - TopOfTemporaryRam = (UINT32)(UINTN)TopOfTemporaryRamPpi - sizeof
> (UINT32);
> + TopOfTemporaryRam = (UINTN)TopOfTemporaryRamPpi - sizeof
> (UINT32);
> TopOfTemporaryRam -= sizeof(UINT32) * 2;
> - Count = *((UINT32 *)(UINTN) (TopOfTemporaryRam - sizeof
> (UINT32)));
> + Count = *((UINT32 *)(TopOfTemporaryRam - sizeof (UINT32)));
> Size = Count * sizeof (IA32_HANDOFF_STATUS);
>
> if ((*StructureSize) < (UINT64) Size) {
> --
> 2.18.0.windows.1
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-09-07 4:19 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-09-05 6:19 [PATCH v2] MinPlatformPkg/SecFspWrapperPlatformSecLib: Change TopOfTemporaryRam type Zhang, Shenglei
2019-09-05 7:27 ` Chiu, Chasel
2019-09-07 4:19 ` Kubacki, Michael A
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox