Branch: refs/heads/master
  Home:   https://github.com/tianocore/edk2
  Commit: 43130ae4034cdcf0fa0ff928105fbe3e52d9f628
      
https://github.com/tianocore/edk2/commit/43130ae4034cdcf0fa0ff928105fbe3e52d9f628
  Author: Ard Biesheuvel <a...@kernel.org>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M ArmPkg/ArmPkg.dec
    M ArmPkg/Library/ArmMonitorLib/ArmMonitorLib.c
    M ArmVirtPkg/ArmVirt.dsc.inc

  Log Message:
  -----------
  ArmPkg: Convert PcdMonitorConduitHvc to FixedAtBuild

Feature PCDs and fixed-at-build PCDs are identical in concept, but the
latter are accessible from assembler, whereas the former are not. So
convert the SMCCC conduit selection PCD to fixed-at-build so we can make
use of this in a subsequent patch.

Continuous-integration-options: PatchCheck.ignore-multi-package
Signed-off-by: Ard Biesheuvel <a...@kernel.org>


  Commit: b1bce5e5649840159d54eb8bffa4fa3d4fae8ee6
      
https://github.com/tianocore/edk2/commit/b1bce5e5649840159d54eb8bffa4fa3d4fae8ee6
  Author: Ard Biesheuvel <a...@kernel.org>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M ArmPkg/Include/Library/ArmMonitorLib.h
    A ArmPkg/Library/ArmMonitorLib/AArch64/ArmMonitorLib.S
    A ArmPkg/Library/ArmMonitorLib/Arm/ArmMonitorLib.S
    R ArmPkg/Library/ArmMonitorLib/ArmMonitorLib.c
    M ArmPkg/Library/ArmMonitorLib/ArmMonitorLib.inf

  Log Message:
  -----------
  ArmPkg/ArmMonitorLib: Implement SMCCC protocol correctly and directly

The SMCCC protocol stipulates the following:
- on AARCH64, 18 arguments can be passed, and 18 values can be returned,
  via registers X0-x17;
- on ARM, 8 arguments can be passed, and 8 values can be returned.

This makes ArmSmcLib and ArmHvcLib as implemented currently unsuitable
for use with SMCCC services in general, although for PSCI in particular,
they work fine.

The dependency on both ArmSmcLib and ArmHvcLib is also impractical
because it requires every platform that consumes ArmMonitorLib to
provide resolutions for each, even though most platforms will only ever
need one of these (and the choice is made at compile time)

So let's drop these dependencies, and re-implement the asm helpers from
scratch. Note that the only difference is the actual instruction used
-HVC vs SMC- and so all other code can be shared.

Signed-off-by: Ard Biesheuvel <a...@kernel.org>


Compare: https://github.com/tianocore/edk2/compare/8665187b017b...b1bce5e56498

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

Reply via email to