[edk2] Drop CSM support in OvmfPkg?

Ni, Ruiyu ruiyu.ni at intel.com
Mon Dec 17 02:44:30 PST 2018

> -----Original Message-----
> From: Laszlo Ersek <lersek at redhat.com>
> Sent: Monday, December 17, 2018 5:54 PM
> To: Ni, Ruiyu <ruiyu.ni at intel.com>; Justen, Jordan L
> <jordan.l.justen at intel.com>; Ard Biesheuvel <ard.biesheuvel at linaro.org>;
> Anthony Perard <anthony.perard at citrix.com>; Julien Grall
> <julien.grall at linaro.org>
> Cc: edk2-devel at lists.01.org; Kevin O'Connor <kevin at koconnor.net>; Gerd
> Hoffmann <kraxel at redhat.com>; David Woodhouse
> <dwmw2 at infradead.org>
> Subject: Re: Drop CSM support in OvmfPkg?
> (Adding Kevin, Gerd, David)
> On 12/17/18 03:23, Ni, Ruiyu wrote:
> > Hi OvmfPkg maintainers and reviewers,
> > I am working on removing IntelFrameworkModulePkg and
> IntelFrameworkPkg. The biggest dependency now I see is the CSM
> components that OVMF depends on.
> > So I'd like to know your opinion about how to handle this. I see two options
> here:
> >
> >   1.  Drop CSM support in OvmfPkg.
> >   2.  Create a OvmfPkg/Csm folder to duplicate all CSM components there.
> >
> > What's your opinion about this?
> (1) Personally I never use CSM builds of OVMF. The OVMF builds in RHEL and
> Fedora also don't enable the CSM (mainly because I had found debugging &
> supporting the CSM *extremely* difficult). For virtualization, we generally
> recommend "use SeaBIOS directly if you need a traditional BIOS guest".
Yes that was my original thought.

> (2) I'd be definitely unhappy about having to maintain the platform-
> independent CSM components under OvmfPkg (such as
> LegacyBootManagerLib, LegacyBootMaintUiLib, LegacyBiosDxe, VideoDxe).
You are very correct about the scope of CSM components.

> (3) However, David and Kevin had put a *lot* of work into enabling SeaBIOS
> to function as a CSM in combination with OVMF. Today, the CSM target is a
> dedicated / separate "build mode" of SeaBIOS.
I will wait for David and Kevin's comments.

> (4) I also think an open source CSM implementation should exist, just so
> people can study it and experiment with it. The CSM specification (from
> Intel) is a public document, and the edk2 code is the reference
> implementation for it. Killing the reference implementation makes the spec
> mostly useless. Are Intel withdrawing the spec too? (Or has that happened
> already?)
CSM implementation follows the CSM specification. I am not sure if there is
a public spec, an accordingly implementation should exist.
For example, there is a framework HII spec which defines
EFI_FORM_BROWSER_PROTOCOL. But there is no implementation of such
protocol now in edk2 repo, only implementation of

> In short, I think the community would benefit if someone continued to
> maintain the CSM infrastructure in edk2, but personally I won't volunteer. I
> also understand if Intel has no more resources for it.
> Removing CSM from edk2 altogether (including OVMF) might be the natural
> (albeit regrettable) result.

I just see not much benefit of maintaining CSM in edk2 since now major OSVs
don't support CSM boot anymore. Correct me if I am wrong.

> Thanks
> Laszlo

More information about the edk2-devel mailing list