On Thu, Sep 23, 2021 at 12:38:24AM +0000, Xu, Min M wrote: > On September 22, 2021 3:49 PM, Gerd Hoffmann wrote: > > Hi, > > > > > +%ifdef ARCH_X64 > > > +; > > > +; TDX Metadata offset block > > > +; > > > +; TdxMetadata.asm is included in ARCH_X64 because Inte TDX is only ; > > > +available in ARCH_X64. Below block describes the offset of ; > > > +TdxMetadata block in Ovmf image ; ; GUID : > > > +e47a6535-984a-4798-865e-4685a7bf8ec2 > > > +; > > > +tdxMetadataOffsetStart: > > > + DD tdxMetadataOffsetStart - TdxMetadataGuid - 16 > > > + DW tdxMetadataOffsetEnd - tdxMetadataOffsetStart > > > + DB 0x35, 0x65, 0x7a, 0xe4, 0x4a, 0x98, 0x98, 0x47 > > > + DB 0x86, 0x5e, 0x46, 0x85, 0xa7, 0xbf, 0x8e, 0xc2 > > > +tdxMetadataOffsetEnd: > > > + > > > +%endif > > > > This should be switched to common ovmf metadata (see patches 4-7 of the > > SEV-SNP series). > > > > Min: please have a look at these patches. > >
> Hi, Gerd > I checked the patches 4-7 of the SEV-SNP series. The common > OvmfMetadata is designed for both SEV and TDX, right? That is the idea, yes. > If so, then it means the SEV and TDX metadata will be mixed in this > OvmfMetadata. Yes. > I am thinking there will always be different fields for > SEV and TDX. For example, SEV has PcdOvmfSecGhcbPageTable but TDX > doesn't need that page. If the common OvmfMetadata is consumed by > TDX-QEMU, then PcdOvmfSecGhcbPageTableBase will be initialized too. > That doesn't make sense. We have different range types. OVMF_* are the common areas. SEV_* will be used by sev only, TDX_* will be used by tdx only. TDX and SEV entries are allowed to overlap, i.e. PcdOvmfSecGhcbPageTableBase should have some SEV_* type for sev (I think this needs fixing in the series), and tdx can use the page for something else by adding an TDX_* entry for the same range. > I am thinking that SEV and TDX can keep their own Metadata (in > separate files, SevMetadata.asm and TdxMetadata.asm) which are pointed > by the SEV or TDX offsets in the GUID-ed chain in ResetVector. I'd very much prefer to have a single table to avoid duplication for the common memory areas and keep the reset vector small. Having separate SevMetadata.asm + TdxMetadata.asm files (then have OvmfMetadata.asm include these two) is an option. I think this isn't needed, we can also just group the entries in OvmfMetadata.asm. > In this case, SEV and TDX can design their own metadata flexibly, for > example, the attribute, the item structure, add/remove/update the > items, etc. Why have two ways to do the same thing? take care, Gerd -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#81019): https://edk2.groups.io/g/devel/message/81019 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] -=-=-=-=-=-=-=-=-=-=-=-