public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH] ShellPkg: Add Persistent Memory support in 'memmap' command
@ 2016-09-22 20:16 Tapan Shah
  2016-09-22 21:13 ` Carsey, Jaben
  0 siblings, 1 reply; 4+ messages in thread
From: Tapan Shah @ 2016-09-22 20:16 UTC (permalink / raw)
  To: edk2-devel; +Cc: jaben.carsey, Tapan Shah

As per ECR 1416, latest UEFI Shell 2.2 Specification has added Persistent
Memory support in 'memmap' command.
---
 ShellPkg/Library/UefiShellDebug1CommandsLib/MemMap.c        | 13 ++++++++++---
 .../UefiShellDebug1CommandsLib.uni                          |  3 ++-
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/MemMap.c b/ShellPkg/Library/UefiShellDebug1CommandsLib/MemMap.c
index 81c561f..a4eb1be 100644
--- a/ShellPkg/Library/UefiShellDebug1CommandsLib/MemMap.c
+++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/MemMap.c
@@ -1,6 +1,7 @@
 /** @file
   Main file for Mode shell Debug1 function.
 
+  (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
   (C) Copyright 2013-2015 Hewlett-Packard Development Company, L.P.<BR>
   Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.<BR>
   This program and the accompanying materials
@@ -100,6 +101,8 @@ ShellCommandRunMemMap (
   UINT64              UnusableMemoryPagesSize;
   UINT64              PalCodePages;
   UINT64              PalCodePagesSize;
+  UINT64              PersistentPages;
+  UINT64              PersistentPagesSize;
   BOOLEAN             Sfo;
 
   AcpiReclaimPages    = 0;
@@ -117,6 +120,7 @@ ShellCommandRunMemMap (
   MmioPortPages       = 0;
   UnusableMemoryPages = 0;
   PalCodePages        = 0;
+  PersistentPages     = 0;
   Size                = 0;
   Buffer              = NULL;
   ShellStatus         = SHELL_SUCCESS;
@@ -210,8 +214,8 @@ ShellCommandRunMemMap (
               break;
             case EfiPersistentMemory:
               ShellPrintHiiEx(-1, -1, NULL, (EFI_STRING_ID)(!Sfo?STRING_TOKEN (STR_MEMMAP_LIST_ITEM):STRING_TOKEN (STR_MEMMAP_LIST_ITEM_SFO)), gShellDebug1HiiHandle, NameEfiPersistentMemory, ((EFI_MEMORY_DESCRIPTOR*)Walker)->PhysicalStart, ((EFI_MEMORY_DESCRIPTOR*)Walker)->PhysicalStart+MultU64x64(SIZE_4KB,((EFI_MEMORY_DESCRIPTOR*)Walker)->NumberOfPages)-1, ((EFI_MEMORY_DESCRIPTOR*)Walker)->NumberOfPages, ((EFI_MEMORY_DESCRIPTOR*)Walker)->Attribute);
-              AvailPages += ((EFI_MEMORY_DESCRIPTOR*)Walker)->NumberOfPages;
-              TotalPages += ((EFI_MEMORY_DESCRIPTOR*)Walker)->NumberOfPages;
+              PersistentPages += ((EFI_MEMORY_DESCRIPTOR*)Walker)->NumberOfPages;
+              TotalPages      += ((EFI_MEMORY_DESCRIPTOR*)Walker)->NumberOfPages;
               break;
             case EfiUnusableMemory:
               ShellPrintHiiEx(-1, -1, NULL, (EFI_STRING_ID)(!Sfo?STRING_TOKEN (STR_MEMMAP_LIST_ITEM):STRING_TOKEN (STR_MEMMAP_LIST_ITEM_SFO)), gShellDebug1HiiHandle, !Sfo?NameEfiUnusableMemoryShort:NameEfiUnusableMemory, ((EFI_MEMORY_DESCRIPTOR*)Walker)->PhysicalStart, ((EFI_MEMORY_DESCRIPTOR*)Walker)->PhysicalStart+MultU64x64(SIZE_4KB,((EFI_MEMORY_DESCRIPTOR*)Walker)->NumberOfPages)-1, ((EFI_MEMORY_DESCRIPTOR*)Walker)->NumberOfPages, ((EFI_MEMORY_DESCRIPTOR*)Walker)->Attribute);
@@ -261,6 +265,7 @@ ShellCommandRunMemMap (
         MmioSpacePagesSize      = MultU64x64(SIZE_4KB,MmioSpacePages);
         MmioPortPagesSize       = MultU64x64(SIZE_4KB,MmioPortPages);
         PalCodePagesSize        = MultU64x64(SIZE_4KB,PalCodePages);
+        PersistentPagesSize     = MultU64x64(SIZE_4KB,PersistentPages);
         UnusableMemoryPagesSize = MultU64x64(SIZE_4KB,UnusableMemoryPages);
         if (!Sfo) {
           ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_MEMMAP_LIST_SUMM), gShellDebug1HiiHandle,
@@ -277,6 +282,7 @@ ShellCommandRunMemMap (
             MmioPortPages, MmioPortPagesSize,
             PalCodePages, PalCodePagesSize,
             AvailPages, AvailPagesSize,
+            PersistentPages, PersistentPagesSize,
             DivU64x32(MultU64x64(SIZE_4KB,TotalPages), SIZE_1MB), TotalPagesSize
            );
         } else {
@@ -295,7 +301,8 @@ ShellCommandRunMemMap (
             UnusableMemoryPagesSize,
             AcpiReclaimPagesSize,
             AcpiNvsPagesSize,
-            PalCodePagesSize
+            PalCodePagesSize,
+            PersistentPagesSize
            );
         }
       }
diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.uni b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.uni
index c6c7ba9..52c2af0 100644
--- a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.uni
+++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.uni
@@ -116,10 +116,11 @@
                                                   "  MMIO_Port : %,14ld Pages (%,ld Bytes)\r\n"
                                                   "  PalCode   : %,14ld Pages (%,ld Bytes)\r\n"
                                                   "  Available : %,14ld Pages (%,ld Bytes)\r\n"
+                                                  "  Persistent: %,14ld Pages (%,ld Bytes)\r\n"
                                                   "              -------------- \r\n"
                                                   "Total Memory: %,14ld MB (%,ld Bytes)\r\n"
 #string STR_MEMMAP_LIST_ITEM_SFO  #language en-US "MemoryMap,"%s","%LX","%LX","%LX","%LX"\r\n"
-#string STR_MEMMAP_LIST_SUMM_SFO  #language en-US "MemoryMapSummary,"%Ld","%Ld","%Ld","%Ld","%Ld","%Ld","%Ld","%Ld","%Ld","%Ld","%Ld","%Ld","%Ld","%Ld","%Ld"\r\n"
+#string STR_MEMMAP_LIST_SUMM_SFO  #language en-US "MemoryMapSummary,"%Ld","%Ld","%Ld","%Ld","%Ld","%Ld","%Ld","%Ld","%Ld","%Ld","%Ld","%Ld","%Ld","%Ld","%Ld","%Ld"\r\n"
 
 #string STR_EFI_COMPRESS_FAIL     #language en-US "Unable to compress: %r.\r\n"
 #string STR_EFI_DECOMPRESS_FAIL   #language en-US "Unable to decompress: %r.\r\n"
-- 
1.9.5.msysgit.0



^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-09-22 21:21 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-22 20:16 [PATCH] ShellPkg: Add Persistent Memory support in 'memmap' command Tapan Shah
2016-09-22 21:13 ` Carsey, Jaben
2016-09-22 21:15   ` Shah, Tapan
2016-09-22 21:21     ` Carsey, Jaben

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox