Hi Maciej,
*CdePkg* is already integrated into EDK2 and satisfies all your needs
for pre-/post-memory
PEI, DXE, (SMM in latest releases only), BDS and UEFI Shell too.
I have introduced *CdePkg* for POST usage 2 years ago without any
interest of the “Tianocore Community”:
https://edk2.groups.io/g/devel/message/51562?p=,,,20,0,0,0::Created,,CdePkg,20,2,0,65191785
1. Klick on the email link above
2. Klick on the first link in that email, that goes to the
edk2-staging\cdepkg folder
3. read the HOWTO:
https://github.com/tianocore/edk2-staging/blob/CdePkg/README.md#howto
*and go for emulation – that works perfectly.*
4. I simply can’t do more for you, than to urgently encourage to try
it out yourself, test it, see what it can do for you
This time *toro C Library* (that is absolutely the same as the
library part of the latest
CdePkg
https://github.com/KilianKegel/CdePkg/blob/master/CdeLib/CdeLib.mak#L15)
for UEFI Shell will be discussed first, since “Tianocore Community”
is now aware of serious problems of edk2libc
and probably ready to examine my solution,that lacks all of those issues.
You, Maciej, can support *CdePkg/ toro C Library* by
1. testing *CdePkg*
2. giving feedback to the community
3. updating *CdePkg* to latest AAEON WhiskeyLake platform (that is
on my Desk for months but I simply don’t have time to get it
running…)
(MinnowBoard is deprecated now)
The license issue /can not/ be discussed /before/ there is any
serious interest in *CdePkg* and *toro C Library*.
But if you are seeking for a free solution, that
* requires unknown additional working hours
* requires a couple of high motivated maintainers, specialized in
Standard C
* countless patches will spam your inbox folder for years
* additionally with unpredictable result
please use edk2libc, PDCLIB or adjust NewLib for your needs.
>Unless those problems are solved, I simply cannot use it.
Right, but you are invited to take a test drive!
In the EDK2 Emulator. Debugging with the best Debugtool ever seen…
Try to get SysPrep and Redfish running in the Emulator.
Really, just do it!
> How can I verify what was actually implemented inside?
I will publish source code of *toro C Library* beginning 2022 and
discuss the design details along those files.
But, did you check glibc’s fopen-source before using it?
Have you ever seen
Microsoft/Borland/Symantec/ARM/IBM/Dinkumware/Greenhill/IAR … C
Libraries source code?
Thanks,
Kilian
Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for
Windows
*From: *Rabeda, Maciej <mailto:maciej.rab...@linux.intel.com>
*Sent: *Monday, November 22, 2021 05:31 PM
*To: *devel@edk2.groups.io; kilian_ke...@outlook.com
*Cc: *Rebecca Cran <mailto:rebe...@nuviainc.com>;
tim.le...@insyde.com; Mike Kinney
<mailto:michael.d.kin...@intel.com>; af...@apple.com; Leif Lindholm
<mailto:l...@nuviainc.com>; Richardson, Brian
<mailto:brian.richard...@intel.com>
*Subject: *Re: [edk2-devel] CdePkgBlog 2021-11-14
Hi Kilian,
From my point of view, the main problem with adoption of CdePkg to
EDK2 is that it relies on Torito C library.
1. Torito C library License
(https://github.com/KilianKegel/toro-C-Library/blob/master/LICENSE.md)
only allows for creating UEFI Shell applications.
* What about applications that do not rely on ShellPkg
(example: SysPrep application that might want to use Redfish,
which depends on C standard library)?
* What about drivers/libraries that rely on C standard library?
* How is that compatible with EDK2 BSD-2-Clause-Patent?
2. Torito C is pre-compiled.
* How can I verify what was actually implemented inside?
Industry would have to trust your tests, perform own set of
tests or/and disassemble it (doable, but unacceptable
effort-wise).
Unless those problems are solved, I simply cannot use it.
Thanks,
Maciej
On 14-Nov-21 20:51, Kilian Kegel wrote:
Hi All,
as announced last summer, I’d like to start a comprehensive
tutorial on
how to use Standard C / ANSI C in the UEFI environment and how to
design and implement
such a library for Shell and POST usage.
Since most parts of that comprehensive work are already done,
I will report, demonstrate and discuss implementation principles
and details on edk2.groups.io
as a kind of “blog” on a biweekly basis.
Please checkout my first CdePkgBlog
https://github.com/tianocore/edk2-staging/tree/CdePkg/blogs/2021-11-14#cdepkgblog-2021-11-14
and enjoy the breathtaking build speed if compiler and linker are
used exclusively to create MY LEGACY TOOLBOX,
a handy set of one-trick-ponies that I have been using for about
25 years.
Have fun,
Kilian