Branch: refs/heads/master Home: https://github.com/tianocore/edk2 Commit: 555bbc6643eaef7192f948391e5d16fae439a8c2 https://github.com/tianocore/edk2/commit/555bbc6643eaef7192f948391e5d16fae439a8c2 Author: Ard Biesheuvel <a...@kernel.org> Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths: M ArmPkg/ArmPkg.dec M ArmPkg/Drivers/ArmGic/ArmGicDxe.inf M ArmPkg/Drivers/ArmGic/ArmGicLib.c M ArmPkg/Drivers/ArmGic/ArmGicLib.inf M ArmPkg/Drivers/ArmGic/GicV3/ArmGicV3Dxe.c Log Message: ----------- ArmPkg/ArmGic: Drop GICv2 legacy support Support for GICv2 legacy mode was introduced to accommodate secure world firmware that was lagging behind in terms of development, and was running the GIC in v2 mode on the secure side for lack of a GICv3 driver. As per the GIC architecture, the non-secure world can only run the GIC in v3 mode if the secure world does so too. At this point, there is no longer a need to for this fallback: GICv2 support it still needed for platforms such as Raspberry Pi 4 that do not implement GICv3 at all. But on platforms that do implement it, falling back to GICv2 is unnecessary. Signed-off-by: Ard Biesheuvel <a...@kernel.org> Commit: ec5bb8f95334de73c872a4d071a9800d688efb83 https://github.com/tianocore/edk2/commit/ec5bb8f95334de73c872a4d071a9800d688efb83 Author: Ard Biesheuvel <a...@kernel.org> Date: 2025-01-17 (Fri, 17 Jan 2025) Changed paths: M ArmPkg/Drivers/ArmGic/ArmGicLib.c M ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2Dxe.c M ArmPkg/Include/Library/ArmGicLib.h Log Message: ----------- ArmPkg/ArmGic: drop ArmGicEnableInterruptInterface from ArmGicLib The ArmGicLib API exposes ArmGicEnableInterruptInterface () and ArmGicDisableInterruptInterface (), but only the former is actually used, and only from the GICv2 driver. So drop the API entirely, and invoke the v2 version of the underlying interface directly. Signed-off-by: Ard Biesheuvel <a...@kernel.org> Commit: aad4dd9aac345e3e971c6b1bd548ac6e09a4183f https://github.com/tianocore/edk2/commit/aad4dd9aac345e3e971c6b1bd548ac6e09a4183f Author: Ard Biesheuvel <a...@kernel.org> Date: 2025-01-17 (Fri, 17 Jan 2025) Changed paths: M ArmPkg/Drivers/ArmGic/ArmGicLib.c M ArmPkg/Include/Library/ArmGicLib.h Log Message: ----------- ArmPkg/ArmGic: Remove ArmGicSendSgiTo () API ArmGicSendSgiTo () is never used, and is fundamentally tied to multi-CPU operation which is no longer supported. So drop the implementation. Signed-off-by: Ard Biesheuvel <a...@kernel.org> Commit: a4928a0cfc269d268f6832111e2c4435fde366b8 https://github.com/tianocore/edk2/commit/a4928a0cfc269d268f6832111e2c4435fde366b8 Author: Ard Biesheuvel <a...@kernel.org> Date: 2025-01-17 (Fri, 17 Jan 2025) Changed paths: M ArmPkg/Drivers/ArmGic/ArmGicLib.c M ArmPkg/Include/Library/ArmGicLib.h Log Message: ----------- ArmPkg/ArmGic: Remove ArmGicEndOfInterrupt () API ArmGicEndOfInterrupt () is never used: the v2 and v3 versions of the driver call respective specific versions directly, and so this API can be removed. Signed-off-by: Ard Biesheuvel <a...@kernel.org> Commit: 4e874fcf09e3c8cede327e2209f488b944cbe0fe https://github.com/tianocore/edk2/commit/4e874fcf09e3c8cede327e2209f488b944cbe0fe Author: Ard Biesheuvel <a...@kernel.org> Date: 2025-01-17 (Fri, 17 Jan 2025) Changed paths: M ArmPkg/Drivers/ArmGic/ArmGicLib.c M ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2Dxe.c R ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2NonSecLib.c M ArmPkg/Drivers/ArmGic/GicV3/ArmGicV3Dxe.c M ArmPkg/Include/Library/ArmGicLib.h Log Message: ----------- ArmPkg/ArmGic: Disentangle v2 and v3 versions of IRQ en/disable APIs ArmGicLib is agnostic about the difference between v2 and v3, but its APIs are only called from code that is either v2-specific or v3-specific. That makes the generic interface kind of pointless, and we can just merge this code into the callers. Signed-off-by: Ard Biesheuvel <a...@kernel.org> Commit: 2ab362f313248a87c050ebbc02f1b2e08f35d53c https://github.com/tianocore/edk2/commit/2ab362f313248a87c050ebbc02f1b2e08f35d53c Author: Ard Biesheuvel <a...@kernel.org> Date: 2025-01-17 (Fri, 17 Jan 2025) Changed paths: M ArmPkg/Drivers/ArmGic/ArmGicLib.inf R ArmPkg/Drivers/ArmGic/ArmGicNonSecLib.c M ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2Dxe.c M ArmPkg/Drivers/ArmGic/GicV3/ArmGicV3Dxe.c M ArmPkg/Include/Library/ArmGicLib.h Log Message: ----------- ArmPkg/ArmGic: Disentangle ArmGicEnableDistributor () versions Split ArmGicEnableDistributor () into GICv2 and v3 specific versions, and move them into their single respective callers, so that the original can be dropped from ArmGicLib altogether. Signed-off-by: Ard Biesheuvel <a...@kernel.org> Commit: 298d8c436a24d386c2f8ff2c117a755abe90ee6d https://github.com/tianocore/edk2/commit/298d8c436a24d386c2f8ff2c117a755abe90ee6d Author: Ard Biesheuvel <a...@kernel.org> Date: 2025-01-17 (Fri, 17 Jan 2025) Changed paths: M ArmPkg/Include/Library/ArmGicLib.h Log Message: ----------- ArmPkg/ArmGic: Drop declarations for non-existent functions Drop some ArmGicLib declarations that don't actually exist in the code. Signed-off-by: Ard Biesheuvel <a...@kernel.org> Commit: 337a99af10693bb682e4ba79f393146f21930d4f https://github.com/tianocore/edk2/commit/337a99af10693bb682e4ba79f393146f21930d4f Author: Ard Biesheuvel <a...@kernel.org> Date: 2025-01-17 (Fri, 17 Jan 2025) Changed paths: M ArmPkg/Drivers/ArmGic/ArmGicCommonDxe.c M ArmPkg/Drivers/ArmGic/ArmGicDxe.h R ArmPkg/Drivers/ArmGic/ArmGicLib.c M ArmPkg/Drivers/ArmGic/ArmGicLib.inf M ArmPkg/Include/Library/ArmGicLib.h Log Message: ----------- ArmPkg/ArmGic: Move remaining shared code into ArmGicDxe Move the remaining ArmGicLib code that is shared between the v2 and v3 GIC DXE drivers into ArmGicCommonDxe.c Signed-off-by: Ard Biesheuvel <a...@kernel.org> Commit: 84eed1ef2a84c6716582809b1d1270f5388f8f0d https://github.com/tianocore/edk2/commit/84eed1ef2a84c6716582809b1d1270f5388f8f0d Author: Ard Biesheuvel <a...@kernel.org> Date: 2025-01-17 (Fri, 17 Jan 2025) Changed paths: M ArmPkg/Drivers/ArmGic/ArmGicLib.inf M ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2Dxe.c R ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2Lib.c M ArmPkg/Include/Library/ArmGicLib.h Log Message: ----------- ArmPkg/ArmGic: Move GICv2 specific EOI/ACK routines into v2 driver ArmGicDxe is the only remaining user of ArmGicLib, and so there is no need for the abstraction, which is drawn at an arbitrary boundary anyway. So remove the remaining V2 specific code into the DXE driver. Signed-off-by: Ard Biesheuvel <a...@kernel.org> Commit: 8edd5fd6d3dfb21fe077427029f1e705cfbcb7a1 https://github.com/tianocore/edk2/commit/8edd5fd6d3dfb21fe077427029f1e705cfbcb7a1 Author: Ard Biesheuvel <a...@kernel.org> Date: 2025-01-17 (Fri, 17 Jan 2025) Changed paths: M ArmPkg/Drivers/ArmGic/ArmGicDxe.c M ArmPkg/Include/Library/ArmGicLib.h Log Message: ----------- ArmPkg/ArmGic: Move GICv3 sysreg check into ArmGicDxe ArmGicArchLib implements a check on the accessibility of the GIC system register interface, which is a prerequisite for using the GIC in v3 mode. It might be possible to use GICv2 compatibility mode on poorly configured platforms where the GIC is v3 capable but not accessible, but in most cases, the GIC is driven in its native mode. This check is now only carried out in a single place, and there is not really any reason to keep this in a separate library. Even though ArmVirtPkg implements its own version, the basic check (and enablement of the sysreg interface) is still needed. So move this check into the DXE driver itself, and drop the dependency on ArmGicArchLib. This allows it to be retired in a subsequent patch. Signed-off-by: Ard Biesheuvel <a...@kernel.org> Commit: e663b79f74e406d13ca4d6344afad7c04cf31aea https://github.com/tianocore/edk2/commit/e663b79f74e406d13ca4d6344afad7c04cf31aea Author: Ard Biesheuvel <a...@kernel.org> Date: 2025-01-17 (Fri, 17 Jan 2025) Changed paths: M ArmVirtPkg/ArmVirt.dsc.inc M ArmVirtPkg/ArmVirtCloudHv.dsc M ArmVirtPkg/ArmVirtKvmTool.dsc M ArmVirtPkg/ArmVirtQemu.dsc M ArmVirtPkg/ArmVirtQemuKernel.dsc M ArmVirtPkg/ArmVirtXen.dsc M ArmVirtPkg/Library/ArmVirtGicArchLib/ArmVirtGicArchLib.c M ArmVirtPkg/Library/ArmVirtGicArchLib/ArmVirtGicArchLib.inf Log Message: ----------- ArmVirtPkg: Convert ArmVirtGicArchLib to NULL class library Before retiring ArmGicArchLib entirely, convert the existing implementation in ArmVirtPkg into a NULL class library and inject it into ArmGicDxe on all ARM virtual platforms. This ensures that the PCDs describing the GIC are intialized correctly before ArmGicDxe is dispatched. Signed-off-by: Ard Biesheuvel <a...@kernel.org> Commit: 9bf20991b40b51468880bd7451000ec9cbe25652 https://github.com/tianocore/edk2/commit/9bf20991b40b51468880bd7451000ec9cbe25652 Author: Ard Biesheuvel <a...@kernel.org> Date: 2025-01-17 (Fri, 17 Jan 2025) Changed paths: M ArmPkg/Include/Library/ArmGicLib.h Log Message: ----------- ArmPkg/ArmGic: Move some GIC defines into ArmGicLib.h Before getting rid of ArmGicArchLib entirely, preserve some GIC architecture related preprocessor defines by moving them into ArmGicLib.h instead. Signed-off-by: Ard Biesheuvel <a...@kernel.org> Commit: 34ab9197a51f7e158c49875992c2392346f1ac7f https://github.com/tianocore/edk2/commit/34ab9197a51f7e158c49875992c2392346f1ac7f Author: Ard Biesheuvel <a...@kernel.org> Date: 2025-01-17 (Fri, 17 Jan 2025) Changed paths: M DynamicTablesPkg/Library/Common/SsdtSerialPortFixupLib/SsdtSerialPortFixupLib.c Log Message: ----------- DynamicTablesPkg/SsdtSerialPortFixupLib: Switch to ArmGicLib.h ArmGicArchLib is going away, and preprocessor defines related to the GIC have been moved into ArmGicLib.h instead. Signed-off-by: Ard Biesheuvel <a...@kernel.org> Commit: eaa60a6b10ecef8499e16da5acbca77f0d8c8e14 https://github.com/tianocore/edk2/commit/eaa60a6b10ecef8499e16da5acbca77f0d8c8e14 Author: Ard Biesheuvel <a...@kernel.org> Date: 2025-01-17 (Fri, 17 Jan 2025) Changed paths: M ArmPkg/ArmPkg.dec M ArmPkg/ArmPkg.dsc M ArmPkg/Drivers/ArmGic/ArmGicLib.inf R ArmPkg/Include/Library/ArmGicArchLib.h R ArmPkg/Library/ArmGicArchLib/ArmGicArchLib.c R ArmPkg/Library/ArmGicArchLib/ArmGicArchLib.inf R ArmPkg/Library/ArmGicArchSecLib/ArmGicArchLib.c R ArmPkg/Library/ArmGicArchSecLib/ArmGicArchSecLib.inf M ArmPlatformPkg/ArmPlatformPkg.dsc Log Message: ----------- ArmPkg/ArmGic: Retire ArmGicArchLib ArmGicArchLib is no longer use so remove all remaining references and implementations. Continuous-integration-options: PatchCheck.ignore-multi-package Signed-off-by: Ard Biesheuvel <a...@kernel.org> Commit: c9e38d1afbb53f37541730c485398cc23e441b5f https://github.com/tianocore/edk2/commit/c9e38d1afbb53f37541730c485398cc23e441b5f Author: Ard Biesheuvel <a...@kernel.org> Date: 2025-01-17 (Fri, 17 Jan 2025) Changed paths: M ArmPkg/Drivers/ArmGic/ArmGicDxe.h M ArmPkg/Drivers/ArmGic/ArmGicDxe.inf M ArmPkg/Include/Library/ArmGicLib.h Log Message: ----------- ArmPkg/ArmGic: Incorporate v3 code from ArmGicLib Move the remaining code in ArmGicLib into ArmGicDxe, its only user, and drop the dependency on ArmGicLib. Note that ArmGicDxe has an undeclared dependency on ArmLib, so declare that instead. Signed-off-by: Ard Biesheuvel <a...@kernel.org> Commit: 0bb40c79becc1f3442fc79b89dfd7f2624a63e92 https://github.com/tianocore/edk2/commit/0bb40c79becc1f3442fc79b89dfd7f2624a63e92 Author: Ard Biesheuvel <a...@kernel.org> Date: 2025-01-17 (Fri, 17 Jan 2025) Changed paths: M ArmPkg/ArmPkg.dsc R ArmPkg/Drivers/ArmGic/ArmGicLib.inf M ArmPlatformPkg/ArmPlatformPkg.dsc M ArmVirtPkg/ArmVirt.dsc.inc M ArmVirtPkg/Library/ArmVirtGicArchLib/ArmVirtGicArchLib.inf M EmbeddedPkg/EmbeddedPkg.dsc Log Message: ----------- ArmPkg: Retire ArmGicLib implementations Retire all implementations of the ArmGicLib library class, which are no longer used. For now, retain the library header and library class declaration: the header file only contains pre-processor defines derived from the GIC architecture spec, and so this code should probably move into MdePkg at a later moment. Continuous-integration-options: PatchCheck.ignore-multi-package Signed-off-by: Ard Biesheuvel <a...@kernel.org> Commit: 86119ff79e023cbc358898ba4d267480e63aca1f https://github.com/tianocore/edk2/commit/86119ff79e023cbc358898ba4d267480e63aca1f Author: Ard Biesheuvel <a...@kernel.org> Date: 2025-01-17 (Fri, 17 Jan 2025) Changed paths: M ArmPkg/ArmPkg.dsc A ArmPkg/Drivers/ArmGic/ArmGicV2Dxe.inf Log Message: ----------- ArmPkg/ArmGic: Implement GICv2-only version of GIC driver Most platforms do not require the flexibility of the ordinary GIC driver, which supports both GICv2 and GICv3+, and decides at runtime which version to use. So expose a GICv2 only version, which only supports a GICv2. Signed-off-by: Ard Biesheuvel <a...@kernel.org> Commit: 9d1a9b426ed109fce87e487878b1865713cf4d3e https://github.com/tianocore/edk2/commit/9d1a9b426ed109fce87e487878b1865713cf4d3e Author: Ard Biesheuvel <a...@kernel.org> Date: 2025-01-17 (Fri, 17 Jan 2025) Changed paths: M ArmPkg/ArmPkg.dsc A ArmPkg/Drivers/ArmGic/ArmGicV3Dxe.inf M ArmPkg/Drivers/ArmGic/GicV3/ArmGicV3Dxe.c Log Message: ----------- ArmPkg/ArmGic: Implement GICv3+ version of GIC driver Most platforms do not require the flexibility of the ordinary GIC driver, which supports both GICv2 and GICv3+, and decides at runtime which version to use. So expose a GICv3+ version, which only supports a GICv3 or newer. Signed-off-by: Ard Biesheuvel <a...@kernel.org> Commit: 81e2cd329efc0ed240234f475426cb81bf5d9c84 https://github.com/tianocore/edk2/commit/81e2cd329efc0ed240234f475426cb81bf5d9c84 Author: Ard Biesheuvel <a...@kernel.org> Date: 2025-01-17 (Fri, 17 Jan 2025) Changed paths: M ArmPkg/ArmPkg.dsc R ArmPkg/Drivers/ArmGic/ArmGicCommonDxe.c R ArmPkg/Drivers/ArmGic/ArmGicDxe.c R ArmPkg/Drivers/ArmGic/ArmGicDxe.h R ArmPkg/Drivers/ArmGic/ArmGicDxe.inf R ArmPkg/Drivers/ArmGic/ArmGicV2Dxe.inf R ArmPkg/Drivers/ArmGic/ArmGicV3Dxe.inf R ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2Dxe.c R ArmPkg/Drivers/ArmGic/GicV3/AArch64/ArmGicV3.S R ArmPkg/Drivers/ArmGic/GicV3/Arm/ArmGicV3.S R ArmPkg/Drivers/ArmGic/GicV3/ArmGicV3Dxe.c A ArmPkg/Drivers/ArmGicDxe/ArmGicCommonDxe.c A ArmPkg/Drivers/ArmGicDxe/ArmGicDxe.c A ArmPkg/Drivers/ArmGicDxe/ArmGicDxe.h A ArmPkg/Drivers/ArmGicDxe/ArmGicDxe.inf A ArmPkg/Drivers/ArmGicDxe/ArmGicV2Dxe.inf A ArmPkg/Drivers/ArmGicDxe/ArmGicV3Dxe.inf A ArmPkg/Drivers/ArmGicDxe/GicV2/ArmGicV2Dxe.c A ArmPkg/Drivers/ArmGicDxe/GicV3/AArch64/ArmGicV3.S A ArmPkg/Drivers/ArmGicDxe/GicV3/Arm/ArmGicV3.S A ArmPkg/Drivers/ArmGicDxe/GicV3/ArmGicV3Dxe.c M ArmVirtPkg/ArmVirtCloudHv.dsc M ArmVirtPkg/ArmVirtCloudHv.fdf M ArmVirtPkg/ArmVirtKvmTool.dsc M ArmVirtPkg/ArmVirtKvmTool.fdf M ArmVirtPkg/ArmVirtQemu.dsc M ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc M ArmVirtPkg/ArmVirtQemuKernel.dsc M ArmVirtPkg/ArmVirtXen.dsc M ArmVirtPkg/ArmVirtXen.fdf Log Message: ----------- ArmPkg/ArmGic: Rename directory to ArmGicDxe Now that ArmPkg/Drivers/ArmGic no longer carries a combination of libraries and DXE drivers, rename the directory to the more idiomatic ArmPkg/Drivers/ArmGicDxe Continuous-integration-options: PatchCheck.ignore-multi-package Signed-off-by: Ard Biesheuvel <a...@kernel.org> Commit: 2d2642f4832ebc45cb7d5ba9430b933d953b94f2 https://github.com/tianocore/edk2/commit/2d2642f4832ebc45cb7d5ba9430b933d953b94f2 Author: Ard Biesheuvel <a...@kernel.org> Date: 2025-01-17 (Fri, 17 Jan 2025) Changed paths: M ArmPkg/Drivers/ArmGicDxe/ArmGicDxe.h M ArmPkg/Drivers/ArmGicDxe/GicV3/AArch64/ArmGicV3.S M ArmPkg/Drivers/ArmGicDxe/GicV3/Arm/ArmGicV3.S M ArmPkg/Drivers/ArmGicDxe/GicV3/ArmGicV3Dxe.c M ArmPkg/Include/Library/ArmGicLib.h Log Message: ----------- ArmPkg/ArmGicDxe: Use EOImode 0x0 on GICv3 When re-entering EDK2 from a high level OS such as Linux, the GICv3 may be configured to use split priority drop and deactivate (EOImode == 1), whereas EDK2's GICv3 driver assumes the default setting of EOImode == 0. So clear the EOImode bit explicitly when taking control of the GIC. Signed-off-by: Ard Biesheuvel <a...@kernel.org> Compare: https://github.com/tianocore/edk2/compare/ea2f6c68ee92...2d2642f4832e To unsubscribe from these emails, change your notification settings at https://github.com/tianocore/edk2/settings/notifications _______________________________________________ edk2-commits mailing list edk2-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-commits