public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Benjamin Mordaunt" <crawford.benjamin15@gmail.com>
To: devel@edk2.groups.io
Subject: DSC nightmare
Date: Sun, 19 Feb 2023 17:36:50 -0800	[thread overview]
Message-ID: <MhzZ.1676857010226272807.LTkM@groups.io> (raw)

[-- Attachment #1: Type: text/plain, Size: 1274 bytes --]

Hi,

I am working on implementing a new Arm platform in edk2-platforms, and have reached the stage of tackling writing a DSC to describe it, along with a "dsc.inc" which contains defines etc. common to platforms sharing the same SoC. I'm using, as reference the platforms currently present in the repository, such as RPi, Beagleboard and HiKey.

However, it's a horrible process and I can't wrap my head around why I need to list hundreds of libraries (in the LibraryClasses.X) sections, seemingly by hand. By the looks of it, most of them pull from ArmPkg, ArmPlatformPkg, MdePkg etc., being either the default implementations of these libraries, or "Null" versions which stub out the functionality. Only a few are platform specific, such as some drivers I've implemented (display, serial etc.).

Not only that, I then need to list them all over again for each EFI boot stage, SEC, PEI_CORE, PEIM and so on... why?! Why can't I just say "Hey, this is an aarch64 platform with the following drivers/libraries/quirks for my platform. It's a huge pain, not to mention a maintenance nightmare...

Am I looking at this wrong? This seems like an obvious problem and greatly increases the labour and maintenance effort required to implement a new platform.

---

Ben

[-- Attachment #2: Type: text/html, Size: 1322 bytes --]

             reply	other threads:[~2023-02-20  1:36 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-20  1:36 Benjamin Mordaunt [this message]
2023-02-23  1:19 ` [edk2-devel] DSC nightmare Andrew Fish
     [not found]   ` <CANtEDzSL1hxwhACgHNMRd_c8_4YVF0sbX64ROTnLNPYFaqeiHA@mail.gmail.com>
2023-02-24 11:25     ` Benjamin Mordaunt
2023-03-01 22:49       ` Nate DeSimone

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=MhzZ.1676857010226272807.LTkM@groups.io \
    --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