public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Gerd Hoffmann" <kraxel@redhat.com>
To: Laszlo Ersek <lersek@redhat.com>
Cc: Min Xu <min.m.xu@intel.com>,
	devel@edk2.groups.io, Anthony Perard <anthony.perard@citrix.com>,
	Ard Biesheuvel <ardb+tianocore@kernel.org>,
	Brijesh Singh <brijesh.singh@amd.com>,
	Erdem Aktas <erdemaktas@google.com>,
	James Bottomley <jejb@linux.ibm.com>,
	Jiewen Yao <jiewen.yao@intel.com>,
	Jordan Justen <jordan.l.justen@intel.com>,
	Julien Grall <julien@xen.org>, Peter Grehan <grehan@freebsd.org>,
	Rebecca Cran <rebecca@bsdio.com>,
	Sebastien Boeuf <sebastien.boeuf@intel.com>,
	Tom Lendacky <thomas.lendacky@amd.com>
Subject: Re: [PATCH V1 1/1] OvmfPkg/IntelTdxX64: Raise DXEFV size to 13MB
Date: Fri, 6 Jan 2023 07:40:19 +0100	[thread overview]
Message-ID: <20230106064019.fzzadlwjs676hv4g@sirius.home.kraxel.org> (raw)
In-Reply-To: <136b74e1-7966-0748-6bcc-c49c80a25082@redhat.com>

> > Also we maybe should move the MEMFD section to a Include/Fdf snippet
> > to reduce code duplication and make it easier to keep things in sync?
> 
> The problem with centralized code is the same as the advantage of
> centralized code. You modify it once and it affects everything. But for
> example I cannot *test* everything. Code duplication in edk2 has helped
> in the past with separating responsibilities.

Sure, we have to check where sharing makes sense and where not on a
case-by-case base.  Some truely generic bits (like the list of usb
drivers, or crypto/network support) might make sense to share across all
platforms.

Platform-specific bits are a different story.  They would probably be
restricted to the three kvm variants we have (i.e. OvmfPkgIa32,
OvmfPkgIa32X64, OvmfPkgX64).  Possibly AmdSev and IntelTdx too (again
depending on the kind if change).

> This was one of my main driving principles during the initial
> discussions about TDX. I think extracting further commonalities between
> the TDX platform(s) and the traditional platforms works against that.
> It creates an area where modifications must be tested at the same (for the
> same patches) by multiple disparate teams. I know I couldn't do that.
> Cloning BZs and posting ported patches helps.
> 
> At the same time: if regular maintainers *can* and *are willing* to test
> such central changes in *all* affected platforms, then yes,
> centralization is absolutely vital, because then it *saves* work. So I
> guess it must reflect the community's structure.

I think with PlatformInitLib is a nice solution for that.  It allows to
share code instead of cut+pasting stuff.  But the different platforms
still have their own setup code.  They can use all, some or none of
the helper functions from the library and we also don't have a single
code path which must detect and handle all possible cases at runtime.

take care,
  Gerd


  reply	other threads:[~2023-01-06  6:40 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-05  7:21 [PATCH V1 1/1] OvmfPkg/IntelTdxX64: Raise DXEFV size to 13MB Min Xu
2023-01-05 11:31 ` Gerd Hoffmann
2023-01-05 16:28   ` Laszlo Ersek
2023-01-06  6:40     ` Gerd Hoffmann [this message]
2023-01-06  0:49   ` Min Xu
2023-01-06  6:48     ` Gerd Hoffmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230106064019.fzzadlwjs676hv4g@sirius.home.kraxel.org \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox