Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 11 Jan 2026 15:28:27 +0000
From:      Robert Clausecker <fuz@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Cc:        Alexey <9vlc@proton.me>
Subject:   git: bafbff663ba5 - main - sysutils/edk2: update to 2025008
Message-ID:  <6963c19b.d83f.60c977e1@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by fuz:

URL: https://cgit.FreeBSD.org/ports/commit/?id=bafbff663ba59c9c6f10acecc3c4b86dee155f43

commit bafbff663ba59c9c6f10acecc3c4b86dee155f43
Author:     Alexey <9vlc@proton.me>
AuthorDate: 2026-01-10 21:34:46 +0000
Commit:     Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2026-01-11 15:27:49 +0000

    sysutils/edk2: update to 2025008
    
    Patch to update EDK2 OVMF firmware package used in bhyve and some ARM
    platforms from 2023 to 2025 stable release. New submodules added in
    GH_TUPLE, some script for build has been moved to a bash subshell.
    
    BHYVE notices: tiny boot speedup, a bug with crashing on CPU sensor
    wmsr from HWiNFO has stopped occurring, a bug with glibc apps crashing
    in Linux VMs has stopped occurring, a crash on memtest86+ with more
    than 1 vCPU has stopped occurring.
    
    No new bugs seem to have surfaced.
    
    PR:             285554
    Tested by:      novel
    MFH:            2025Q4
---
 sysutils/edk2/Makefile                             | 130 ++++----
 sysutils/edk2/distinfo                             |  50 +--
 ..._OpensslLib_openssl_include_openssl_byteorder.h |  15 +
 ...ch-OvmfPkg_Bhyve_AcpiPlatformDxe_AcpiPlatform.c |  38 ---
 .../patch-OvmfPkg_Bhyve_PlatformPei_Platform.c     |  13 -
 sysutils/edk2/files/patch-remove-memattr-protocol  | 353 +++++++++++++++++++++
 6 files changed, 472 insertions(+), 127 deletions(-)

diff --git a/sysutils/edk2/Makefile b/sysutils/edk2/Makefile
index 5b1947c88b2d..838625b6f90e 100644
--- a/sysutils/edk2/Makefile
+++ b/sysutils/edk2/Makefile
@@ -1,13 +1,12 @@
 PORTNAME=	edk2
-PORTVERSION=	g202308
-PORTREVISION=	5
+PORTVERSION=	g202508
 CATEGORIES=	sysutils
 
 PATCH_SITES=	https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
 
 MAINTAINER=	uboot@FreeBSD.org
 COMMENT=	EDK2 Firmware for ${FLAVOR}
-WWW=	https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/
+WWW=		https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/
 
 LICENSE=	BSD3CLAUSE
 
@@ -15,39 +14,49 @@ ONLY_FOR_ARCHS=		aarch64 amd64
 ONLY_FOR_ARCHS_REASON=	only provides firmware for aarch64 and amd64
 
 PKGNAMESUFFIX=	-${FLAVOR:C/_/-/g}
-FLAVORS=	macchiatobin fvp rpi3 rpi4 xen_x64 bhyve qemu_x64 qemu_i386
+FLAVORS=	bhyve macchiatobin fvp rpi3 rpi4 xen_x64 qemu_x64 qemu_i386
 
-USES=	cpe gmake python:build
+USES=	dos2unix cpe gmake python:build
 CPE_VENDOR=	tianocore
-USE_GCC=	yes:build
+USE_GCC=	yes
+DOS2UNIX_FILES=	UefiCpuPkg/CpuDxe/CpuDxe.inf \
+		UefiCpuPkg/CpuDxe/CpuDxe.c \
+		UefiCpuPkg/CpuDxe/CpuPageTable.c \
+		UefiCpuPkg/CpuDxe/CpuPageTable.h
 
 BUILD_DEPENDS+=	dtc>=1.4.1:sysutils/dtc \
 		bash:shells/bash
 
 # Both platform and non-osi repository don't have release, use latest known to work tag
-PLATFORM_TAG=	e509ac5a72
-NONOSI_TAG=	8c09bd0955
+PLATFORM_TAG=	aa035ed7f469295802d51c7c001477e32da8a65f
+NONOSI_TAG=	3415f616e08a0d9c7bd264cab674929a7b0f5e33
 
 USE_GITHUB=	yes
 GH_ACCOUNT=	tianocore
-GH_TAGNAME=	edk2-stable202308
+GH_TAGNAME=	edk2-stable202508
 GH_TUPLE=	tianocore:edk2-platforms:${PLATFORM_TAG}:platforms \
 		tianocore:edk2-non-osi:${NONOSI_TAG}:nonosi \
-		google:brotli:v1.0.9-35-gf4153a0:brotli/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli \
-		google:googletest:release-1.8.0-2983-g86add134:googletest/UnitTestFrameworkPkg/Library/GoogleTestLib/googletest \
-		MIPI-Alliance:public-mipi-sys-t:v1.1+edk2:mipisyst/MdePkg/Library/MipiSysTLib/mipisyst \
-		openssl:openssl:openssl-3.0.9:openssl/CryptoPkg/Library/OpensslLib/openssl \
-		tianocore:edk2-cmocka:cmocka-1.1.5-23-g1cc9cde:cmocka/UnitTestFrameworkPkg/Library/CmockaLib/cmocka
+		tianocore:edk2-subhook:83d4e1ebef3588fae48b69a7352cc21801cb70bc:edk2_subhook/UnitTestFrameworkPkg/Library/SubhookLib/subhook \
+		tianocore:edk2-cmocka:1cc9cde3448cdd2e000886a26acf1caac2db7cf1:edk2_cmocka/UnitTestFrameworkPkg/Library/CmockaLib/cmocka \
+		openssl:openssl:aea7aaf2abb04789f5868cbabec406ea43aa84bf:openssl/CryptoPkg/Library/OpensslLib/openssl \
+		kkos:oniguruma:4ef89209a239c1aea328cf13c05a2807e5c146d1:oniguruma/MdeModulePkg/Universal/RegularExpressionDxe/oniguruma \
+		google:googletest:86add13493e5c881d7e4ba77fb91c1f57752b3a4:googletest/UnitTestFrameworkPkg/Library/GoogleTestLib/googletest \
+		google:brotli:f4153a09f87cbb9c826d8fc12c74642bb2d879ea:brotli/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli \
+		devicetree-org:pylibfdt:cfff805481bdea27f900c32698171286542b8d3c:pylibfdt/MdePkg/Library/BaseFdtLib/libfdt \
+		akheron:jansson:e9ebfa7e77a6bee77df44e096b100e7131044059:jansson/RedfishPkg/Library/JsonLib/jansson \
+		MIPI-Alliance:public-mipi-sys-t:370b5944c046bab043dd8b133727b2135af7747a:public_mipi_sys_t/MdePkg/Library/MipiSysTLib/mipisyst \
+		DMTF:libspdm:98ef964e1e9a0c39c7efb67143d3a13a819432e0:libspdm/SecurityPkg/DeviceSecurity/SpdmLib/libspdm \
+		ARMmbed:mbedtls:8c89224991adff88d53cd380f42a2baa36f91454:mbedtls/CryptoPkg/Library/MbedTlsLib/mbedtls
 
 .include <bsd.port.pre.mk>
 
 # Heavily dependent on bsd.port.pre.mk definitions for lang/gcc* details:
 BINARY_ALIAS=	make=${GMAKE} \
-		dtc=${LOCALBASE}/bin/dtc \
-		ar=${AR} \
 		gcc=${LOCALBASE}/bin/${CC} \
-		gcc-ar=${LOCALBASE}/bin/${CC:S/gcc/&-ar/} \
 		g++=${LOCALBASE}/bin/${CXX} \
+		gcc-nm=${LOCALBASE}/bin/${CC:S/gcc/&-nm/} \
+		gcc-ar=${LOCALBASE}/bin/${CC:S/gcc/&-ar/} \
+		gcc-ranlib=${LOCALBASE}/bin/${CC:S/gcc/&-ranlib/} \
 		python3=${PYTHON_CMD} python=${PYTHON_CMD}
 
 # Avoid: "ld-elf.so.1: /lib/libgcc_s.so.1: version GCC_4.5.0
@@ -65,7 +74,7 @@ PLAT_ARCH=	AARCH64
 PLAT_ARGS+=	-D X64EMU_ENABLE=FALSE -D CAPSULE_ENABLE=FALSE
 PLAT_TARGET=	RELEASE
 PLATFILE=	Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc
-PLAT_RESULT=	ArmVExpress-FVP-AArch64/${PLAT_TARGET}_GCC5/FV/FVP_AARCH64_EFI.fd
+PLAT_RESULT=	ArmVExpress-FVP-AArch64/${PLAT_TARGET}_GCC/FV/FVP_AARCH64_EFI.fd
 PLAT_FILENAME=	FVP_AARCH64_EFI.fd
 .endif
 
@@ -75,7 +84,7 @@ PLAT_ARCH=	AARCH64
 PLAT_ARGS+=	-D X64EMU_ENABLE=TRUE -D CAPSULE_ENABLE=FALSE
 PLAT_TARGET=	RELEASE
 PLATFILE=	Platform/SolidRun/Armada80x0McBin/Armada80x0McBin.dsc
-PLAT_RESULT=	Armada80x0McBin-AARCH64/${PLAT_TARGET}_GCC5/FV/ARMADA_EFI.fd
+PLAT_RESULT=	Armada80x0McBin-AARCH64/${PLAT_TARGET}_GCC/FV/ARMADA_EFI.fd
 PLAT_FILENAME=	ARMADA_EFI.fd
 .endif
 
@@ -85,7 +94,7 @@ PLAT_ARCH=	AARCH64
 PLAT_ARGS+=	-D X64EMU_ENABLE=FALSE -D CAPSULE_ENABLE=FALSE
 PLAT_TARGET=	RELEASE
 PLATFILE=	Platform/RaspberryPi/RPi3/RPi3.dsc
-PLAT_RESULT=	RPi3/${PLAT_TARGET}_GCC5/FV/RPI_EFI.fd
+PLAT_RESULT=	RPi3/${PLAT_TARGET}_GCC/FV/RPI_EFI.fd
 PLAT_FILENAME=	RPI_EFI.fd
 .endif
 
@@ -95,7 +104,7 @@ PLAT_ARCH=	AARCH64
 PLAT_ARGS+=	-D X64EMU_ENABLE=FALSE -D CAPSULE_ENABLE=FALSE
 PLAT_TARGET=	RELEASE
 PLATFILE=	Platform/RaspberryPi/RPi4/RPi4.dsc
-PLAT_RESULT=	RPi4/${PLAT_TARGET}_GCC5/FV/RPI_EFI.fd
+PLAT_RESULT=	RPi4/${PLAT_TARGET}_GCC/FV/RPI_EFI.fd
 PLAT_FILENAME=	RPI_EFI.fd
 .endif
 
@@ -106,7 +115,7 @@ PLAT=		xen
 PLAT_ARCH=	X64
 PLAT_TARGET=	RELEASE
 PLATFILE=	OvmfPkg/OvmfXen.dsc
-PLAT_RESULT=	OvmfXen/${PLAT_TARGET}_GCC5/FV/OVMF.fd
+PLAT_RESULT=	OvmfXen/${PLAT_TARGET}_GCC/FV/OVMF.fd
 PLAT_FILENAME=	XEN_X64_EFI.fd
 .endif
 
@@ -118,13 +127,12 @@ PLAT_ARCH=	X64
 PLAT_ARGS+=	-D SECURE_BOOT_ENABLE=TRUE -D TPM2_ENABLE=TRUE
 PLAT_TARGET=	RELEASE
 PLATFILE=	OvmfPkg/Bhyve/BhyveX64.dsc
-PLAT_RESULT=	BhyveX64/${PLAT_TARGET}_GCC5/FV/BHYVE.fd
-PLAT_RESULT_CODE=	BhyveX64/${PLAT_TARGET}_GCC5/FV/BHYVE_CODE.fd
-PLAT_RESULT_VARS=	BhyveX64/${PLAT_TARGET}_GCC5/FV/BHYVE_VARS.fd
+PLAT_RESULT=	BhyveX64/${PLAT_TARGET}_GCC/FV/BHYVE.fd
+PLAT_RESULT_CODE=	BhyveX64/${PLAT_TARGET}_GCC/FV/BHYVE_CODE.fd
+PLAT_RESULT_VARS=	BhyveX64/${PLAT_TARGET}_GCC/FV/BHYVE_VARS.fd
 PLAT_FILENAME=	BHYVE_UEFI.fd
 PLAT_FILENAME_CODE=	BHYVE_UEFI_CODE.fd
 PLAT_FILENAME_VARS=	BHYVE_UEFI_VARS.fd
-PATCHFILES=	ffce430d2b65d508a1604dc986ba16db3583943d.patch:-p1
 .endif
 
 .if ${FLAVOR} == qemu_x64
@@ -134,9 +142,9 @@ PLAT=		qemu
 PLAT_ARCH=	X64
 PLAT_TARGET=	RELEASE
 PLATFILE=	OvmfPkg/OvmfPkgX64.dsc
-PLAT_RESULT=	OvmfX64/${PLAT_TARGET}_GCC5/FV/OVMF.fd
-PLAT_RESULT_CODE=	OvmfX64/${PLAT_TARGET}_GCC5/FV/OVMF_CODE.fd
-PLAT_RESULT_VARS=	OvmfX64/${PLAT_TARGET}_GCC5/FV/OVMF_VARS.fd
+PLAT_RESULT=	OvmfX64/${PLAT_TARGET}_GCC/FV/OVMF.fd
+PLAT_RESULT_CODE=	OvmfX64/${PLAT_TARGET}_GCC/FV/OVMF_CODE.fd
+PLAT_RESULT_VARS=	OvmfX64/${PLAT_TARGET}_GCC/FV/OVMF_VARS.fd
 PLAT_FILENAME=	QEMU_UEFI-x86_64.fd
 PLAT_FILENAME_CODE=	QEMU_UEFI_CODE-x86_64.fd
 PLAT_FILENAME_VARS=	QEMU_UEFI_VARS-x86_64.fd
@@ -149,9 +157,9 @@ PLAT=		qemu
 PLAT_ARCH=	IA32
 PLAT_TARGET=	RELEASE
 PLATFILE=	OvmfPkg/OvmfPkgIa32.dsc
-PLAT_RESULT=	OvmfIa32/${PLAT_TARGET}_GCC5/FV/OVMF.fd
-PLAT_RESULT_CODE=	OvmfIa32/${PLAT_TARGET}_GCC5/FV/OVMF_CODE.fd
-PLAT_RESULT_VARS=	OvmfIa32/${PLAT_TARGET}_GCC5/FV/OVMF_VARS.fd
+PLAT_RESULT=	OvmfIa32/${PLAT_TARGET}_GCC/FV/OVMF.fd
+PLAT_RESULT_CODE=	OvmfIa32/${PLAT_TARGET}_GCC/FV/OVMF_CODE.fd
+PLAT_RESULT_VARS=	OvmfIa32/${PLAT_TARGET}_GCC/FV/OVMF_VARS.fd
 PLAT_FILENAME=	QEMU_UEFI-i386.fd
 PLAT_FILENAME_CODE=	QEMU_UEFI_CODE-i386.fd
 PLAT_FILENAME_VARS=	QEMU_UEFI_VARS-i386.fd
@@ -170,50 +178,58 @@ PLIST_FILES+=	${PREFIX}/share/uefi-firmware/${PLAT_FILENAME_CODE}
 PLIST_FILES+=	${PREFIX}/share/uefi-firmware/${PLAT_FILENAME_VARS}
 .endif
 
-# Emulate source edk2/edksetup.sh
-MAKE_ENV+=	WORKSPACE=${WRKDIR} \
-		PACKAGES_PATH=${WRKDIR}/edk2-${GH_TAGNAME}:${WRKDIR}/edk2-platforms-${PLATFORM_TAG}:${WRKDIR}/edk2-non-osi-${NONOSI_TAG} \
-		CONF_PATH=${WRKDIR}/edk2-${GH_TAGNAME}/Conf \
-		EDK_TOOLS_PATH=${WRKDIR}/edk2-${GH_TAGNAME}/BaseTools \
-		PATH=${WRKDIR}/edk2-${GH_TAGNAME}/BaseTools/BinWrappers/PosixLike:${PATH} \
-		PYTHON_COMMAND=python3 \
-		PYTHONHASHSEED=1 \
-		EXTRA_LDFLAGS=${EXTRA_LDFLAGS}
-
 .if ${PLAT_ARCH} == AARCH64 && ${ARCH} != aarch64
 BUILD_DEPENDS+=	aarch64-none-elf-gcc:devel/aarch64-none-elf-gcc
-MAKE_ENV+=	GCC5_AARCH64_PREFIX=aarch64-none-elf-
+MAKE_ENV+=	GCC_AARCH64_PREFIX=aarch64-none-elf-
 .endif
 
 .if ${PLAT_ARCH} == X64 || ${PLAT_ARCH} == IA32
 BUILD_DEPENDS+=	nasm:devel/nasm
 .endif
 
-# We can't have two submodule with the same origin in GH_TUPLE
+MAKE_ENV+=	PYTHON_COMMAND=python3 \
+		EXTRA_LDFLAGS=${EXTRA_LDFLAGS} \
+		PACKAGES_PATH=${WRKDIR}/edk2-${GH_TAGNAME}:${WRKDIR}/edk2-platforms-${PLATFORM_TAG}:${WRKDIR}/edk2-non-osi-${NONOSI_TAG}
+
+# custom logo for bhyve's ovmf
+.if ${FLAVOR} == bhyve
+MASTER_SITES+= LOCAL/dch/bhyve/
+DISTFILES+=	BhyveLogo.bmp
+EXTRACT_ONLY= ${DISTFILES:M*.gz*:C/.gz:.*/.gz/}
+.endif
+
 post-extract:
-	(cd ${WRKDIR}/edk2-${GH_TAGNAME}/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli && tar cf - * | tar xf - -C ../../../../BaseTools/Source/C/BrotliCompress/brotli)
+	# We can't have two submodule with the same origin in GH_TUPLE
+	(cd ${WRKDIR}/edk2-${GH_TAGNAME} && ${CP} -a MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/* BaseTools/Source/C/BrotliCompress/brotli)
+
+.if ${FLAVOR} == bhyve
+	(${CP} ${DISTDIR}/BhyveLogo.bmp ${WRKDIR}/edk2-${GH_TAGNAME}/MdeModulePkg/Logo/Logo.bmp)
+.endif
+
 
 do-build:
-	# This is normaly done during source edksetup.sh
-	(cp ${WRKDIR}/edk2-${GH_TAGNAME}/BaseTools/Conf/build_rule.template ${WRKDIR}/edk2-${GH_TAGNAME}/Conf/build_rule.txt)
-	(cp ${WRKDIR}/edk2-${GH_TAGNAME}/BaseTools/Conf/tools_def.template ${WRKDIR}/edk2-${GH_TAGNAME}/Conf/tools_def.txt)
-	(cp ${WRKDIR}/edk2-${GH_TAGNAME}/BaseTools/Conf/target.template ${WRKDIR}/edk2-${GH_TAGNAME}/Conf/target.txt)
-	# Build the basetools
-	(cd ${WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} -C edk2-${GH_TAGNAME}/BaseTools ${_MAKE_JOBS})
-	# Build EDK2
-	(cd ${WRKDIR}/edk2-${GH_TAGNAME} && ${SETENV} ${MAKE_ENV} BaseTools/BinWrappers/PosixLike/build -a ${PLAT_ARCH} -p ${PLATFILE} -n ${MAKE_JOBS_NUMBER} -t GCC5 -b ${PLAT_TARGET} ${PLAT_ARGS})
+	# Just run a bash subshell for build instead of emulating edksetup.sh
+	(bash -c ' \
+		export ${MAKE_ENV} && \
+		cd ${WRKDIR}/edk2-${GH_TAGNAME} && \
+		${MAKE_CMD} -C BaseTools -j ${MAKE_JOBS_NUMBER} && \
+		source edksetup.sh && \
+		build -a ${PLAT_ARCH} -p ${PLATFILE} -n ${MAKE_JOBS_NUMBER} -t GCC -b ${PLAT_TARGET} ${PLAT_ARGS} \
+	')
 
 do-install:
 	${MKDIR} ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/
-	${INSTALL_DATA} ${WRKDIR}/Build/${PLAT_RESULT} ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME}
+	${INSTALL_DATA} ${WRKDIR}/edk2-${GH_TAGNAME}/Build/${PLAT_RESULT} ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME}
 .if defined(PLAT_FILENAME_CODE)
-	${INSTALL_DATA} ${WRKDIR}/Build/${PLAT_RESULT_CODE} ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME_CODE}
+	${INSTALL_DATA} ${WRKDIR}/edk2-${GH_TAGNAME}/Build/${PLAT_RESULT_CODE} ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME_CODE}
 .endif
 .if defined(PLAT_FILENAME_VARS)
-	${INSTALL_DATA} ${WRKDIR}/Build/${PLAT_RESULT_VARS} ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME_VARS}
+	${INSTALL_DATA} ${WRKDIR}/edk2-${GH_TAGNAME}/Build/${PLAT_RESULT_VARS} ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME_VARS}
 .endif
+
 .if ${FLAVOR} == bhyve
-	${INSTALL_DATA} ${WRKDIR}/Build/${PLAT_RESULT_CODE} ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME}
+	# For now BHYVE cannot load the regular firmware file that contains vars so we just replace it with CODE
+	${INSTALL_DATA} ${WRKDIR}/edk2-${GH_TAGNAME}/Build/${PLAT_RESULT_CODE} ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME}
 	# For backwards compatibility
 	${MKDIR} ${STAGEDIR}/${PREFIX}/share/uefi-firmware/
 	${RLN} ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME} ${STAGEDIR}/${PREFIX}/share/uefi-firmware/${PLAT_FILENAME}
diff --git a/sysutils/edk2/distinfo b/sysutils/edk2/distinfo
index 1409fbc82c08..811e7674055a 100644
--- a/sysutils/edk2/distinfo
+++ b/sysutils/edk2/distinfo
@@ -1,19 +1,31 @@
-TIMESTAMP = 1719565938
-SHA256 (tianocore-edk2-g202308-edk2-stable202308_GH0.tar.gz) = 3f1cde1166ad94f86fc2375ee2c3f7f1c16c646b9518de3ff928efd28702ffe1
-SIZE (tianocore-edk2-g202308-edk2-stable202308_GH0.tar.gz) = 16801285
-SHA256 (tianocore-edk2-platforms-e509ac5a72_GH0.tar.gz) = 3b15b5b5c545023de4885a07b42a3426769323e4377fcf2d600b6094bcf4231c
-SIZE (tianocore-edk2-platforms-e509ac5a72_GH0.tar.gz) = 11096819
-SHA256 (tianocore-edk2-non-osi-8c09bd0955_GH0.tar.gz) = efc67f57ebb6f5c31711baa215a12666ba1b8961004548f6278c1020d365fe16
-SIZE (tianocore-edk2-non-osi-8c09bd0955_GH0.tar.gz) = 21515641
-SHA256 (google-brotli-v1.0.9-35-gf4153a0_GH0.tar.gz) = 8deff90317f030d770ab912fbc2a789394ac35c2d68eb5105e1f427aa8f88a3f
-SIZE (google-brotli-v1.0.9-35-gf4153a0_GH0.tar.gz) = 512041
-SHA256 (google-googletest-release-1.8.0-2983-g86add134_GH0.tar.gz) = b94dc8bbc62251542f3dc5dc1398527379465dd8fc48e146ddea86403a195071
-SIZE (google-googletest-release-1.8.0-2983-g86add134_GH0.tar.gz) = 855431
-SHA256 (MIPI-Alliance-public-mipi-sys-t-v1.1+edk2_GH0.tar.gz) = 473dcd46ed32b098091a2353f0ed13e69cbe773811c5551e6e766c16ac9ba464
-SIZE (MIPI-Alliance-public-mipi-sys-t-v1.1+edk2_GH0.tar.gz) = 378282
-SHA256 (openssl-openssl-openssl-3.0.9_GH0.tar.gz) = 2eec31f2ac0e126ff68d8107891ef534159c4fcfb095365d4cd4dc57d82616ee
-SIZE (openssl-openssl-openssl-3.0.9_GH0.tar.gz) = 15335782
-SHA256 (tianocore-edk2-cmocka-cmocka-1.1.5-23-g1cc9cde_GH0.tar.gz) = c2fb00395a55abd2ebfc2fcfe2705c7096cedd4416704dbb9237e394607fccb4
-SIZE (tianocore-edk2-cmocka-cmocka-1.1.5-23-g1cc9cde_GH0.tar.gz) = 100320
-SHA256 (ffce430d2b65d508a1604dc986ba16db3583943d.patch) = 2651482dc7c38563c8a1bec95eebb8f93bfe5051f95f5f4a05f201117650385e
-SIZE (ffce430d2b65d508a1604dc986ba16db3583943d.patch) = 3373
+TIMESTAMP = 1759436651
+SHA256 (BhyveLogo.bmp) = 910ef609df6706c282997dfcac67e809cb43dcee02fbd1ea670404d7afb41fc1
+SIZE (BhyveLogo.bmp) = 67938
+SHA256 (tianocore-edk2-g202508-edk2-stable202508_GH0.tar.gz) = ea373d69f8e2b8c1e63e958e538e4a7b493a71a3680ad709df1733f2780608ec
+SIZE (tianocore-edk2-g202508-edk2-stable202508_GH0.tar.gz) = 18454992
+SHA256 (tianocore-edk2-platforms-aa035ed7f469295802d51c7c001477e32da8a65f_GH0.tar.gz) = f8a2f2352eec77ff33a38fcbd2cb325ee20c8f4368d80ae792019f5a6c7fa238
+SIZE (tianocore-edk2-platforms-aa035ed7f469295802d51c7c001477e32da8a65f_GH0.tar.gz) = 11968263
+SHA256 (tianocore-edk2-non-osi-3415f616e08a0d9c7bd264cab674929a7b0f5e33_GH0.tar.gz) = 56ac0b41fe8d30e61aadd44ed41febc4637c5fb1b9a177b5c9dc4a2e8999eee4
+SIZE (tianocore-edk2-non-osi-3415f616e08a0d9c7bd264cab674929a7b0f5e33_GH0.tar.gz) = 37783559
+SHA256 (tianocore-edk2-subhook-83d4e1ebef3588fae48b69a7352cc21801cb70bc_GH0.tar.gz) = f65b2e6dd304e19185d751652bd5ebc72a81d503bf542037acb3450e43abc095
+SIZE (tianocore-edk2-subhook-83d4e1ebef3588fae48b69a7352cc21801cb70bc_GH0.tar.gz) = 14470
+SHA256 (tianocore-edk2-cmocka-1cc9cde3448cdd2e000886a26acf1caac2db7cf1_GH0.tar.gz) = 59cd4b81abafae35d94ac5d91cf4ae5b05122e688713cd6db51e5e4cef471d8f
+SIZE (tianocore-edk2-cmocka-1cc9cde3448cdd2e000886a26acf1caac2db7cf1_GH0.tar.gz) = 100343
+SHA256 (openssl-openssl-aea7aaf2abb04789f5868cbabec406ea43aa84bf_GH0.tar.gz) = 0db2c5888e78b3ee10df5991c9bd049a2ca0eb693b3c44a05f3078a90add349a
+SIZE (openssl-openssl-aea7aaf2abb04789f5868cbabec406ea43aa84bf_GH0.tar.gz) = 53351642
+SHA256 (kkos-oniguruma-4ef89209a239c1aea328cf13c05a2807e5c146d1_GH0.tar.gz) = 70bfed97ee8390f5ac08fea28e3e930a3b33df871c6fc1888c8d436c6c6b755d
+SIZE (kkos-oniguruma-4ef89209a239c1aea328cf13c05a2807e5c146d1_GH0.tar.gz) = 657724
+SHA256 (google-googletest-86add13493e5c881d7e4ba77fb91c1f57752b3a4_GH0.tar.gz) = 3c3095488b936b14538dca64d7e68bcde09a8a18d2a32a47b59877eff0340403
+SIZE (google-googletest-86add13493e5c881d7e4ba77fb91c1f57752b3a4_GH0.tar.gz) = 855874
+SHA256 (google-brotli-f4153a09f87cbb9c826d8fc12c74642bb2d879ea_GH0.tar.gz) = 6d6cacce05086b7debe75127415ff9c3661849f564fe2f5f3b0383d48aa4ed77
+SIZE (google-brotli-f4153a09f87cbb9c826d8fc12c74642bb2d879ea_GH0.tar.gz) = 512229
+SHA256 (devicetree-org-pylibfdt-cfff805481bdea27f900c32698171286542b8d3c_GH0.tar.gz) = 1193910f475fde07f3cd4fe1c1a353d69b8cedb574967134838fcdc8208d224e
+SIZE (devicetree-org-pylibfdt-cfff805481bdea27f900c32698171286542b8d3c_GH0.tar.gz) = 49659
+SHA256 (akheron-jansson-e9ebfa7e77a6bee77df44e096b100e7131044059_GH0.tar.gz) = e7935c0d91d6d22f6dee710a26b23e228ecc4fe8ef7e8f756558c3599f68c3b4
+SIZE (akheron-jansson-e9ebfa7e77a6bee77df44e096b100e7131044059_GH0.tar.gz) = 145110
+SHA256 (MIPI-Alliance-public-mipi-sys-t-370b5944c046bab043dd8b133727b2135af7747a_GH0.tar.gz) = 9fda3b9a78343ab2be6f06ce6396536e7e065abac29b47c8eb2e42cbb4c4f00b
+SIZE (MIPI-Alliance-public-mipi-sys-t-370b5944c046bab043dd8b133727b2135af7747a_GH0.tar.gz) = 378522
+SHA256 (DMTF-libspdm-98ef964e1e9a0c39c7efb67143d3a13a819432e0_GH0.tar.gz) = 634cbdf10bcaf32f3446b1bf8be7e8a60cecd1e9500e512f01e3c15b74cbcfd3
+SIZE (DMTF-libspdm-98ef964e1e9a0c39c7efb67143d3a13a819432e0_GH0.tar.gz) = 2017163
+SHA256 (ARMmbed-mbedtls-8c89224991adff88d53cd380f42a2baa36f91454_GH0.tar.gz) = b5c7e7c54e013c168f4aae036e59912785f11b4aeebd57f6165a14e879b9a82c
+SIZE (ARMmbed-mbedtls-8c89224991adff88d53cd380f42a2baa36f91454_GH0.tar.gz) = 4587796
diff --git a/sysutils/edk2/files/patch-CryptoPkg_Library_OpensslLib_openssl_include_openssl_byteorder.h b/sysutils/edk2/files/patch-CryptoPkg_Library_OpensslLib_openssl_include_openssl_byteorder.h
new file mode 100644
index 000000000000..701732d41f0c
--- /dev/null
+++ b/sysutils/edk2/files/patch-CryptoPkg_Library_OpensslLib_openssl_include_openssl_byteorder.h
@@ -0,0 +1,15 @@
+--- CryptoPkg/Library/OpensslLib/openssl/include/openssl/byteorder.h.orig	2025-07-01 11:52:08 UTC
++++ CryptoPkg/Library/OpensslLib/openssl/include/openssl/byteorder.h
+@@ -59,6 +59,12 @@
+ #  if defined(__OpenBSD__)
+ #   include <sys/types.h>
+ #  else
++#  if defined(OPENSSL_SYS_UEFI)
++#   define _UINT8_T_DECLARED
++#   define _UINT16_T_DECLARED
++#   define _UINT32_T_DECLARED
++#   define _UINT64_T_DECLARED
++#  endif
+ #   include <sys/endian.h>
+ #  endif
+ #  define OSSL_HTOBE16(x) htobe16(x)
diff --git a/sysutils/edk2/files/patch-OvmfPkg_Bhyve_AcpiPlatformDxe_AcpiPlatform.c b/sysutils/edk2/files/patch-OvmfPkg_Bhyve_AcpiPlatformDxe_AcpiPlatform.c
deleted file mode 100644
index 1096a5e4d30c..000000000000
--- a/sysutils/edk2/files/patch-OvmfPkg_Bhyve_AcpiPlatformDxe_AcpiPlatform.c
+++ /dev/null
@@ -1,38 +0,0 @@
---- OvmfPkg/Bhyve/AcpiPlatformDxe/AcpiPlatform.c.orig	2023-09-07 08:35:06 UTC
-+++ OvmfPkg/Bhyve/AcpiPlatformDxe/AcpiPlatform.c
-@@ -259,19 +259,17 @@ InstallAcpiTables (
-              BHYVE_BIOS_PHYSICAL_END,
-              &Rsdp
-              );
--  if (EFI_ERROR (Status)) {
--    return Status;
--  }
--
--  Status = InstallAcpiTablesFromRsdp (
--             AcpiTable,
--             Rsdp
--             );
-   if (!EFI_ERROR (Status)) {
--    return EFI_SUCCESS;
-+    Status = InstallAcpiTablesFromRsdp (
-+              AcpiTable,
-+              Rsdp
-+              );
-+    if (!EFI_ERROR (Status)) {
-+      return EFI_SUCCESS;
-+    }
-   }
- 
--  if (Status != EFI_NOT_FOUND) {
-+  if (EFI_ERROR (Status)) {
-     DEBUG (
-       (
-        DEBUG_WARN,
-@@ -280,7 +278,6 @@ InstallAcpiTables (
-        Status
-       )
-       );
--    return Status;
-   }
- 
-   Status = InstallOvmfFvTables (AcpiTable);
diff --git a/sysutils/edk2/files/patch-OvmfPkg_Bhyve_PlatformPei_Platform.c b/sysutils/edk2/files/patch-OvmfPkg_Bhyve_PlatformPei_Platform.c
deleted file mode 100644
index 38dd3d905ee1..000000000000
--- a/sysutils/edk2/files/patch-OvmfPkg_Bhyve_PlatformPei_Platform.c
+++ /dev/null
@@ -1,13 +0,0 @@
---- OvmfPkg/Bhyve/PlatformPei/Platform.c.orig	2023-11-17 12:26:16 UTC
-+++ OvmfPkg/Bhyve/PlatformPei/Platform.c
-@@ -153,8 +153,8 @@ MemMapInitialization (
-   UINT64         PciIoSize;
-   RETURN_STATUS  PcdStatus;
- 
--  PciIoBase = 0xC000;
--  PciIoSize = 0x4000;
-+  PciIoBase = 0x2000;
-+  PciIoSize = 0xE000;
- 
-   //
-   // Create Memory Type Information HOB
diff --git a/sysutils/edk2/files/patch-remove-memattr-protocol b/sysutils/edk2/files/patch-remove-memattr-protocol
new file mode 100644
index 000000000000..5ca2202289ac
--- /dev/null
+++ b/sysutils/edk2/files/patch-remove-memattr-protocol
@@ -0,0 +1,353 @@
+--- UefiCpuPkg/CpuDxe/CpuDxe.c.orig	2025-05-07 09:03:43 UTC
++++ UefiCpuPkg/CpuDxe/CpuDxe.c
+@@ -1034,11 +1034,6 @@ InitializeCpu (
+   ASSERT_EFI_ERROR (Status);
+ 
+   //
+-  // Install EFI memory attribute Protocol
+-  //
+-  InstallEfiMemoryAttributeProtocol (mCpuHandle);
+-
+-  //
+   // Refresh GCD memory space map according to MTRR value.
+   //
+   RefreshGcdMemoryAttributes ();
+--- UefiCpuPkg/CpuDxe/CpuDxe.inf.orig	2025-05-07 09:04:04 UTC
++++ UefiCpuPkg/CpuDxe/CpuDxe.inf
+@@ -75,7 +75,6 @@
+ 
+ [Protocols]
+   gEfiCpuArchProtocolGuid                       ## PRODUCES
+-  gEfiMemoryAttributeProtocolGuid               ## PRODUCES
+   gEfiMpServiceProtocolGuid                     ## PRODUCES
+   gEfiSmmBase2ProtocolGuid                      ## SOMETIMES_CONSUMES
+ 
+--- UefiCpuPkg/CpuDxe/CpuPageTable.c.orig	2025-05-07 09:04:40 UTC
++++ UefiCpuPkg/CpuDxe/CpuPageTable.c
+@@ -1436,298 +1436,3 @@ InitializePageTableLib (
+ 
+   return;
+ }
+-
+-/**
+-  This function set given attributes of the memory region specified by
+-  BaseAddress and Length.
+-  The valid Attributes is EFI_MEMORY_RP, EFI_MEMORY_XP, and EFI_MEMORY_RO.
+-
+-  @param  This              The EFI_MEMORY_ATTRIBUTE_PROTOCOL instance.
+-  @param  BaseAddress       The physical address that is the start address of
+-                            a memory region.
+-  @param  Length            The size in bytes of the memory region.
+-  @param  Attributes        The bit mask of attributes to set for the memory
+-                            region.
+-
+-  @retval EFI_SUCCESS           The attributes were set for the memory region.
+-  @retval EFI_INVALID_PARAMETER Length is zero.
+-                                Attributes specified an illegal combination of
+-                                attributes that cannot be set together.
+-  @retval EFI_UNSUPPORTED       The processor does not support one or more
+-                                bytes of the memory resource range specified
+-                                by BaseAddress and Length.
+-                                The bit mask of attributes is not supported for
+-                                the memory resource range specified by
+-                                BaseAddress and Length.
+-  @retval EFI_OUT_OF_RESOURCES  Requested attributes cannot be applied due to lack of
+-                                system resources.
+-  @retval EFI_ACCESS_DENIED     Attributes for the requested memory region are
+-                                controlled by system firmware and cannot be updated
+-                                via the protocol.
+-**/
+-EFI_STATUS
+-EFIAPI
+-EfiSetMemoryAttributes (
+-  IN  EFI_MEMORY_ATTRIBUTE_PROTOCOL  *This,
+-  IN  EFI_PHYSICAL_ADDRESS           BaseAddress,
+-  IN  UINT64                         Length,
+-  IN  UINT64                         Attributes
+-  )
+-{
+-  RETURN_STATUS  Status;
+-  BOOLEAN        IsModified;
+-  BOOLEAN        IsSplitted;
+-
+-  DEBUG ((DEBUG_VERBOSE, "%a: 0x%lx - 0x%lx (0x%lx)\n", __func__, BaseAddress, Length, Attributes));
+-
+-  if (Attributes == 0) {
+-    DEBUG ((DEBUG_ERROR, "%a: Error - Attributes == 0\n", __func__));
+-    return EFI_INVALID_PARAMETER;
+-  }
+-
+-  if ((Attributes & ~EFI_MEMORY_ACCESS_MASK) != 0) {
+-    DEBUG ((DEBUG_ERROR, "%a: Error - Attributes(0x%lx) invalid\n", __func__, Attributes));
+-    return EFI_INVALID_PARAMETER;
+-  }
+-
+-  if (Length == 0) {
+-    DEBUG ((DEBUG_ERROR, "%a: Length is 0!\n", __func__));
+-    return RETURN_INVALID_PARAMETER;
+-  }
+-
+-  Status = ConvertMemoryPageAttributes (NULL, BaseAddress, Length, Attributes, PageActionSet, NULL, &IsSplitted, &IsModified);
+-  if (!EFI_ERROR (Status)) {
+-    if (IsModified) {
+-      //
+-      // Flush TLB as last step.
+-      //
+-      // Note: Since APs will always init CR3 register in HLT loop mode or do
+-      // TLB flush in MWAIT loop mode, there's no need to flush TLB for them
+-      // here.
+-      //
+-      CpuFlushTlb ();
+-    }
+-  } else {
+-    DEBUG ((DEBUG_ERROR, "%a: Failed in ConvertMemoryPageAttributes (%r)\n", __func__, Status));
+-  }
+-
+-  return Status;
+-}
+-
+-/**
+-  This function clears given attributes of the memory region specified by
+-  BaseAddress and Length.
+-  The valid Attributes is EFI_MEMORY_RP, EFI_MEMORY_XP, and EFI_MEMORY_RO.
+-  @param  This              The EFI_MEMORY_ATTRIBUTE_PROTOCOL instance.
+-  @param  BaseAddress       The physical address that is the start address of
+-                            a memory region.
+-  @param  Length            The size in bytes of the memory region.
+-  @param  Attributes        The bit mask of attributes to clear for the memory
+-                            region.
+-
+-  @retval EFI_SUCCESS           The attributes were cleared for the memory region.
+-  @retval EFI_INVALID_PARAMETER Length is zero.
+-                                Attributes specified an illegal combination of
+-                                attributes that cannot be cleared together.
+-  @retval EFI_UNSUPPORTED       The processor does not support one or more
+-                                bytes of the memory resource range specified
+-                                by BaseAddress and Length.
+-                                The bit mask of attributes is not supported for
+-                                the memory resource range specified by
+-                                BaseAddress and Length.
+-  @retval EFI_OUT_OF_RESOURCES  Requested attributes cannot be applied due to lack of
+-                                system resources.
+-  @retval EFI_ACCESS_DENIED     Attributes for the requested memory region are
+-                                controlled by system firmware and cannot be updated
+-                                via the protocol.
+-**/
+-EFI_STATUS
+-EFIAPI
+-EfiClearMemoryAttributes (
+-  IN  EFI_MEMORY_ATTRIBUTE_PROTOCOL  *This,
+-  IN  EFI_PHYSICAL_ADDRESS           BaseAddress,
+-  IN  UINT64                         Length,
+-  IN  UINT64                         Attributes
+-  )
+-{
+-  RETURN_STATUS  Status;
+-  BOOLEAN        IsModified;
+-  BOOLEAN        IsSplitted;
+-
+-  DEBUG ((DEBUG_VERBOSE, "%a: 0x%lx - 0x%lx (0x%lx)\n", __func__, BaseAddress, Length, Attributes));
+-
+-  if (Attributes == 0) {
+-    DEBUG ((DEBUG_ERROR, "%a: Error - Attributes == 0\n", __func__));
+-    return EFI_INVALID_PARAMETER;
+-  }
+-
+-  if ((Attributes & ~EFI_MEMORY_ACCESS_MASK) != 0) {
+-    DEBUG ((DEBUG_ERROR, "%a: Error - Attributes(0x%lx) invalid\n", __func__, Attributes));
+-    return EFI_INVALID_PARAMETER;
+-  }
+-
+-  if (Length == 0) {
+-    DEBUG ((DEBUG_ERROR, "%a: Length is 0!\n", __func__));
+-    return RETURN_INVALID_PARAMETER;
+-  }
+-
+-  Status = ConvertMemoryPageAttributes (NULL, BaseAddress, Length, Attributes, PageActionClear, NULL, &IsSplitted, &IsModified);
+-  if (!EFI_ERROR (Status)) {
+-    if (IsModified) {
+-      //
+-      // Flush TLB as last step.
+-      //
+-      // Note: Since APs will always init CR3 register in HLT loop mode or do
+-      // TLB flush in MWAIT loop mode, there's no need to flush TLB for them
+-      // here.
+-      //
+-      CpuFlushTlb ();
+-    }
+-  } else {
+-    DEBUG ((DEBUG_ERROR, "%a: Failed in ConvertMemoryPageAttributes (%r)\n", __func__, Status));
+-  }
+-
+-  return Status;
+-}
+-
+-/**
+-  This function retrieves the attributes of the memory region specified by
+-  BaseAddress and Length. If different attributes are got from different part
+-  of the memory region, EFI_NO_MAPPING will be returned.
+-
+-  @param  This                The EFI_MEMORY_ATTRIBUTE_PROTOCOL instance.
+-  @param  BaseAddress         The physical address that is the start address of
+-                              a memory region.
+-  @param  Length              The size in bytes of the memory region.
+-  @param  Attributes          Pointer to attributes returned.
+-
+-  @retval EFI_SUCCESS           The attributes got for the memory region.
+-  @retval EFI_INVALID_PARAMETER Length is zero.
+-                                Attributes is NULL.
+-  @retval EFI_NO_MAPPING        Attributes are not consistent cross the memory
+-                                region.
+-  @retval EFI_UNSUPPORTED       The processor does not support one or more
+-                                bytes of the memory resource range specified
+-                                by BaseAddress and Length.
+-**/
+-EFI_STATUS
+-EFIAPI
+-EfiGetMemoryAttributes (
+-  IN  EFI_MEMORY_ATTRIBUTE_PROTOCOL  *This,
+-  IN  EFI_PHYSICAL_ADDRESS           BaseAddress,
+-  IN  UINT64                         Length,
+-  OUT UINT64                         *Attributes
+-  )
+-{
+-  PAGE_TABLE_LIB_PAGING_CONTEXT  CurrentPagingContext;
+-  EFI_PHYSICAL_ADDRESS           Address;
+-  UINT64                         *PageEntry;
+-  UINT64                         MemAttr;
+-  PAGE_ATTRIBUTE                 PageAttr;
+-  INT64                          Size;
+-  UINT64                         AddressEncMask;
+-
+-  DEBUG ((DEBUG_VERBOSE, "%a: 0x%lx - 0x%lx\n", __func__, BaseAddress, Length));
+-
+-  if (!IS_ALIGNED (BaseAddress, EFI_PAGE_SIZE)) {
+-    DEBUG ((DEBUG_ERROR, "%a: BaseAddress(0x%lx) is not aligned!\n", __func__, BaseAddress));
+-    return EFI_UNSUPPORTED;
+-  }
+-
+-  if (!IS_ALIGNED (Length, EFI_PAGE_SIZE)) {
+-    DEBUG ((DEBUG_ERROR, "%a: Length(0x%lx) is not aligned!\n", __func__, Length));
+-    return EFI_UNSUPPORTED;
+-  }
+-
+-  if (Length == 0) {
+-    DEBUG ((DEBUG_ERROR, "%a: Length is 0!\n", __func__));
+-    return RETURN_INVALID_PARAMETER;
+-  }
+-
+-  if (Attributes == NULL) {
+-    DEBUG ((DEBUG_ERROR, "%a: Attributes is NULL\n", __func__));
+-    return EFI_INVALID_PARAMETER;
+-  }
+-
+-  Size    = (INT64)Length;
+-  MemAttr = (UINT64)-1;
+-
+-  // Make sure AddressEncMask is contained to smallest supported address field.
+-  //
+-  AddressEncMask = PcdGet64 (PcdPteMemoryEncryptionAddressOrMask) & PAGING_1G_ADDRESS_MASK_64;
+-
+-  GetCurrentPagingContext (&CurrentPagingContext);
+-
+-  do {
+-    PageEntry = GetPageTableEntry (&CurrentPagingContext, BaseAddress, &PageAttr);
+-    if ((PageEntry == NULL) || (PageAttr == PageNone)) {
+-      return EFI_UNSUPPORTED;
+-    }
+-
+-    //
+-    // If the memory range is cross page table boundary, make sure they
+-    // share the same attribute. Return EFI_NO_MAPPING if not.
+-    //
+-    *Attributes = GetAttributesFromPageEntry (PageEntry);
+-    if ((MemAttr != (UINT64)-1) && (*Attributes != MemAttr)) {
+-      return EFI_NO_MAPPING;
+-    }
+-
+-    switch (PageAttr) {
+-      case Page4K:
+-        Address      = *PageEntry & ~AddressEncMask & PAGING_4K_ADDRESS_MASK_64;
+-        Size        -= (EFI_PAGE_SIZE - (BaseAddress - Address));
+-        BaseAddress += (EFI_PAGE_SIZE - (BaseAddress - Address));
+-        break;
+-
+-      case Page2M:
+-        Address      = *PageEntry & ~AddressEncMask & PAGING_2M_ADDRESS_MASK_64;
+-        Size        -= SIZE_2MB - (BaseAddress - Address);
+-        BaseAddress += SIZE_2MB - (BaseAddress - Address);
+-        break;
+-
+-      case Page1G:
+-        Address      = *PageEntry & ~AddressEncMask & PAGING_1G_ADDRESS_MASK_64;
+-        Size        -= SIZE_1GB - (BaseAddress - Address);
+-        BaseAddress += SIZE_1GB - (BaseAddress - Address);
+-        break;
+-
+-      default:
+-        return EFI_UNSUPPORTED;
+-    }
+-
+-    MemAttr = *Attributes;
+-  } while (Size > 0);
+-
+-  DEBUG ((DEBUG_VERBOSE, "%a: Attributes is 0x%lx\n", __func__, *Attributes));
+-
+-  return EFI_SUCCESS;
+-}
+-
+-EFI_MEMORY_ATTRIBUTE_PROTOCOL  mMemoryAttributeProtocol = {
+-  EfiGetMemoryAttributes,
+-  EfiSetMemoryAttributes,
+-  EfiClearMemoryAttributes,
+-};
+-
+-/**
+-  Install Efi Memory Attribute Protocol.
+-
+-  @param Handle A pointer to the EFI_HANDLE on which the interface is to be installed
+-
+-**/
+-VOID
+-InstallEfiMemoryAttributeProtocol (
+-  IN EFI_HANDLE  Handle
+-  )
+-{
+-  EFI_STATUS  Status;
+-
+-  Status = gBS->InstallMultipleProtocolInterfaces (
+-                  &Handle,
+-                  &gEfiMemoryAttributeProtocolGuid,
+-                  &mMemoryAttributeProtocol,
+-                  NULL
+-                  );
+-  ASSERT_EFI_ERROR (Status);
+-}
+--- UefiCpuPkg/CpuDxe/CpuPageTable.h.orig	2025-05-07 09:06:57 UTC
++++ UefiCpuPkg/CpuDxe/CpuPageTable.h
+@@ -10,7 +10,6 @@
+ #define _PAGE_TABLE_LIB_H_
+ 
+ #include <IndustryStandard/PeImage.h>
+-#include <Protocol/MemoryAttribute.h>
+ 
+ #define PAGE_TABLE_LIB_PAGING_CONTEXT_IA32_X64_ATTRIBUTES_PSE              BIT0
+ #define PAGE_TABLE_LIB_PAGING_CONTEXT_IA32_X64_ATTRIBUTES_PAE              BIT1
+@@ -152,17 +151,6 @@ GetPagingDetails (
+   IN  PAGE_TABLE_LIB_PAGING_CONTEXT_DATA  *PagingContextData,
+   OUT UINTN                               **PageTableBase     OPTIONAL,
+   OUT UINT32                              **Attributes        OPTIONAL
+-  );
+-
+-/**
+-  Install Efi Memory Attribute Protocol.
+-
+-  @param Handle A pointer to the EFI_HANDLE on which the interface is to be installed
+-
+-**/
+-VOID
+-InstallEfiMemoryAttributeProtocol (
+-  IN EFI_HANDLE  Handle
+   );
+ 
+ #endif


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6963c19b.d83f.60c977e1>