[edk2-devel] [PATCH 1/5] Silicon/RISC-V/ProcessorPkg: remove redundant CpuDxe driver

Chai, Evan evan.chai at intel.com
Sun Apr 2 15:15:38 UTC 2023


UefiCpuPkg/CpuDxeRiscV64 will replace it later.

Cc: Daniel Schaefer <git at danielschaefer.me>
Cc: Sunil V L <sunilvl at ventanamicro.com>
Cc: Andrei Warkentin <andrei.warkentin at intel.com>
Signed-off-by: Evan Chai <evan.chai at intel.com>
---
 Platform/SiFive/U5SeriesPkg/FreedomU500VC707Board/U500.dsc           |   2 +-
 Platform/SiFive/U5SeriesPkg/FreedomU500VC707Board/U500.fdf           |   2 +-
 Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/U540.dsc |   2 +-
 Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/U540.fdf |   2 +-
 Silicon/RISC-V/ProcessorPkg/Universal/CpuDxe/CpuDxe.c                | 310 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Silicon/RISC-V/ProcessorPkg/Universal/CpuDxe/CpuDxe.h                | 198 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Silicon/RISC-V/ProcessorPkg/Universal/CpuDxe/CpuDxe.inf              |  49 -------------------------------------------------
 Silicon/RISC-V/ProcessorPkg/Universal/CpuDxe/CpuDxe.uni              |  13 -------------
 Silicon/RISC-V/ProcessorPkg/Universal/CpuDxe/CpuDxeExtra.uni         |  14 --------------
 9 files changed, 4 insertions(+), 588 deletions(-)

diff --git a/Platform/SiFive/U5SeriesPkg/FreedomU500VC707Board/U500.dsc b/Platform/SiFive/U5SeriesPkg/FreedomU500VC707Board/U500.dsc
index fc1ed012..efcfdd35 100644
--- a/Platform/SiFive/U5SeriesPkg/FreedomU500VC707Board/U500.dsc
+++ b/Platform/SiFive/U5SeriesPkg/FreedomU500VC707Board/U500.dsc
@@ -466,7 +466,7 @@
   #
   # RISC-V Core module
   #
-  Silicon/RISC-V/ProcessorPkg/Universal/CpuDxe/CpuDxe.inf
+  UefiCpuPkg/CpuDxeRiscV64/CpuDxeRiscV64.inf
   Silicon/RISC-V/ProcessorPkg/Universal/SmbiosDxe/RiscVSmbiosDxe.inf
   MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
 
diff --git a/Platform/SiFive/U5SeriesPkg/FreedomU500VC707Board/U500.fdf b/Platform/SiFive/U5SeriesPkg/FreedomU500VC707Board/U500.fdf
index 4ce19279..da4d3379 100644
--- a/Platform/SiFive/U5SeriesPkg/FreedomU500VC707Board/U500.fdf
+++ b/Platform/SiFive/U5SeriesPkg/FreedomU500VC707Board/U500.fdf
@@ -151,7 +151,7 @@ INF  Platform/SiFive/U5SeriesPkg/Universal/Dxe/RamFvbServicesRuntimeDxe/FvbServi
 
 # RISC-V Core Drivers
 INF  Platform/SiFive/U5SeriesPkg/Universal/Dxe/TimerDxe/TimerDxe.inf
-INF  Silicon/RISC-V/ProcessorPkg/Universal/CpuDxe/CpuDxe.inf
+INF  UefiCpuPkg/CpuDxeRiscV64/CpuDxeRiscV64.inf
 INF  Silicon/RISC-V/ProcessorPkg/Universal/SmbiosDxe/RiscVSmbiosDxe.inf
 
 INF  MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
diff --git a/Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/U540.dsc b/Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/U540.dsc
index e59955d0..d92f8166 100644
--- a/Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/U540.dsc
+++ b/Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/U540.dsc
@@ -465,7 +465,7 @@
   #
   # RISC-V Core module
   #
-  Silicon/RISC-V/ProcessorPkg/Universal/CpuDxe/CpuDxe.inf
+  UefiCpuPkg/CpuDxeRiscV64/CpuDxeRiscV64.inf
   Silicon/RISC-V/ProcessorPkg/Universal/SmbiosDxe/RiscVSmbiosDxe.inf
   MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
 
diff --git a/Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/U540.fdf b/Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/U540.fdf
index c58fa635..237ed74a 100644
--- a/Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/U540.fdf
+++ b/Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/U540.fdf
@@ -151,7 +151,7 @@ INF  Platform/SiFive/U5SeriesPkg/Universal/Dxe/RamFvbServicesRuntimeDxe/FvbServi
 
 # RISC-V Core Drivers
 INF  Platform/SiFive/U5SeriesPkg/Universal/Dxe/TimerDxe/TimerDxe.inf
-INF  Silicon/RISC-V/ProcessorPkg/Universal/CpuDxe/CpuDxe.inf
+INF  UefiCpuPkg/CpuDxeRiscV64/CpuDxeRiscV64.inf
 INF  Silicon/RISC-V/ProcessorPkg/Universal/SmbiosDxe/RiscVSmbiosDxe.inf
 
 INF  MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
diff --git a/Silicon/RISC-V/ProcessorPkg/Universal/CpuDxe/CpuDxe.c b/Silicon/RISC-V/ProcessorPkg/Universal/CpuDxe/CpuDxe.c
deleted file mode 100644
index 8d4d406e..00000000
--- a/Silicon/RISC-V/ProcessorPkg/Universal/CpuDxe/CpuDxe.c
+++ /dev/null
@@ -1,310 +0,0 @@
-/** @file
-  RISC-V CPU DXE driver.
-
-  Copyright (c) 2016 - 2022, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
-
-  SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#include "CpuDxe.h"
-
-//
-// Global Variables
-//
-STATIC BOOLEAN     mInterruptState = FALSE;
-STATIC EFI_HANDLE  mCpuHandle      = NULL;
-
-EFI_CPU_ARCH_PROTOCOL  gCpu = {
-  CpuFlushCpuDataCache,
-  CpuEnableInterrupt,
-  CpuDisableInterrupt,
-  CpuGetInterruptState,
-  CpuInit,
-  CpuRegisterInterruptHandler,
-  CpuGetTimerValue,
-  CpuSetMemoryAttributes,
-  1,                          // NumberOfTimers
-  4                           // DmaBufferAlignment
-};
-
-//
-// CPU Arch Protocol Functions
-//
-
-/**
-  Flush CPU data cache. If the instruction cache is fully coherent
-  with all DMA operations then function can just return EFI_SUCCESS.
-
-  @param  This              Protocol instance structure
-  @param  Start             Physical address to start flushing from.
-  @param  Length            Number of bytes to flush. Round up to chipset
-                            granularity.
-  @param  FlushType         Specifies the type of flush operation to perform.
-
-  @retval EFI_SUCCESS       If cache was flushed
-  @retval EFI_UNSUPPORTED   If flush type is not supported.
-  @retval EFI_DEVICE_ERROR  If requested range could not be flushed.
-
-**/
-EFI_STATUS
-EFIAPI
-CpuFlushCpuDataCache (
-  IN EFI_CPU_ARCH_PROTOCOL  *This,
-  IN EFI_PHYSICAL_ADDRESS   Start,
-  IN UINT64                 Length,
-  IN EFI_CPU_FLUSH_TYPE     FlushType
-  )
-{
-  return EFI_SUCCESS;
-}
-
-/**
-  Enables CPU interrupts.
-
-  @param  This              Protocol instance structure
-
-  @retval EFI_SUCCESS       If interrupts were enabled in the CPU
-  @retval EFI_DEVICE_ERROR  If interrupts could not be enabled on the CPU.
-
-**/
-EFI_STATUS
-EFIAPI
-CpuEnableInterrupt (
-  IN EFI_CPU_ARCH_PROTOCOL  *This
-  )
-{
-  EnableInterrupts ();
-  mInterruptState = TRUE;
-  return EFI_SUCCESS;
-}
-
-/**
-  Disables CPU interrupts.
-
-  @param  This              Protocol instance structure
-
-  @retval EFI_SUCCESS       If interrupts were disabled in the CPU.
-  @retval EFI_DEVICE_ERROR  If interrupts could not be disabled on the CPU.
-
-**/
-EFI_STATUS
-EFIAPI
-CpuDisableInterrupt (
-  IN EFI_CPU_ARCH_PROTOCOL  *This
-  )
-{
-  DisableInterrupts ();
-  mInterruptState = FALSE;
-  return EFI_SUCCESS;
-}
-
-/**
-  Return the state of interrupts.
-
-  @param  This                   Protocol instance structure
-  @param  State                  Pointer to the CPU's current interrupt state
-
-  @retval EFI_SUCCESS            If interrupts were disabled in the CPU.
-  @retval EFI_INVALID_PARAMETER  State is NULL.
-
-**/
-EFI_STATUS
-EFIAPI
-CpuGetInterruptState (
-  IN  EFI_CPU_ARCH_PROTOCOL  *This,
-  OUT BOOLEAN                *State
-  )
-{
-  if (State == NULL) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  *State = mInterruptState;
-  return EFI_SUCCESS;
-}
-
-/**
-  Generates an INIT to the CPU.
-
-  @param  This              Protocol instance structure
-  @param  InitType          Type of CPU INIT to perform
-
-  @retval EFI_SUCCESS       If CPU INIT occurred. This value should never be
-                            seen.
-  @retval EFI_DEVICE_ERROR  If CPU INIT failed.
-  @retval EFI_UNSUPPORTED   Requested type of CPU INIT not supported.
-
-**/
-EFI_STATUS
-EFIAPI
-CpuInit (
-  IN EFI_CPU_ARCH_PROTOCOL  *This,
-  IN EFI_CPU_INIT_TYPE      InitType
-  )
-{
-  return EFI_UNSUPPORTED;
-}
-
-/**
-  Registers a function to be called from the CPU interrupt handler.
-
-  @param  This                   Protocol instance structure
-  @param  InterruptType          Defines which interrupt to hook. IA-32
-                                 valid range is 0x00 through 0xFF
-  @param  InterruptHandler       A pointer to a function of type
-                                 EFI_CPU_INTERRUPT_HANDLER that is called
-                                 when a processor interrupt occurs.  A null
-                                 pointer is an error condition.
-
-  @retval EFI_SUCCESS            If handler installed or uninstalled.
-  @retval EFI_ALREADY_STARTED    InterruptHandler is not NULL, and a handler
-                                 for InterruptType was previously installed.
-  @retval EFI_INVALID_PARAMETER  InterruptHandler is NULL, and a handler for
-                                 InterruptType was not previously installed.
-  @retval EFI_UNSUPPORTED        The interrupt specified by InterruptType
-                                 is not supported.
-
-**/
-EFI_STATUS
-EFIAPI
-CpuRegisterInterruptHandler (
-  IN EFI_CPU_ARCH_PROTOCOL      *This,
-  IN EFI_EXCEPTION_TYPE         InterruptType,
-  IN EFI_CPU_INTERRUPT_HANDLER  InterruptHandler
-  )
-{
-  return RegisterCpuInterruptHandler (InterruptType, InterruptHandler);
-}
-
-/**
-  Returns a timer value from one of the CPU's internal timers. There is no
-  inherent time interval between ticks but is a function of the CPU frequency.
-
-  @param  This                - Protocol instance structure.
-  @param  TimerIndex          - Specifies which CPU timer is requested.
-  @param  TimerValue          - Pointer to the returned timer value.
-  @param  TimerPeriod         - A pointer to the amount of time that passes
-                                in femtoseconds (10-15) for each increment
-                                of TimerValue. If TimerValue does not
-                                increment at a predictable rate, then 0 is
-                                returned.  The amount of time that has
-                                passed between two calls to GetTimerValue()
-                                can be calculated with the formula
-                                (TimerValue2 - TimerValue1) * TimerPeriod.
-                                This parameter is optional and may be NULL.
-
-  @retval EFI_SUCCESS           - If the CPU timer count was returned.
-  @retval EFI_UNSUPPORTED       - If the CPU does not have any readable timers.
-  @retval EFI_DEVICE_ERROR      - If an error occurred while reading the timer.
-  @retval EFI_INVALID_PARAMETER - TimerIndex is not valid or TimerValue is NULL.
-
-**/
-EFI_STATUS
-EFIAPI
-CpuGetTimerValue (
-  IN  EFI_CPU_ARCH_PROTOCOL  *This,
-  IN  UINT32                 TimerIndex,
-  OUT UINT64                 *TimerValue,
-  OUT UINT64                 *TimerPeriod OPTIONAL
-  )
-{
-  if (TimerValue == NULL) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  if (TimerIndex != 0) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  *TimerValue = (UINT64)RiscVReadMachineTimerInterface ();
-  if (TimerPeriod != NULL) {
-    *TimerPeriod = DivU64x32 (
-                     1000000000000000u,
-                     PcdGet64 (PcdRiscVMachineTimerFrequencyInHerz)
-                     );
-  }
-
-  return EFI_SUCCESS;
-}
-
-/**
-  Implementation of SetMemoryAttributes() service of CPU Architecture Protocol.
-
-  This function modifies the attributes for the memory region specified by BaseAddress and
-  Length from their current attributes to the attributes specified by Attributes.
-
-  @param  This             The EFI_CPU_ARCH_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_ACCESS_DENIED     The attributes for the memory resource range specified by
-                                BaseAddress and Length cannot be modified.
-  @retval EFI_INVALID_PARAMETER Length is zero.
-                                Attributes specified an illegal combination of attributes that
-                                cannot be set together.
-  @retval EFI_OUT_OF_RESOURCES  There are not enough system resources to modify the attributes of
-                                the memory resource range.
-  @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 support for the memory resource
-                                range specified by BaseAddress and Length.
-
-**/
-EFI_STATUS
-EFIAPI
-CpuSetMemoryAttributes (
-  IN EFI_CPU_ARCH_PROTOCOL  *This,
-  IN EFI_PHYSICAL_ADDRESS   BaseAddress,
-  IN UINT64                 Length,
-  IN UINT64                 Attributes
-  )
-{
-  DEBUG ((DEBUG_INFO, "%a: Set memory attributes not supported yet\n", __FUNCTION__));
-  return EFI_SUCCESS;
-}
-
-/**
-  Initialize the state information for the CPU Architectural Protocol.
-
-  @param ImageHandle     Image handle this driver.
-  @param SystemTable     Pointer to the System Table.
-
-  @retval EFI_SUCCESS           Thread can be successfully created
-  @retval EFI_OUT_OF_RESOURCES  Cannot allocate protocol data structure
-  @retval EFI_DEVICE_ERROR      Cannot create the thread
-
-**/
-EFI_STATUS
-EFIAPI
-InitializeCpu (
-  IN EFI_HANDLE        ImageHandle,
-  IN EFI_SYSTEM_TABLE  *SystemTable
-  )
-{
-  EFI_STATUS  Status;
-
-  //
-  // Machine mode handler is initiated in CpuExceptionHandlerLibConstructor in
-  // CpuExecptionHandlerLib.
-  //
-
-  //
-  // Make sure interrupts are disabled
-  //
-  DisableInterrupts ();
-
-  //
-  // Install CPU Architectural Protocol
-  //
-  Status = gBS->InstallMultipleProtocolInterfaces (
-                  &mCpuHandle,
-                  &gEfiCpuArchProtocolGuid,
-                  &gCpu,
-                  NULL
-                  );
-  ASSERT_EFI_ERROR (Status);
-  return Status;
-}
diff --git a/Silicon/RISC-V/ProcessorPkg/Universal/CpuDxe/CpuDxe.h b/Silicon/RISC-V/ProcessorPkg/Universal/CpuDxe/CpuDxe.h
deleted file mode 100644
index 9d70d7b6..00000000
--- a/Silicon/RISC-V/ProcessorPkg/Universal/CpuDxe/CpuDxe.h
+++ /dev/null
@@ -1,198 +0,0 @@
-/** @file
-  RISC-V CPU DXE module header file.
-
-  Copyright (c) 2016 - 2022, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
-
-  SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#ifndef CPU_DXE_H_
-#define CPU_DXE_H_
-
-#include <PiDxe.h>
-
-#include <Protocol/Cpu.h>
-#include <Library/BaseLib.h>
-#include <Library/CpuExceptionHandlerLib.h>
-#include <Library/DebugLib.h>
-#include <Library/RiscVCpuLib.h>
-#include <Library/UefiBootServicesTableLib.h>
-#include <Library/UefiDriverEntryPoint.h>
-
-/**
-  Flush CPU data cache. If the instruction cache is fully coherent
-  with all DMA operations then function can just return EFI_SUCCESS.
-
-  @param  This              Protocol instance structure
-  @param  Start             Physical address to start flushing from.
-  @param  Length            Number of bytes to flush. Round up to chipset
-                            granularity.
-  @param  FlushType         Specifies the type of flush operation to perform.
-
-  @retval EFI_SUCCESS       If cache was flushed
-  @retval EFI_UNSUPPORTED   If flush type is not supported.
-  @retval EFI_DEVICE_ERROR  If requested range could not be flushed.
-
-**/
-EFI_STATUS
-EFIAPI
-CpuFlushCpuDataCache (
-  IN EFI_CPU_ARCH_PROTOCOL  *This,
-  IN EFI_PHYSICAL_ADDRESS   Start,
-  IN UINT64                 Length,
-  IN EFI_CPU_FLUSH_TYPE     FlushType
-  );
-
-/**
-  Enables CPU interrupts.
-
-  @param  This              Protocol instance structure
-
-  @retval EFI_SUCCESS       If interrupts were enabled in the CPU
-  @retval EFI_DEVICE_ERROR  If interrupts could not be enabled on the CPU.
-
-**/
-EFI_STATUS
-EFIAPI
-CpuEnableInterrupt (
-  IN EFI_CPU_ARCH_PROTOCOL  *This
-  );
-
-/**
-  Disables CPU interrupts.
-
-  @param  This              Protocol instance structure
-
-  @retval EFI_SUCCESS       If interrupts were disabled in the CPU.
-  @retval EFI_DEVICE_ERROR  If interrupts could not be disabled on the CPU.
-
-**/
-EFI_STATUS
-EFIAPI
-CpuDisableInterrupt (
-  IN EFI_CPU_ARCH_PROTOCOL  *This
-  );
-
-/**
-  Return the state of interrupts.
-
-  @param  This                   Protocol instance structure
-  @param  State                  Pointer to the CPU's current interrupt state
-
-  @retval EFI_SUCCESS            If interrupts were disabled in the CPU.
-  @retval EFI_INVALID_PARAMETER  State is NULL.
-
-**/
-EFI_STATUS
-EFIAPI
-CpuGetInterruptState (
-  IN  EFI_CPU_ARCH_PROTOCOL  *This,
-  OUT BOOLEAN                *State
-  );
-
-/**
-  Generates an INIT to the CPU.
-
-  @param  This              Protocol instance structure
-  @param  InitType          Type of CPU INIT to perform
-
-  @retval EFI_SUCCESS       If CPU INIT occurred. This value should never be
-                            seen.
-  @retval EFI_DEVICE_ERROR  If CPU INIT failed.
-  @retval EFI_UNSUPPORTED   Requested type of CPU INIT not supported.
-
-**/
-EFI_STATUS
-EFIAPI
-CpuInit (
-  IN EFI_CPU_ARCH_PROTOCOL  *This,
-  IN EFI_CPU_INIT_TYPE      InitType
-  );
-
-/**
-  Registers a function to be called from the CPU interrupt handler.
-
-  @param  This                   Protocol instance structure
-  @param  InterruptType          Defines which interrupt to hook. IA-32
-                                 valid range is 0x00 through 0xFF
-  @param  InterruptHandler       A pointer to a function of type
-                                 EFI_CPU_INTERRUPT_HANDLER that is called
-                                 when a processor interrupt occurs.  A null
-                                 pointer is an error condition.
-
-  @retval EFI_SUCCESS            If handler installed or uninstalled.
-  @retval EFI_ALREADY_STARTED    InterruptHandler is not NULL, and a handler
-                                 for InterruptType was previously installed.
-  @retval EFI_INVALID_PARAMETER  InterruptHandler is NULL, and a handler for
-                                 InterruptType was not previously installed.
-  @retval EFI_UNSUPPORTED        The interrupt specified by InterruptType
-                                 is not supported.
-
-**/
-EFI_STATUS
-EFIAPI
-CpuRegisterInterruptHandler (
-  IN EFI_CPU_ARCH_PROTOCOL      *This,
-  IN EFI_EXCEPTION_TYPE         InterruptType,
-  IN EFI_CPU_INTERRUPT_HANDLER  InterruptHandler
-  );
-
-/**
-  Returns a timer value from one of the CPU's internal timers. There is no
-  inherent time interval between ticks but is a function of the CPU frequency.
-
-  @param  This                - Protocol instance structure.
-  @param  TimerIndex          - Specifies which CPU timer is requested.
-  @param  TimerValue          - Pointer to the returned timer value.
-  @param  TimerPeriod         - A pointer to the amount of time that passes
-                                in femtoseconds (10-15) for each increment
-                                of TimerValue. If TimerValue does not
-                                increment at a predictable rate, then 0 is
-                                returned.  The amount of time that has
-                                passed between two calls to GetTimerValue()
-                                can be calculated with the formula
-                                (TimerValue2 - TimerValue1) * TimerPeriod.
-                                This parameter is optional and may be NULL.
-
-  @retval EFI_SUCCESS           - If the CPU timer count was returned.
-  @retval EFI_UNSUPPORTED       - If the CPU does not have any readable timers.
-  @retval EFI_DEVICE_ERROR      - If an error occurred while reading the timer.
-  @retval EFI_INVALID_PARAMETER - TimerIndex is not valid or TimerValue is NULL.
-
-**/
-EFI_STATUS
-EFIAPI
-CpuGetTimerValue (
-  IN  EFI_CPU_ARCH_PROTOCOL  *This,
-  IN  UINT32                 TimerIndex,
-  OUT UINT64                 *TimerValue,
-  OUT UINT64                 *TimerPeriod OPTIONAL
-  );
-
-/**
-  Set memory cacheability attributes for given range of memeory.
-
-  @param  This                   Protocol instance structure
-  @param  BaseAddress            Specifies the start address of the
-                                 memory range
-  @param  Length                 Specifies the length of the memory range
-  @param  Attributes             The memory cacheability for the memory range
-
-  @retval EFI_SUCCESS            If the cacheability of that memory range is
-                                 set successfully
-  @retval EFI_UNSUPPORTED        If the desired operation cannot be done
-  @retval EFI_INVALID_PARAMETER  The input parameter is not correct,
-                                 such as Length = 0
-
-**/
-EFI_STATUS
-EFIAPI
-CpuSetMemoryAttributes (
-  IN EFI_CPU_ARCH_PROTOCOL  *This,
-  IN EFI_PHYSICAL_ADDRESS   BaseAddress,
-  IN UINT64                 Length,
-  IN UINT64                 Attributes
-  );
-
-#endif
diff --git a/Silicon/RISC-V/ProcessorPkg/Universal/CpuDxe/CpuDxe.inf b/Silicon/RISC-V/ProcessorPkg/Universal/CpuDxe/CpuDxe.inf
deleted file mode 100644
index a422c12e..00000000
--- a/Silicon/RISC-V/ProcessorPkg/Universal/CpuDxe/CpuDxe.inf
+++ /dev/null
@@ -1,49 +0,0 @@
-## @file
-#  RISC-V CPU DXE module.
-#
-#  Copyright (c) 2016 - 2019, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
-#  SPDX-License-Identifier: BSD-2-Clause-Patent
-#
-##
-
-[Defines]
-  INF_VERSION                    = 0x0001001b
-  BASE_NAME                      = CpuDxe
-  MODULE_UNI_FILE                = CpuDxe.uni
-  FILE_GUID                      = 2AEB1f3E-5B6B-441B-92C1-4A9E6FC85E92
-  MODULE_TYPE                    = DXE_DRIVER
-  VERSION_STRING                 = 1.0
-
-  ENTRY_POINT                    = InitializeCpu
-
-[Packages]
-  MdeModulePkg/MdeModulePkg.dec
-  MdePkg/MdePkg.dec
-  Silicon/RISC-V/ProcessorPkg/RiscVProcessorPkg.dec
-
-[LibraryClasses]
-  BaseLib
-  CpuLib
-  CpuExceptionHandlerLib
-  DebugLib
-  MachineModeTimerLib
-  RiscVCpuLib
-  TimerLib
-  UefiBootServicesTableLib
-  UefiDriverEntryPoint
-
-[Sources]
-  CpuDxe.c
-  CpuDxe.h
-
-[Protocols]
-  gEfiCpuArchProtocolGuid                       ## PRODUCES
-
-[Pcd]
-  gUefiRiscVPkgTokenSpaceGuid.PcdRiscVMachineTimerFrequencyInHerz
-
-[Depex]
-  TRUE
-
-[UserExtensions.TianoCore."ExtraFiles"]
-  CpuDxeExtra.uni
diff --git a/Silicon/RISC-V/ProcessorPkg/Universal/CpuDxe/CpuDxe.uni b/Silicon/RISC-V/ProcessorPkg/Universal/CpuDxe/CpuDxe.uni
deleted file mode 100644
index 460141a1..00000000
--- a/Silicon/RISC-V/ProcessorPkg/Universal/CpuDxe/CpuDxe.uni
+++ /dev/null
@@ -1,13 +0,0 @@
-// /** @file
-//
-// Copyright (c) 2016 - 2019, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
-//
-// SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-// **/
-
-
-#string STR_MODULE_ABSTRACT             #language en-US "Installs RISC-V CPU Architecture Protocol"
-
-#string STR_MODULE_DESCRIPTION          #language en-US "RISC-V CPU driver installs CPU Architecture Protocol."
-
diff --git a/Silicon/RISC-V/ProcessorPkg/Universal/CpuDxe/CpuDxeExtra.uni b/Silicon/RISC-V/ProcessorPkg/Universal/CpuDxe/CpuDxeExtra.uni
deleted file mode 100644
index 6f819f06..00000000
--- a/Silicon/RISC-V/ProcessorPkg/Universal/CpuDxe/CpuDxeExtra.uni
+++ /dev/null
@@ -1,14 +0,0 @@
-// /** @file
-// CpuDxe Localized Strings and Content
-//
-// Copyright (c) 2016 - 2019, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
-//
-// SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-// **/
-
-#string STR_PROPERTIES_MODULE_NAME
-#language en-US
-"RISC-V Architectural DXE Driver"
-
-
-- 
2.34.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#102356): https://edk2.groups.io/g/devel/message/102356
Mute This Topic: https://groups.io/mt/98015398/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-




More information about the edk2-devel-archive mailing list