This is the library instance to provide platform_override for the special RISC-V platform. This module incorporates with OpensbiPlatformLib and RISC-V Opensbi library.
Cc: Sunil V L <suni...@ventanamicro.com> Cc: Daniel Schaefer <daniel.schae...@hpe.com> Signed-off-by: Abner Chang <abner.ch...@hpe.com> --- .../RISC-V/ProcessorPkg/RiscVProcessorPkg.dec | 1 + .../RISC-V/PlatformPkg/RiscVPlatformPkg.dsc | 2 ++ .../RiscVSpecialPlatformLib.inf | 36 +++++++++++++++++++ .../Include/Library/RiscVSpecialPlatformLib.h | 20 +++++++++++ .../RiscVSpecialPlatformLib.c | 19 ++++++++++ 5 files changed, 78 insertions(+) create mode 100644 Platform/RISC-V/PlatformPkg/Library/RiscVSpecialPlatformLib/RiscVSpecialPlatformLib.inf create mode 100644 Platform/RISC-V/PlatformPkg/Include/Library/RiscVSpecialPlatformLib.h create mode 100644 Platform/RISC-V/PlatformPkg/Library/RiscVSpecialPlatformLib/RiscVSpecialPlatformLib.c diff --git a/Silicon/RISC-V/ProcessorPkg/RiscVProcessorPkg.dec b/Silicon/RISC-V/ProcessorPkg/RiscVProcessorPkg.dec index 08279a97b1..9c8b57cce3 100644 --- a/Silicon/RISC-V/ProcessorPkg/RiscVProcessorPkg.dec +++ b/Silicon/RISC-V/ProcessorPkg/RiscVProcessorPkg.dec @@ -19,6 +19,7 @@ Include/Library Library/RiscVOpensbiLib/opensbi # OpenSBI header file reference ("include/sbi/...") Library/RiscVOpensbiLib/opensbi/include # Header file reference from opensbi files, ("sbi/...") + Library/RiscVOpensbiLib/opensbi/platform/generic/include # Header file reference from opensbi files, ("sbi/...") [LibraryClasses] RiscVPlatformDxeIplLib|Include/Library/RiscVPlatformDxeIpl.h diff --git a/Platform/RISC-V/PlatformPkg/RiscVPlatformPkg.dsc b/Platform/RISC-V/PlatformPkg/RiscVPlatformPkg.dsc index b96324e961..ec8875be14 100644 --- a/Platform/RISC-V/PlatformPkg/RiscVPlatformPkg.dsc +++ b/Platform/RISC-V/PlatformPkg/RiscVPlatformPkg.dsc @@ -71,6 +71,7 @@ [LibraryClasses.common.SEC] ExtractGuidedSectionLib|MdePkg/Library/BaseExtractGuidedSectionLib/BaseExtractGuidedSectionLib.inf + RiscVSpecialPlatformLib|Platform/RISC-V/PlatformPkg/Library/RiscVSpecialPlatformLib/RiscVSpecialPlatformLib.inf [LibraryClasses.common.DXE_DRIVER] PlatformBootManagerLib|Platform/RISC-V/PlatformPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf @@ -84,6 +85,7 @@ Platform/RISC-V/PlatformPkg/Library/RiscVPlatformTempMemoryInitLibNull/RiscVPlatformTempMemoryInitLibNull.inf Platform/RISC-V/PlatformPkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf Platform/RISC-V/PlatformPkg/Library/PlatformSecPpiLibNull/PlatformSecPpiLibNull.inf + Platform/RISC-V/PlatformPkg/Library/RiscVSpecialPlatformLib/RiscVSpecialPlatformLib.inf [Components.common.SEC] Platform/RISC-V/PlatformPkg/Universal/Sec/SecMain.inf diff --git a/Platform/RISC-V/PlatformPkg/Library/RiscVSpecialPlatformLib/RiscVSpecialPlatformLib.inf b/Platform/RISC-V/PlatformPkg/Library/RiscVSpecialPlatformLib/RiscVSpecialPlatformLib.inf new file mode 100644 index 0000000000..567eeee56d --- /dev/null +++ b/Platform/RISC-V/PlatformPkg/Library/RiscVSpecialPlatformLib/RiscVSpecialPlatformLib.inf @@ -0,0 +1,36 @@ +## @file +# Null library instance to provide platform_override for the +# special RISC-V platform. This module incorporates with +# OpensbiPlatformLib and RISC-V Opensbi library. +# +# Copyright (c) 2021, Hewlett Packard Enterprise Development LP. All rights reserved.<BR> +# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + +[Defines] + INF_VERSION = 0x0001001b + BASE_NAME = RiscVSpecialPlatformLib + FILE_GUID = 79361802-18B6-458A-8C79-DA6256DEF776 + MODULE_TYPE = BASE + VERSION_STRING = 1.0 + LIBRARY_CLASS = RiscVSpecialPlatformLib|SEC + +# +# The following information is for reference only and not required by the build tools. +# +# VALID_ARCHITECTURES = RISCV64 +# + +[Sources] + RiscVSpecialPlatformLib.c + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + Platform/RISC-V/PlatformPkg/RiscVPlatformPkg.dec + Silicon/RISC-V/ProcessorPkg/RiscVProcessorPkg.dec + +[LibraryClasses] + BaseLib diff --git a/Platform/RISC-V/PlatformPkg/Include/Library/RiscVSpecialPlatformLib.h b/Platform/RISC-V/PlatformPkg/Include/Library/RiscVSpecialPlatformLib.h new file mode 100644 index 0000000000..644bb08ebf --- /dev/null +++ b/Platform/RISC-V/PlatformPkg/Include/Library/RiscVSpecialPlatformLib.h @@ -0,0 +1,20 @@ +/** @file + library definition to provide platform_override of special platforms. + This library incorporates with OpensbiPlatformLib and RISC-V Opensbi library + + Copyright (c) 2021, Hewlett Packard Enterprise Development LP. All rights reserved.<BR> + + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +#ifndef RISCV_SPECIAL_PLATFORM_LIB_ +#define RISCV_SPECIAL_PLATFORM_LIB_ + +#include <PiPei.h> + +// +// This is declared under Silicon/RISC-V/ProcessorPkg/Library/RiscVOpensbiLib/opensbi/platform/generic/include/ +// +#include <platform_override.h> + +#endif diff --git a/Platform/RISC-V/PlatformPkg/Library/RiscVSpecialPlatformLib/RiscVSpecialPlatformLib.c b/Platform/RISC-V/PlatformPkg/Library/RiscVSpecialPlatformLib/RiscVSpecialPlatformLib.c new file mode 100644 index 0000000000..3a77ff6b17 --- /dev/null +++ b/Platform/RISC-V/PlatformPkg/Library/RiscVSpecialPlatformLib/RiscVSpecialPlatformLib.c @@ -0,0 +1,19 @@ +/**@file + Library to provide platform_override for the special + RISC-V platform. This module incorporates with + OpensbiPlatformLib and RISC-V Opensbi library. + + Copyright (c) 2021, Hewlett Packard Enterprise Development LP. All rights reserved.<BR> + + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +// +// The package level header files this module uses +// +#include <Library/RiscVSpecialPlatformLib.h> + +const struct platform_override *SpecialPlatformArray = NULL; +INTN NumberOfPlaformsInArray; + -- 2.31.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#82321): https://edk2.groups.io/g/devel/message/82321 Mute This Topic: https://groups.io/mt/86435672/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-