[edk2-devel] [PATCH v8 0/5] Cache Management Operations Support For RISC-V

Dhaval Sharma posted 5 patches 5 months, 3 weeks ago
Failed in applying to current master (apply log)
There is a newer version of this series
MdePkg/MdePkg.dec                                                  |   8 +
OvmfPkg/RiscVVirt/RiscVVirt.dsc.inc                                |   1 +
MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf |   5 +
MdePkg/Library/BaseLib/BaseLib.inf                                 |   2 +-
MdePkg/Include/Library/BaseLib.h                                   |  53 ++++++
MdePkg/Library/BaseCacheMaintenanceLib/RiscVCache.c                | 174 ++++++++++++++++----
MdePkg/Include/RiscV64/RiscVasm.inc                                |  19 +++
MdePkg/Library/BaseLib/RiscV64/FlushCache.S                        |  21 ---
MdePkg/Library/BaseLib/RiscV64/RiscVCacheMgmt.S                    |  38 +++++
MdePkg/MdePkg.uni                                                  |   4 +
10 files changed, 271 insertions(+), 54 deletions(-)
create mode 100644 MdePkg/Include/RiscV64/RiscVasm.inc
delete mode 100644 MdePkg/Library/BaseLib/RiscV64/FlushCache.S
create mode 100644 MdePkg/Library/BaseLib/RiscV64/RiscVCacheMgmt.S
[edk2-devel] [PATCH v8 0/5] Cache Management Operations Support For RISC-V
Posted by Dhaval Sharma 5 months, 3 weeks ago
Implementing code to support Cache Management Operations (CMO) defined by
RISC-V CMO instructions.https://github.com/riscv/riscv-CMOs
This is a re-write of original series v5.
The patchset contains 5 patches- created based on V5 feedback.
1. Restructuring of existing code and move instruction declarations into BaseLib
2. Renaming existing functions to denote type of instruction used to maanage cache.
   This is useful for further patches where more cache management instructions are added.
3. Add the new cache maintenance operations to BaseLib, including the
	 new assembly instruction encodings.
4. Update BaseCacheMaintenanceLib (utilizing the new BaseLib primitives)
5. Add platform level PCD to allow overriding of RISC-V features.

Code Link: https://github.com/tianocore/edk2/pull/5002

Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Sunil V L <sunilvl@ventanamicro.com>
Cc: Andrei Warkentin <andrei.warkentin@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Zhiguang Liu <zhiguang.liu@intel.com>
Cc: Daniel Schaefer <git@danielschaefer.me>

Dhaval (5):
  MdePkg: Move RISC-V Cache Management Declarations Into BaseLib
  MdePkg: Rename Cache Management Function To Clarify Fence Based Op
  MdePkg: Implement RISC-V Cache Management Operations
  MdePkg: Utilize Cache Management Operations Implementation For RISC-V
  OvmfPkg/RiscVVirt: Override for RV CPU Features

 MdePkg/MdePkg.dec                                                  |   8 +
 OvmfPkg/RiscVVirt/RiscVVirt.dsc.inc                                |   1 +
 MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf |   5 +
 MdePkg/Library/BaseLib/BaseLib.inf                                 |   2 +-
 MdePkg/Include/Library/BaseLib.h                                   |  53 ++++++
 MdePkg/Library/BaseCacheMaintenanceLib/RiscVCache.c                | 174 ++++++++++++++++----
 MdePkg/Include/RiscV64/RiscVasm.inc                                |  19 +++
 MdePkg/Library/BaseLib/RiscV64/FlushCache.S                        |  21 ---
 MdePkg/Library/BaseLib/RiscV64/RiscVCacheMgmt.S                    |  38 +++++
 MdePkg/MdePkg.uni                                                  |   4 +
 10 files changed, 271 insertions(+), 54 deletions(-)
 create mode 100644 MdePkg/Include/RiscV64/RiscVasm.inc
 delete mode 100644 MdePkg/Library/BaseLib/RiscV64/FlushCache.S
 create mode 100644 MdePkg/Library/BaseLib/RiscV64/RiscVCacheMgmt.S

-- 
2.39.2



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#110697): https://edk2.groups.io/g/devel/message/110697
Mute This Topic: https://groups.io/mt/102413464/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH v8 0/5] Cache Management Operations Support For RISC-V
Posted by Sunil V L 5 months, 3 weeks ago
On Mon, Nov 06, 2023 at 08:23:51AM +0530, Dhaval wrote:
> Implementing code to support Cache Management Operations (CMO) defined by
> RISC-V CMO instructions.https://github.com/riscv/riscv-CMOs
> This is a re-write of original series v5.
> The patchset contains 5 patches- created based on V5 feedback.
> 1. Restructuring of existing code and move instruction declarations into BaseLib
> 2. Renaming existing functions to denote type of instruction used to maanage cache.
>    This is useful for further patches where more cache management instructions are added.
> 3. Add the new cache maintenance operations to BaseLib, including the
> 	 new assembly instruction encodings.
> 4. Update BaseCacheMaintenanceLib (utilizing the new BaseLib primitives)
> 5. Add platform level PCD to allow overriding of RISC-V features.
> 
> Code Link: https://github.com/tianocore/edk2/pull/5002
> 
> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
> Cc: Jiewen Yao <jiewen.yao@intel.com>
> Cc: Jordan Justen <jordan.l.justen@intel.com>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Cc: Sunil V L <sunilvl@ventanamicro.com>
> Cc: Andrei Warkentin <andrei.warkentin@intel.com>
> Cc: Laszlo Ersek <lersek@redhat.com>
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Cc: Zhiguang Liu <zhiguang.liu@intel.com>
> Cc: Daniel Schaefer <git@danielschaefer.me>
> 
> Dhaval (5):
>   MdePkg: Move RISC-V Cache Management Declarations Into BaseLib
>   MdePkg: Rename Cache Management Function To Clarify Fence Based Op
>   MdePkg: Implement RISC-V Cache Management Operations
>   MdePkg: Utilize Cache Management Operations Implementation For RISC-V
>   OvmfPkg/RiscVVirt: Override for RV CPU Features

If nobody objects,  I will merge this tomorrow  with or without ack from
MdePkg maintainers. The changes are related to RISC-V only anyway.

Thanks,
Sunil


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#110820): https://edk2.groups.io/g/devel/message/110820
Mute This Topic: https://groups.io/mt/102413464/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH v8 0/5] Cache Management Operations Support For RISC-V
Posted by Laszlo Ersek 5 months, 3 weeks ago
On 11/7/23 08:15, Sunil V L wrote:
> On Mon, Nov 06, 2023 at 08:23:51AM +0530, Dhaval wrote:
>> Implementing code to support Cache Management Operations (CMO) defined by
>> RISC-V CMO instructions.https://github.com/riscv/riscv-CMOs
>> This is a re-write of original series v5.
>> The patchset contains 5 patches- created based on V5 feedback.
>> 1. Restructuring of existing code and move instruction declarations into BaseLib
>> 2. Renaming existing functions to denote type of instruction used to maanage cache.
>>    This is useful for further patches where more cache management instructions are added.
>> 3. Add the new cache maintenance operations to BaseLib, including the
>> 	 new assembly instruction encodings.
>> 4. Update BaseCacheMaintenanceLib (utilizing the new BaseLib primitives)
>> 5. Add platform level PCD to allow overriding of RISC-V features.
>>
>> Code Link: https://github.com/tianocore/edk2/pull/5002
>>
>> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
>> Cc: Jiewen Yao <jiewen.yao@intel.com>
>> Cc: Jordan Justen <jordan.l.justen@intel.com>
>> Cc: Gerd Hoffmann <kraxel@redhat.com>
>> Cc: Sunil V L <sunilvl@ventanamicro.com>
>> Cc: Andrei Warkentin <andrei.warkentin@intel.com>
>> Cc: Laszlo Ersek <lersek@redhat.com>
>> Cc: Michael D Kinney <michael.d.kinney@intel.com>
>> Cc: Liming Gao <gaoliming@byosoft.com.cn>
>> Cc: Zhiguang Liu <zhiguang.liu@intel.com>
>> Cc: Daniel Schaefer <git@danielschaefer.me>
>>
>> Dhaval (5):
>>   MdePkg: Move RISC-V Cache Management Declarations Into BaseLib
>>   MdePkg: Rename Cache Management Function To Clarify Fence Based Op
>>   MdePkg: Implement RISC-V Cache Management Operations
>>   MdePkg: Utilize Cache Management Operations Implementation For RISC-V
>>   OvmfPkg/RiscVVirt: Override for RV CPU Features
> 
> If nobody objects,  I will merge this tomorrow  with or without ack from
> MdePkg maintainers. The changes are related to RISC-V only anyway.

I think you'll have to ask Mike or Liming to do the merge, given that
we're now in soft feature freeze. I do agree though that the series's
review completed in time for the merge; v8 picked up tags given previously.

Laszlo



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#110871): https://edk2.groups.io/g/devel/message/110871
Mute This Topic: https://groups.io/mt/102413464/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/leave/3901457/1787277/102458076/xyzzy [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH v8 0/5] Cache Management Operations Support For RISC-V
Posted by Sunil V L 5 months, 3 weeks ago
On Tue, Nov 07, 2023 at 07:04:58PM +0100, Laszlo Ersek wrote:
> On 11/7/23 08:15, Sunil V L wrote:
> > On Mon, Nov 06, 2023 at 08:23:51AM +0530, Dhaval wrote:
> >> Implementing code to support Cache Management Operations (CMO) defined by
> >> RISC-V CMO instructions.https://github.com/riscv/riscv-CMOs
> >> This is a re-write of original series v5.
> >> The patchset contains 5 patches- created based on V5 feedback.
> >> 1. Restructuring of existing code and move instruction declarations into BaseLib
> >> 2. Renaming existing functions to denote type of instruction used to maanage cache.
> >>    This is useful for further patches where more cache management instructions are added.
> >> 3. Add the new cache maintenance operations to BaseLib, including the
> >> 	 new assembly instruction encodings.
> >> 4. Update BaseCacheMaintenanceLib (utilizing the new BaseLib primitives)
> >> 5. Add platform level PCD to allow overriding of RISC-V features.
> >>
> >> Code Link: https://github.com/tianocore/edk2/pull/5002
> >>
> >> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
> >> Cc: Jiewen Yao <jiewen.yao@intel.com>
> >> Cc: Jordan Justen <jordan.l.justen@intel.com>
> >> Cc: Gerd Hoffmann <kraxel@redhat.com>
> >> Cc: Sunil V L <sunilvl@ventanamicro.com>
> >> Cc: Andrei Warkentin <andrei.warkentin@intel.com>
> >> Cc: Laszlo Ersek <lersek@redhat.com>
> >> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> >> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> >> Cc: Zhiguang Liu <zhiguang.liu@intel.com>
> >> Cc: Daniel Schaefer <git@danielschaefer.me>
> >>
> >> Dhaval (5):
> >>   MdePkg: Move RISC-V Cache Management Declarations Into BaseLib
> >>   MdePkg: Rename Cache Management Function To Clarify Fence Based Op
> >>   MdePkg: Implement RISC-V Cache Management Operations
> >>   MdePkg: Utilize Cache Management Operations Implementation For RISC-V
> >>   OvmfPkg/RiscVVirt: Override for RV CPU Features
> > 
> > If nobody objects,  I will merge this tomorrow  with or without ack from
> > MdePkg maintainers. The changes are related to RISC-V only anyway.
> 
> I think you'll have to ask Mike or Liming to do the merge, given that
> we're now in soft feature freeze. I do agree though that the series's
> review completed in time for the merge; v8 picked up tags given previously.
> 
Ahh, yes. Thanks for reminding me.

Hi Liming, Mike,

Could you help merging this series?

Thanks,
Sunil


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#110888): https://edk2.groups.io/g/devel/message/110888
Mute This Topic: https://groups.io/mt/102413464/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-