From: "Tomas Pilar (tpilar)" <Tomas.Pilar@arm.com>
To: <devel@edk2.groups.io>
Cc: <nd@arm.com>, Ray Ni <ray.ni@intel.com>,
Zhichao Gao <zhichao.gao@intel.com>
Subject: [PATCH v3 6/7] ShellPkg: Add AcpiViewCommandLib
Date: Mon, 15 Jun 2020 15:03:50 +0100 [thread overview]
Message-ID: <20200615140351.1725-7-Tomas.Pilar@arm.com> (raw)
In-Reply-To: <20200615140351.1725-1-Tomas.Pilar@arm.com>
The UefiShellAcpiViewCommandLib is converted from NULL library to a
named library so that it may be used in modules other than shell.
The library interface exposes the main method for to AcpiView
functionality as well as a helper method to dump a buffer to a file.
The Shell module is still built by pulling UefiShellAcpiViewCommandLib
as a NULL library to preserve the modularity of shell builds.
Cc: Ray Ni <ray.ni@intel.com>
Cc: Zhichao Gao <zhichao.gao@intel.com>
Signed-off-by: Tomas Pilar <tomas.pilar@arm.com>
---
.../Library/AcpiViewCommandLib.h} | 15 ++++++++-------
.../UefiShellAcpiViewCommandLib/AcpiView.c | 2 +-
.../UefiShellAcpiViewCommandLib.c | 2 +-
.../UefiShellAcpiViewCommandLib.inf | 3 +--
ShellPkg/ShellPkg.dec | 3 +++
ShellPkg/ShellPkg.dsc | 3 ++-
6 files changed, 16 insertions(+), 12 deletions(-)
rename ShellPkg/{Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.h => Include/Library/AcpiViewCommandLib.h} (72%)
diff --git a/ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.h b/ShellPkg/Include/Library/AcpiViewCommandLib.h
similarity index 72%
rename from ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.h
rename to ShellPkg/Include/Library/AcpiViewCommandLib.h
index b1b1ffe63e28..11cf96c6e0d7 100644
--- a/ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.h
+++ b/ShellPkg/Include/Library/AcpiViewCommandLib.h
@@ -1,12 +1,13 @@
/** @file
- Header file for 'acpiview' Shell command functions.
+ Library providing 'acpiview' functionality to display and
+ validate installed ACPI tables.
Copyright (c) 2016 - 2020, ARM Limited. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
-#ifndef UEFI_SHELL_ACPIVIEW_COMMAND_LIB_H_
-#define UEFI_SHELL_ACPIVIEW_COMMAND_LIB_H_
+#ifndef ACPI_VIEW_COMMAND_LIB_H_
+#define ACPI_VIEW_COMMAND_LIB_H_
/**
Dump a buffer to a file. Print error message if a file cannot be created.
@@ -26,14 +27,14 @@ ShellDumpBufferToFile (
);
/**
- Function for 'acpiview' command.
+ Display and validate ACPI tables.
@param[in] ImageHandle Handle to the Image (NULL if internal).
@param[in] SystemTable Pointer to the System Table (NULL if internal).
- @retval SHELL_INVALID_PARAMETER The command line invocation could not be parsed
- @retval SHELL_NOT_FOUND The command failed
- @retval SHELL_SUCCESS The command was successful
+ @retval SHELL_INVALID_PARAMETER The command line invocation could not be parsed.
+ @retval SHELL_NOT_FOUND The command failed.
+ @retval SHELL_SUCCESS The command was successful.
**/
SHELL_STATUS
EFIAPI
diff --git a/ShellPkg/Library/UefiShellAcpiViewCommandLib/AcpiView.c b/ShellPkg/Library/UefiShellAcpiViewCommandLib/AcpiView.c
index 1b6721e6734f..5a46d896c52b 100644
--- a/ShellPkg/Library/UefiShellAcpiViewCommandLib/AcpiView.c
+++ b/ShellPkg/Library/UefiShellAcpiViewCommandLib/AcpiView.c
@@ -17,11 +17,11 @@
#include <Library/BaseMemoryLib.h>
#include <Library/DebugLib.h>
#include <Library/MemoryAllocationLib.h>
+#include <Library/AcpiViewCommandLib.h>
#include "AcpiParser.h"
#include "AcpiTableParser.h"
#include "AcpiView.h"
#include "AcpiViewConfig.h"
-#include "UefiShellAcpiViewCommandLib.h"
#if defined(MDE_CPU_ARM) || defined (MDE_CPU_AARCH64)
#include "Arm/SbbrValidator.h"
diff --git a/ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.c b/ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.c
index e6a65d5bc5f7..d2f26ff89f12 100644
--- a/ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.c
+++ b/ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.c
@@ -16,13 +16,13 @@
#include <Library/ShellLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/UefiLib.h>
+#include <Library/AcpiViewCommandLib.h>
#include <Uefi.h>
#include "AcpiParser.h"
#include "AcpiTableParser.h"
#include "AcpiView.h"
#include "AcpiViewConfig.h"
-#include "UefiShellAcpiViewCommandLib.h"
CONST CHAR16 gShellAcpiViewFileName[] = L"ShellCommand";
EFI_HII_HANDLE gShellAcpiViewHiiHandle = NULL;
diff --git a/ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.inf b/ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.inf
index 92de2391b09f..91459f9ec632 100644
--- a/ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.inf
+++ b/ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.inf
@@ -14,7 +14,7 @@ [Defines]
FILE_GUID = FB5B305E-84F5-461F-940D-82D345757AFA
MODULE_TYPE = UEFI_APPLICATION
VERSION_STRING = 1.0
- LIBRARY_CLASS = NULL|UEFI_APPLICATION UEFI_DRIVER
+ LIBRARY_CLASS = AcpiViewCommandLib|UEFI_APPLICATION UEFI_DRIVER
CONSTRUCTOR = UefiShellAcpiViewCommandLibConstructor
DESTRUCTOR = UefiShellAcpiViewCommandLibDestructor
@@ -46,7 +46,6 @@ [Sources.common]
Parsers/Ssdt/SsdtParser.c
Parsers/Xsdt/XsdtParser.c
UefiShellAcpiViewCommandLib.c
- UefiShellAcpiViewCommandLib.h
UefiShellAcpiViewCommandLib.uni
[Sources.ARM, Sources.AARCH64]
diff --git a/ShellPkg/ShellPkg.dec b/ShellPkg/ShellPkg.dec
index c17e358d15ed..d0843d338126 100644
--- a/ShellPkg/ShellPkg.dec
+++ b/ShellPkg/ShellPkg.dec
@@ -34,6 +34,9 @@ [LibraryClasses]
## @libraryclass provides BCFG command
BcfgCommandLib|Include/Library/BcfgCommandLib.h
+ ## @libraryclass provides the AcpiView command
+ AcpiViewCommandLib|Include/Library/AcpiViewCommandLib.h
+
[Guids]
gEfiShellEnvironment2ExtGuid = {0xd2c18636, 0x40e5, 0x4eb5, {0xa3, 0x1b, 0x36, 0x69, 0x5f, 0xd4, 0x2c, 0x87}}
gEfiShellPkgTokenSpaceGuid = {0x171e9188, 0x31d3, 0x40f5, {0xb1, 0x0c, 0x53, 0x9b, 0x2d, 0xb9, 0x40, 0xcd}}
diff --git a/ShellPkg/ShellPkg.dsc b/ShellPkg/ShellPkg.dsc
index b7ee856b3a16..5d2d96ab071c 100644
--- a/ShellPkg/ShellPkg.dsc
+++ b/ShellPkg/ShellPkg.dsc
@@ -2,7 +2,7 @@
# Shell Package
#
# Copyright (c) 2007 - 2019, Intel Corporation. All rights reserved.<BR>
-# Copyright (c) 2018, Arm Limited. All rights reserved.<BR>
+# Copyright (c) 2018 - 2020, Arm Limited. All rights reserved.<BR>
# Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -50,6 +50,7 @@ [LibraryClasses.common]
PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
+ AcpiViewCommandLib|ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.inf
IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
--
2.24.1.windows.2
next prev parent reply other threads:[~2020-06-15 14:04 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-15 14:03 [PATCH v3 0/7] Standalone AcpiView Application Tomas Pilar (tpilar)
2020-06-15 14:03 ` [PATCH v3 1/7] ShellPkg/AcpiView: Move log reset to main method Tomas Pilar (tpilar)
2020-06-15 14:03 ` [PATCH v3 2/7] ShellPkg/AcpiView: Refactor configuration Tomas Pilar (tpilar)
2020-06-23 1:23 ` Gao, Zhichao
2020-06-15 14:03 ` [PATCH v3 3/7] ShellPkg/AcpiView: Move table count reset Tomas Pilar (tpilar)
2020-06-15 14:03 ` [PATCH v3 4/7] ShellPkg/AcpiView: Move parameter parsing Tomas Pilar (tpilar)
2020-06-15 14:03 ` [PATCH v3 5/7] ShellPkg/AcpiView: Refactor DumpAcpiTableToFile Tomas Pilar (tpilar)
2020-06-23 1:25 ` Gao, Zhichao
2020-06-15 14:03 ` Tomas Pilar (tpilar) [this message]
2020-06-23 1:26 ` [edk2-devel] [PATCH v3 6/7] ShellPkg: Add AcpiViewCommandLib Gao, Zhichao
2020-06-15 14:03 ` [PATCH v3 7/7] ShellPkg/AcpiView: Add application wrapper Tomas Pilar (tpilar)
2020-06-23 1:28 ` Gao, Zhichao
2020-06-22 12:23 ` [edk2-devel] [PATCH v3 0/7] Standalone AcpiView Application Tomas Pilar (tpilar)
2020-06-23 1:32 ` Gao, Zhichao
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200615140351.1725-7-Tomas.Pilar@arm.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox