public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* DSC nightmare
@ 2023-02-20  1:36 Benjamin Mordaunt
  2023-02-23  1:19 ` [edk2-devel] " Andrew Fish
  0 siblings, 1 reply; 4+ messages in thread
From: Benjamin Mordaunt @ 2023-02-20  1:36 UTC (permalink / raw)
  To: devel

[-- 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 --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-03-01 22:50 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-20  1:36 DSC nightmare Benjamin Mordaunt
2023-02-23  1:19 ` [edk2-devel] " Andrew Fish
     [not found]   ` <CANtEDzSL1hxwhACgHNMRd_c8_4YVF0sbX64ROTnLNPYFaqeiHA@mail.gmail.com>
2023-02-24 11:25     ` Benjamin Mordaunt
2023-03-01 22:49       ` Nate DeSimone

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox