Branch: refs/heads/master
  Home:   https://github.com/tianocore/edk2
  Commit: 286b30f517ef35ae2764f13f077f0f120372a286
      
https://github.com/tianocore/edk2/commit/286b30f517ef35ae2764f13f077f0f120372a286
  Author: Dhaval Sharma <[email protected]>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M MdePkg/Include/Library/BaseLib.h
    M MdePkg/Library/BaseCacheMaintenanceLib/RiscVCache.c

  Log Message:
  -----------
  MdePkg: Move RISC-V Cache Management Declarations Into BaseLib

The declarations for cache Management functions belong to BaseLib
instead of instance source file. This helps with further restructuring
of cache management code for RISC-V.

Cc: Michael D Kinney <[email protected]>
Cc: Liming Gao <[email protected]>
Cc: Zhiguang Liu <[email protected]>
Cc: Laszlo Ersek <[email protected]>
Cc: Pedro Falcato <[email protected]>

Signed-off-by: Dhaval Sharma <[email protected]>
Reviewed-by: Laszlo Ersek <[email protected]>


  Commit: 30faafd0247af0a6534caf2a6ac3231fa8e63d86
      
https://github.com/tianocore/edk2/commit/30faafd0247af0a6534caf2a6ac3231fa8e63d86
  Author: Dhaval <[email protected]>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M MdePkg/Include/Library/BaseLib.h
    M MdePkg/Library/BaseCacheMaintenanceLib/RiscVCache.c
    M MdePkg/Library/BaseLib/RiscV64/FlushCache.S

  Log Message:
  -----------
  MdePkg: Rename Cache Management Function To Clarify Fence Based Op

There are different ways to manage cache on RISC-V Processors.
One way is to use fence instruction. Another way is to use CPU
specific cache management operation instructions ratified as
per RISC-V ISA specifications to be introduced in future
patches. Current method is fence instruction based, rename the
function accordingly to add that clarity.

Cc: Michael D Kinney <[email protected]>
Cc: Liming Gao <[email protected]>
Cc: Zhiguang Liu <[email protected]>
Cc: Sunil V L <[email protected]>
Cc: Daniel Schaefer <[email protected]>
Cc: Laszlo Ersek <[email protected]>
Cc: Pedro Falcato <[email protected]>

Signed-off-by: Dhaval Sharma <[email protected]>
Reviewed-by: Laszlo Ersek <[email protected]>


  Commit: 26727c2ae2a8883b7f4be23c26b6209ea763c816
      
https://github.com/tianocore/edk2/commit/26727c2ae2a8883b7f4be23c26b6209ea763c816
  Author: Dhaval <[email protected]>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M MdePkg/Include/Library/BaseLib.h
    A MdePkg/Include/RiscV64/RiscVasm.inc
    M MdePkg/Library/BaseLib/BaseLib.inf
    R MdePkg/Library/BaseLib/RiscV64/FlushCache.S
    A MdePkg/Library/BaseLib/RiscV64/RiscVCacheMgmt.S

  Log Message:
  -----------
  MdePkg: Implement RISC-V Cache Management Operations

Implement Cache Management Operations (CMO) defined by
RISC-V spec https://github.com/riscv/riscv-CMOs.

Notes:
1. CMO only supports block based Operations. Meaning cache
   flush/invd/clean Operations are not available for the entire
   range. In that case we fallback on fence.i instructions.
2. Operations are implemented using Opcodes to make them compiler
   independent. binutils 2.39+ compilers support CMO instructions.

Test:
1. Ensured correct instructions are refelecting in asm
2. Qemu implements basic support for CMO operations in that it allwos
   instructions without exceptions. Verified it works properly in
   that sense.
3. SG2042Pkg implements CMO-like instructions. It was verified that
   CpuFlushCpuDataCache works fine. This more of less
   confirms that framework is alright.
4. TODO: Once Silicon is available with exact instructions, we will
   further verify this.

Cc: Michael D Kinney <[email protected]>
Cc: Liming Gao <[email protected]>
Cc: Zhiguang Liu <[email protected]>
Cc: Sunil V L <[email protected]>
Cc: Daniel Schaefer <[email protected]>
Cc: Laszlo Ersek <[email protected]>
Cc: Pedro Falcato <[email protected]>

Signed-off-by: Dhaval Sharma <[email protected]>
Reviewed-by: Laszlo Ersek <[email protected]>
Reviewed-by: Sunil V L <sunilvl@...>
Reviewed-by: Jingyu Li <jingyu.li01@...>


  Commit: 904b002c505cc689a2075745e1de529da5895c41
      
https://github.com/tianocore/edk2/commit/904b002c505cc689a2075745e1de529da5895c41
  Author: Dhaval Sharma <[email protected]>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
    M MdePkg/Library/BaseCacheMaintenanceLib/RiscVCache.c
    M MdePkg/MdePkg.dec
    M MdePkg/MdePkg.uni

  Log Message:
  -----------
  MdePkg: Utilize Cache Management Operations Implementation For RISC-V

Use newly defined cache management operations for RISC-V where possible
It builds up on the support added for RISC-V cache management
instructions in BaseLib.
Cc: Michael D Kinney <[email protected]>
Cc: Liming Gao <[email protected]>
Cc: Zhiguang Liu <[email protected]>
Cc: Laszlo Ersek <[email protected]>
Cc: Pedro Falcato <[email protected]>

Signed-off-by: Dhaval Sharma <[email protected]>
Acked-by: Laszlo Ersek <[email protected]>
Reviewed-by: Pedro Falcato <[email protected]>
Reviewed-by: Sunil V L <[email protected]>


  Commit: b1f33cbf8113bb07526c9f6946c250c7d9db44f9
      
https://github.com/tianocore/edk2/commit/b1f33cbf8113bb07526c9f6946c250c7d9db44f9
  Author: Dhaval <[email protected]>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M OvmfPkg/RiscVVirt/RiscVVirt.dsc.inc

  Log Message:
  -----------
  OvmfPkg/RiscVVirt: Override for RISC-V CPU Features

This PCD provides a way for platform to override any
HW features that are default enabled by previous stages
of FW (like OpenSBI). For the case where previous/prev
stage has disabled the feature, this override is not
useful and its usage should be avoided.

Cc: Ard Biesheuvel <[email protected]>
Cc: Jiewen Yao <[email protected]>
Cc: Jordan Justen <[email protected]>
Cc: Gerd Hoffmann <[email protected]>
Cc: Sunil V L <[email protected]>
Cc: Andrei Warkentin <[email protected]>
Cc: Laszlo Ersek <[email protected]>
Cc: Pedro Falcato <[email protected]>

Signed-off-by: Dhaval Sharma <[email protected]>
Acked-by: Laszlo Ersek <[email protected]>
Reviewed-by: Andrei Warkentin <andrei.warkentin@...>
Reviewed-by: Sunil V L <[email protected]>


Compare: https://github.com/tianocore/edk2/compare/3c66390e4a51...b1f33cbf8113


_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to