On September 25, 2021 11:21 AM, Brijesh Singh wrote:
> Hi Min,
> 
> 
> On 9/24/21 7:03 PM, Xu, Min M wrote:
> > On September 24, 2021 6:58 PM, Brijesh Singh wrote:
> >> Hi Min,
> >>
> >> On 9/21/21 4:05 AM, Min Xu wrote:
> >>>  ;
> >>>  ; Modified:  EAX, EBX, ECX, EDX
> >>>  ;
> >>>  SetCr3ForPageTables64:
> >>> -
> >>> -    ; Clear the WorkArea header. The SEV probe routines will populate the
> >>> -    ; work area when detected.
> >>> -    mov     byte[WORK_AREA_GUEST_TYPE], 0
> >> Why you are removing the above block ? The workarea hdr must be
> >> initialized to zero, its not safe to assume that the guest memory is
> >> zero'ed in the non- encrypted case.
> >>
> > Hi, Brijesh
> > Please see below explanation (It is in the commit message)
> > - In Main16 entry point, after TransitionFromReal16To32BitFlat,
> >    WORK_AREA_GUEST_TYPE is cleared to 0. WORK_AREA_GUEST_TYPE was
> >    previously cleared in SetCr3ForPageTables64 (see commit ab77b60).
> >    This doesn't work after TDX is introduced in Ovmf. It is because all
> >    TDX CPUs (BSP and APs) start to run from 0xfffffff0. In previous code
> >    WORK_AREA_GUEST_TYPE will be cleared multi-times in TDX guest. So for
> >    SEV and Legacy guest it is moved to Main16 entry point (after
> >    TransitionFromReal16To32BitFlat). For TDX guest
> WORK_AREA_GUEST_TYPE
> >    is cleared and set in InitTdxWorkarea
> 
> thanks for clarifying it.
> 
> This is very busy commit and making several changes at once, so some of
> important common code movement is getting lost. Maybe I recommend you to
> please break it into multiple. e,g  this particular change can be very easily 
> broken
> into two commits
> 
> 1) Since TDX support need the change in the boot flow, and you are no longer
> using the Main.asm from the UefiCpuPkg. This can be a pre-patch in which you
> copy UefiCpuPkg/ResetVector/Vtf0/main.asm ->
> OvmfPkg/ResetVector/Main.asm and document reason behind the move.
> 
> 2) Remove clearing of workarea from SetCr3ForPageTables64 to Main.asm
> 
> Now that we have override for the Main.asm, I think clearing of the workarea
> should be done for all architecture (Ia32, x64) to cover the cases where
> someone builds the OVMF for 32bit or IA32 and X64.
> 
Thanks for reminder. I have updated the patch-set as you mentioned. But I am 
waiting for a conclusion of the Metadata, a unified metadata or two separate 
metadata.

Hoffmann and Jiewen
Do we have a conclusion?

Thanks
Min


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#81131): https://edk2.groups.io/g/devel/message/81131
Mute This Topic: https://groups.io/mt/85761661/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to