On January 14, 2022 4:32 PM, Gerd Hoffmann wrote:
> > > I don't see that PEI-less boot is required for that.  Sure, when
> > > stripping down the build and removing all the features which require
> > > PEIMs there isn't much left to do for the PEI phase.  So it makes
> > > sense to look into dropping PEI altogether.  But it's more a "nice to 
> > > have"
> > > than a hard requirement, no?
> 
> > No. I have to say PEI-less boot in Config-B is a hard requirement.
> 
> I'm still wondering why though.  I have not yet seen a reason why config-b
> can't use the PEI-based boot flow.
Hi, Gerd, I think Jiewen has discussed this (PEI-less boot in Config-B) in 
another mail thread. We can continue the discussion there. Let's first focus on 
the PlatformInitLib here. Thanks for your understanding.
> 
> > > > 4. But a basic version of PlatformInitLib is a good start.
> > >
> > > Yes.  Having initially only the functions needed by config-b in
> > > PlatformInitLib is perfectly fine, but this should be a code *move* not a
> copy.
> > >
> > > > During the development and community review, we can understand
> > > > better what functions should be wrapped into PlatformInitLib.
> > > > After that PlatformInitLib can be evolved for OvmfPkg/PlatformPei,
> > > > Bhyve/PlatformPei, XenPlatformPei.
> > >
> > > Yes, most likely there are a number of opportunities to reduce code
> > > duplication in the three PlatformPei variants we have by moving code
> > > to the
> > > (shared) PlatformInitLib.
> > >
> > > That can be looked at later.
> >
> > So let me summarize the discussion about PlatformInitLib.
> 
> > 1. PlatformInitLib wraps the common functions in OvmfPkg/PlatformPei.
> > These common functions covers the memory detection via fw_cfg, pci
> > init, cmos, (MemDetect.c/Platform.c/Cmos.c).
> 
> Yes.  Everything needed for PEI-less / config-b boot moves to PlatformInitLib.
> 
> PlatformInitLib is added as dependency to OvmfPkg/PlatformPei, so
> PlatformPei can call those functions when booting with PEI.
> 
> PEI-less boot will add PlatformInitLib to SEC (and DXE) instead so the same
> code can be used then.
> 
> Not sure how to handle cmos best.  Not needed for memory detection on
> qemu, but cloudhw depends on it so it is back for now.  Will cloudhw support
> tdx too btw?
Yes, Cloudhw support TDX too. Actually we have some PoC and plan to upstream it 
later.
BTW, cmos is needed in GetSystemMemorySizeBelow4gb which call CmosRead for 
0x34/0x35.
> 
> > And PlatformInitLib will
> > not handle the S3/SMM variants.
> 
> At least not initially.  Maybe later when we move more code to the lib to
> reduce code duplication in xen/bhyve/qemu PlatformPei variants.
> 
> > 2. OvmfPkg/PlatformPei will be refactored with PlatformInitLib. The
> > functions not needed by config-b stay in PlatformPei.
> 
> > 3. Config-B support PEI-less boot for both legacy guest and td guest.
> 
> Yes.

Thanks
Min


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


Reply via email to