UefiCpuPkg/Library/MpInitLib/MpLib.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3385
A VS2012 build fails with a cast conversion warning when the SEV-ES work
area PCD is cast as a pointer to the SEV_ES_AP_JMP_FAR type.
When casting from a PCD value to a pointer, the cast should first be done
to a UINTN and then to the pointer. Update the code to perform a cast to
a UINTN before casting to a pointer to the SEV_ES_AP_JMP_FAR type.
Cc: Eric Dong <eric.dong@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
---
UefiCpuPkg/Library/MpInitLib/MpLib.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/UefiCpuPkg/Library/MpInitLib/MpLib.c b/UefiCpuPkg/Library/MpInitLib/MpLib.c
index 3d945972a025..dc2a54aa31e8 100644
--- a/UefiCpuPkg/Library/MpInitLib/MpLib.c
+++ b/UefiCpuPkg/Library/MpInitLib/MpLib.c
@@ -1265,7 +1265,7 @@ SetSevEsJumpTable (
UINT32 Offset, InsnByte;
UINT8 LoNib, HiNib;
- JmpFar = (SEV_ES_AP_JMP_FAR *) FixedPcdGet32 (PcdSevEsWorkAreaBase);
+ JmpFar = (SEV_ES_AP_JMP_FAR *) (UINTN) FixedPcdGet32 (PcdSevEsWorkAreaBase);
ASSERT (JmpFar != NULL);
//
--
2.31.0
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#74878): https://edk2.groups.io/g/devel/message/74878
Mute This Topic: https://groups.io/mt/82721039/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn> > -----邮件原件----- > 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Lendacky, > Thomas > 发送时间: 2021年5月10日 22:25 > 收件人: devel@edk2.groups.io > 抄送: Brijesh Singh <brijesh.singh@amd.com>; Eric Dong > <eric.dong@intel.com>; Ray Ni <ray.ni@intel.com>; Laszlo Ersek > <lersek@redhat.com>; Rahul Kumar <rahul1.kumar@intel.com> > 主题: [edk2-devel] [PATCH] UefiCpuPkg/MpInitLib: Properly cast from PCD to > SEV-ES jump table pointer > > BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3385 > > A VS2012 build fails with a cast conversion warning when the SEV-ES work > area PCD is cast as a pointer to the SEV_ES_AP_JMP_FAR type. > > When casting from a PCD value to a pointer, the cast should first be done > to a UINTN and then to the pointer. Update the code to perform a cast to > a UINTN before casting to a pointer to the SEV_ES_AP_JMP_FAR type. > > Cc: Eric Dong <eric.dong@intel.com> > Cc: Ray Ni <ray.ni@intel.com> > Cc: Laszlo Ersek <lersek@redhat.com> > Cc: Rahul Kumar <rahul1.kumar@intel.com> > Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com> > --- > UefiCpuPkg/Library/MpInitLib/MpLib.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/UefiCpuPkg/Library/MpInitLib/MpLib.c > b/UefiCpuPkg/Library/MpInitLib/MpLib.c > index 3d945972a025..dc2a54aa31e8 100644 > --- a/UefiCpuPkg/Library/MpInitLib/MpLib.c > +++ b/UefiCpuPkg/Library/MpInitLib/MpLib.c > @@ -1265,7 +1265,7 @@ SetSevEsJumpTable ( > UINT32 Offset, InsnByte; > UINT8 LoNib, HiNib; > > - JmpFar = (SEV_ES_AP_JMP_FAR *) FixedPcdGet32 > (PcdSevEsWorkAreaBase); > + JmpFar = (SEV_ES_AP_JMP_FAR *) (UINTN) FixedPcdGet32 > (PcdSevEsWorkAreaBase); > ASSERT (JmpFar != NULL); > > // > -- > 2.31.0 > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#74937): https://edk2.groups.io/g/devel/message/74937 Mute This Topic: https://groups.io/mt/82738081/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
On 5/10/21 10:04 PM, gaoliming via groups.io wrote: > Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn> Thanks, Liming. Sorry, for the delay, your email ended up in my Spam folder... urg, IT at its best. Anyway... The patch is changing enough that I don't think I should add your Reviewed-by: just yet. Look for a new version soon. Thanks, Tom > >> -----邮件原件----- >> 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Lendacky, >> Thomas >> 发送时间: 2021年5月10日 22:25 >> 收件人: devel@edk2.groups.io >> 抄送: Brijesh Singh <brijesh.singh@amd.com>; Eric Dong >> <eric.dong@intel.com>; Ray Ni <ray.ni@intel.com>; Laszlo Ersek >> <lersek@redhat.com>; Rahul Kumar <rahul1.kumar@intel.com> >> 主题: [edk2-devel] [PATCH] UefiCpuPkg/MpInitLib: Properly cast from PCD to >> SEV-ES jump table pointer >> >> BZ: https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugzilla.tianocore.org%2Fshow_bug.cgi%3Fid%3D3385&data=04%7C01%7Cthomas.lendacky%40amd.com%7Ce447839eff4f4dfcf2f408d9142974b8%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637566181281381668%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=Hy8B0K8gLfdQyPFtkIQlYGQ82r2f5x%2BRf0PkWilprjc%3D&reserved=0 >> >> A VS2012 build fails with a cast conversion warning when the SEV-ES work >> area PCD is cast as a pointer to the SEV_ES_AP_JMP_FAR type. >> >> When casting from a PCD value to a pointer, the cast should first be done >> to a UINTN and then to the pointer. Update the code to perform a cast to >> a UINTN before casting to a pointer to the SEV_ES_AP_JMP_FAR type. >> >> Cc: Eric Dong <eric.dong@intel.com> >> Cc: Ray Ni <ray.ni@intel.com> >> Cc: Laszlo Ersek <lersek@redhat.com> >> Cc: Rahul Kumar <rahul1.kumar@intel.com> >> Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com> >> --- >> UefiCpuPkg/Library/MpInitLib/MpLib.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/UefiCpuPkg/Library/MpInitLib/MpLib.c >> b/UefiCpuPkg/Library/MpInitLib/MpLib.c >> index 3d945972a025..dc2a54aa31e8 100644 >> --- a/UefiCpuPkg/Library/MpInitLib/MpLib.c >> +++ b/UefiCpuPkg/Library/MpInitLib/MpLib.c >> @@ -1265,7 +1265,7 @@ SetSevEsJumpTable ( >> UINT32 Offset, InsnByte; >> UINT8 LoNib, HiNib; >> >> - JmpFar = (SEV_ES_AP_JMP_FAR *) FixedPcdGet32 >> (PcdSevEsWorkAreaBase); >> + JmpFar = (SEV_ES_AP_JMP_FAR *) (UINTN) FixedPcdGet32 >> (PcdSevEsWorkAreaBase); >> ASSERT (JmpFar != NULL); >> >> // >> -- >> 2.31.0 >> >> >> >> >> > > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#75131): https://edk2.groups.io/g/devel/message/75131 Mute This Topic: https://groups.io/mt/82738081/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
On 05/10/21 16:24, Lendacky, Thomas wrote: > BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3385 > > A VS2012 build fails with a cast conversion warning when the SEV-ES work > area PCD is cast as a pointer to the SEV_ES_AP_JMP_FAR type. > > When casting from a PCD value to a pointer, the cast should first be done > to a UINTN and then to the pointer. Update the code to perform a cast to > a UINTN before casting to a pointer to the SEV_ES_AP_JMP_FAR type. > > Cc: Eric Dong <eric.dong@intel.com> > Cc: Ray Ni <ray.ni@intel.com> > Cc: Laszlo Ersek <lersek@redhat.com> > Cc: Rahul Kumar <rahul1.kumar@intel.com> > Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com> > --- > UefiCpuPkg/Library/MpInitLib/MpLib.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/UefiCpuPkg/Library/MpInitLib/MpLib.c b/UefiCpuPkg/Library/MpInitLib/MpLib.c > index 3d945972a025..dc2a54aa31e8 100644 > --- a/UefiCpuPkg/Library/MpInitLib/MpLib.c > +++ b/UefiCpuPkg/Library/MpInitLib/MpLib.c > @@ -1265,7 +1265,7 @@ SetSevEsJumpTable ( > UINT32 Offset, InsnByte; > UINT8 LoNib, HiNib; > > - JmpFar = (SEV_ES_AP_JMP_FAR *) FixedPcdGet32 (PcdSevEsWorkAreaBase); > + JmpFar = (SEV_ES_AP_JMP_FAR *) (UINTN) FixedPcdGet32 (PcdSevEsWorkAreaBase); > ASSERT (JmpFar != NULL); > > // > Reviewed-by: Laszlo Ersek <lersek@redhat.com> -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#75021): https://edk2.groups.io/g/devel/message/75021 Mute This Topic: https://groups.io/mt/82721039/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
On 05/10/21 16:24, Lendacky, Thomas wrote: > BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3385 > > A VS2012 build fails with a cast conversion warning when the SEV-ES work > area PCD is cast as a pointer to the SEV_ES_AP_JMP_FAR type. > > When casting from a PCD value to a pointer, the cast should first be done > to a UINTN and then to the pointer. Update the code to perform a cast to > a UINTN before casting to a pointer to the SEV_ES_AP_JMP_FAR type. > > Cc: Eric Dong <eric.dong@intel.com> > Cc: Ray Ni <ray.ni@intel.com> > Cc: Laszlo Ersek <lersek@redhat.com> > Cc: Rahul Kumar <rahul1.kumar@intel.com> > Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com> > --- > UefiCpuPkg/Library/MpInitLib/MpLib.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/UefiCpuPkg/Library/MpInitLib/MpLib.c b/UefiCpuPkg/Library/MpInitLib/MpLib.c > index 3d945972a025..dc2a54aa31e8 100644 > --- a/UefiCpuPkg/Library/MpInitLib/MpLib.c > +++ b/UefiCpuPkg/Library/MpInitLib/MpLib.c > @@ -1265,7 +1265,7 @@ SetSevEsJumpTable ( > UINT32 Offset, InsnByte; > UINT8 LoNib, HiNib; > > - JmpFar = (SEV_ES_AP_JMP_FAR *) FixedPcdGet32 (PcdSevEsWorkAreaBase); > + JmpFar = (SEV_ES_AP_JMP_FAR *) (UINTN) FixedPcdGet32 (PcdSevEsWorkAreaBase); > ASSERT (JmpFar != NULL); > > // > Merged as commit 6933c78e4dc2, via <https://github.com/tianocore/edk2/pull/1634>. Thanks Laszlo -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#75025): https://edk2.groups.io/g/devel/message/75025 Mute This Topic: https://groups.io/mt/82721039/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
© 2016 - 2024 Red Hat, Inc.