On November 4, 2021 11:21 PM, Tom Lendacky wrote: > On 11/4/21 3:10 AM, Gerd Hoffmann wrote: > > On Wed, Nov 03, 2021 at 12:57:37PM +0000, Xu, Min M wrote: > >> On November 3, 2021 2:09 PM, Gerd Hoffmann wrote: > >>>> +++ b/UefiCpuPkg/Library/MpInitLib/X64/IntelTdcall.nasm > >>>> @@ -0,0 +1,120 @@ > >>>> +;----------------------------------------------------------------- > >>>> +--- > >>>> +---------- > >>>> +;* > >>>> +;* Copyright (c) 2020 - 2021, Intel Corporation. All rights > >>>> +reserved.<BR> > >>>> +;* SPDX-License-Identifier: BSD-2-Clause-Patent > >>>> +;* > >>>> +;* > >>>> +;----------------------------------------------------------------- > >>>> +--- > >>>> +---------- > >>>> + > >>>> +DEFAULT REL > >>>> +SECTION .text > >>>> + > >>>> +%macro tdcall 0 > >>>> + db 0x66,0x0f,0x01,0xcc > >>>> +%endmacro > >>> > >>> Hmm, could you just use TdxLib instead of bringing your own copy of > >>> the assembler code? > > > >> My initial thought was to include TdxLib in the .dsc as little as > >> possible. For example, DxeMpInitLib is included in > >> OvmfPkg/Microvm/MicrovmX64.dsc. If TdxLib is used by DxeMpInitLib, > >> then it has to be included in MicrovmX64.dsc as well. > > > > Hmm, yes. Adding a TdxLib dependency has its downsides indeed. > > > >> So I copy the assemble code in MpInitLib. > > > > The problem with copying code is that long-term maintenance becomes > > harder. When a bug is found you have to find and fix all the copies > > of that code. That's why I strongly prefer to avoid code copy&paste. > > Sometimes there is no easy way around creating a copy though. > > Can't you create something in MdePkg/Library/Baselib and then use it > everywhere it's needed? > Do you mean put the basic Tdx functions in MdePkg/Library/BaseLib? If that is the case, then I would add below basic Tdx functions in BaseLib: - TdIsEnabled () - TdCall () - TdVmCall ()
Gerd, what's your thought? Thanks Min -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#83357): https://edk2.groups.io/g/devel/message/83357 Mute This Topic: https://groups.io/mt/86739862/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-