hello all: Currently, the version in sys/contrib/edk2 is stable202005. Is it possible to upgrade to the latest version edk2-stable202411? The new version of edk2 supports the LoongArch architecture, and we are attempting to enable FreeBSD support for the LoongArch architecture. Thank you. https://github.com/tianocore/edk2/releases
Created attachment 255535 [details] upgrade edk2
^Triage: reclassify this a bit. Also add "vendor" Keyword.
Which files were you hoping would be updated? Using the normal update instructions, I have: sys/contrib/edk2/MdePkg/Include/Base.h | 712 ++++++----- sys/contrib/edk2/MdePkg/Include/Guid/HiiFormMapMethodGuid.h | 2 +- sys/contrib/edk2/MdePkg/Include/Guid/PcAnsi.h | 12 +- sys/contrib/edk2/MdePkg/Include/Guid/WinCertificate.h | 32 +- sys/contrib/edk2/MdePkg/Include/IndustryStandard/Acpi10.h | 473 +++---- sys/contrib/edk2/MdePkg/Include/IndustryStandard/Acpi20.h | 348 ++--- sys/contrib/edk2/MdePkg/Include/IndustryStandard/Acpi30.h | 464 +++---- sys/contrib/edk2/MdePkg/Include/IndustryStandard/Acpi40.h | 1042 +++++++-------- sys/contrib/edk2/MdePkg/Include/IndustryStandard/Acpi50.h | 1517 +++++++++++----------- sys/contrib/edk2/MdePkg/Include/IndustryStandard/Acpi51.h | 1631 +++++++++++------------ sys/contrib/edk2/MdePkg/Include/IndustryStandard/Acpi60.h | 1905 +++++++++++++-------------- sys/contrib/edk2/MdePkg/Include/IndustryStandard/AcpiAml.h | 305 ++--- sys/contrib/edk2/MdePkg/Include/IndustryStandard/Bluetooth.h | 18 +- sys/contrib/edk2/MdePkg/Include/Library/BaseLib.h | 2848 ++++++++++++++++++++++------------------- sys/contrib/edk2/MdePkg/Include/Library/DebugLib.h | 237 +++- sys/contrib/edk2/MdePkg/Include/Library/DevicePathLib.h | 38 +- sys/contrib/edk2/MdePkg/Include/Library/MemoryAllocationLib.h | 2 +- sys/contrib/edk2/MdePkg/Include/Library/PcdLib.h | 848 ++---------- sys/contrib/edk2/MdePkg/Include/Library/PrintLib.h | 151 +-- sys/contrib/edk2/MdePkg/Include/Library/UefiBootServicesTableLib.h | 4 +- sys/contrib/edk2/MdePkg/Include/Protocol/DebugPort.h | 21 +- sys/contrib/edk2/MdePkg/Include/Protocol/DevicePath.h | 592 ++++----- sys/contrib/edk2/MdePkg/Include/Protocol/DevicePathFromText.h | 11 +- sys/contrib/edk2/MdePkg/Include/Protocol/DevicePathToText.h | 12 +- sys/contrib/edk2/MdePkg/Include/Protocol/DevicePathUtilities.h | 33 +- sys/contrib/edk2/MdePkg/Include/Protocol/SimpleTextIn.h | 19 +- sys/contrib/edk2/MdePkg/Include/Protocol/SimpleTextInEx.h | 124 +- sys/contrib/edk2/MdePkg/Include/Protocol/SimpleTextOut.h | 96 +- sys/contrib/edk2/MdePkg/Include/Uefi.h | 1 - sys/contrib/edk2/MdePkg/Include/Uefi/UefiBaseType.h | 145 ++- sys/contrib/edk2/MdePkg/Include/Uefi/UefiGpt.h | 36 +- sys/contrib/edk2/MdePkg/Include/Uefi/UefiInternalFormRepresentation.h | 1480 ++++++++++----------- sys/contrib/edk2/MdePkg/Include/Uefi/UefiMultiPhase.h | 58 +- sys/contrib/edk2/MdePkg/Include/Uefi/UefiPxe.h | 608 +++++---- sys/contrib/edk2/MdePkg/Include/Uefi/UefiSpec.h | 489 +++---- sys/contrib/edk2/MdePkg/MdeLibs.dsc.inc | 40 + sys/contrib/edk2/MdePkg/MdePkg.ci.yaml | 198 +++ sys/contrib/edk2/MdePkg/MdePkg.dec | 240 +++- sys/contrib/edk2/MdePkg/MdePkg.dsc | 210 +++ sys/contrib/edk2/MdePkg/MdePkg.uni | 421 ++++++ 40 files changed, 9185 insertions(+), 8238 deletions(-) which looks a lot like the diff you posted... Is that right (or close to right)?
Also, if there's a way to follow along via qemu I'd like to do that since I'm sure there will be boot loader things that come up....
(In reply to Warner Losh from comment #4) Is this response directed at me? Yes, we are indeed trying to use QEMU for related work. I noticed that the EDK2 version included in the basic system is from several years ago, so I suggested updating EDK2 to the latest version. The latest version has added support for LoongArch, which could potentially be helpful for me.
(In reply to Warner Losh from comment #3) I confirmed with yushanwei that he made it earlier on the edk2 master branch. I reviewed it, and this patch version is definitely lower than the released "edk2-stable202411". The last commit of "edk2-stable20241" modified "RETURN_ERROR(StatusCode)", so its version is definitely lower than "edk2-stable20241". https://github.com/tianocore/edk2/commit/1a89d9887ff41e804610c5687e646fe30af2d7b2 ``` @@ -992,138 +1056,138 @@ typedef UINTN RETURN_STATUS; @retval FALSE The high bit of StatusCode is clear. **/ -#define RETURN_ERROR(StatusCode) (((INTN)(RETURN_STATUS)(StatusCode)) < 0) +#define RETURN_ERROR(StatusCode) (((INTN)(RETURN_STATUS)(StatusCode)) < 0) /// /// The operation completed successfully. /// ``` You can directly use your version update, or I can create a new patch with "edk2-stable20241". Thank you.
I'm really asking if you need new files imported inaddition to updating the subset of files included.
(In reply to Warner Losh from comment #7) Currently, MdePkg/Include/Protocol/MpService.h is still needed, but I am not sure if this will conflict with the current FreeBSD import specifications, so you can also update according to the original standard for now.
Warner is looking at updating our EFI headers.