[edk2-devel] [PATCH] UefiPayloadPkg: Keep reserved MMIO at runtime

Akihiko Odaki posted 1 patch 2 years ago
Failed in applying to current master (apply log)
There is a newer version of this series
MdeModulePkg/Core/Dxe/Gcd/Gcd.c                    | 9 +++++++++
MdePkg/Include/Pi/PiHob.h                          | 2 ++
UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c | 3 ++-
3 files changed, 13 insertions(+), 1 deletion(-)
[edk2-devel] [PATCH] UefiPayloadPkg: Keep reserved MMIO at runtime
Posted by Akihiko Odaki 2 years ago
Signed-off-by: Akihiko Odaki <akihiko.odaki@gmail.com>
---
 MdeModulePkg/Core/Dxe/Gcd/Gcd.c                    | 9 +++++++++
 MdePkg/Include/Pi/PiHob.h                          | 2 ++
 UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c | 3 ++-
 3 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/MdeModulePkg/Core/Dxe/Gcd/Gcd.c b/MdeModulePkg/Core/Dxe/Gcd/Gcd.c
index 3763467bdb..623b316c61 100644
--- a/MdeModulePkg/Core/Dxe/Gcd/Gcd.c
+++ b/MdeModulePkg/Core/Dxe/Gcd/Gcd.c
@@ -2628,6 +2628,15 @@ CoreInitializeGcdServices (
                    ResourceHob->ResourceLength,
                    Capabilities
                    );
+
+        if (!EFI_ERROR (Status) &&
+            (ResourceHob->ResourceAttribute & EFI_RESOURCE_ATTRIBUTE_RUNTIME) == EFI_RESOURCE_ATTRIBUTE_RUNTIME) {
+          Status = CoreSetMemorySpaceAttributes(
+            ResourceHob->PhysicalStart,
+            ResourceHob->ResourceLength,
+            EFI_MEMORY_RUNTIME
+            );
+        }
       }
 
       if (GcdIoType != EfiGcdIoTypeNonExistent) {
diff --git a/MdePkg/Include/Pi/PiHob.h b/MdePkg/Include/Pi/PiHob.h
index e9f0ab4309..92bacbe62c 100644
--- a/MdePkg/Include/Pi/PiHob.h
+++ b/MdePkg/Include/Pi/PiHob.h
@@ -296,6 +296,8 @@ typedef UINT32 EFI_RESOURCE_ATTRIBUTE_TYPE;
 //
 #define EFI_RESOURCE_ATTRIBUTE_MORE_RELIABLE  0x02000000
 
+#define EFI_RESOURCE_ATTRIBUTE_RUNTIME 0x04000000
+
 ///
 /// Describes the resource properties of all fixed,
 /// nonrelocatable resource ranges found on the processor
diff --git a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c
index 0fed1e3691..a50f1c0271 100644
--- a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c
+++ b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c
@@ -74,7 +74,8 @@ MemInfoCallbackMmio (
              EFI_RESOURCE_ATTRIBUTE_UNCACHEABLE |
              EFI_RESOURCE_ATTRIBUTE_WRITE_COMBINEABLE |
              EFI_RESOURCE_ATTRIBUTE_WRITE_THROUGH_CACHEABLE |
-             EFI_RESOURCE_ATTRIBUTE_WRITE_BACK_CACHEABLE;
+             EFI_RESOURCE_ATTRIBUTE_WRITE_BACK_CACHEABLE |
+             EFI_RESOURCE_ATTRIBUTE_RUNTIME;
 
   BuildResourceDescriptorHob (Type, Attribue, (EFI_PHYSICAL_ADDRESS)Base, Size);
   DEBUG ((DEBUG_INFO, "buildhob: base = 0x%lx, size = 0x%lx, type = 0x%x\n", Base, Size, Type));
-- 
2.35.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#88726): https://edk2.groups.io/g/devel/message/88726
Mute This Topic: https://groups.io/mt/90384323/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH] UefiPayloadPkg: Keep reserved MMIO at runtime
Posted by Guo Dong 2 years ago
This patch changed both MdeModulePkg and UefiPayloadPkg, had better split them into 2 patches?

Thanks,
Guo

-----Original Message-----
From: Akihiko Odaki <akihiko.odaki@gmail.com> 
Sent: Friday, April 8, 2022 7:25 PM
Cc: devel@edk2.groups.io; Wang, Jian J <jian.j.wang@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Bi, Dandan <dandan.bi@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>; Liu, Zhiguang <zhiguang.liu@intel.com>; Dong, Guo <guo.dong@intel.com>; Ni, Ray <ray.ni@intel.com>; Ma, Maurice <maurice.ma@intel.com>; You, Benjamin <benjamin.you@intel.com>; Akihiko Odaki <akihiko.odaki@gmail.com>
Subject: [PATCH] UefiPayloadPkg: Keep reserved MMIO at runtime

Signed-off-by: Akihiko Odaki <akihiko.odaki@gmail.com>
---
 MdeModulePkg/Core/Dxe/Gcd/Gcd.c                    | 9 +++++++++
 MdePkg/Include/Pi/PiHob.h                          | 2 ++
 UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c | 3 ++-
 3 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/MdeModulePkg/Core/Dxe/Gcd/Gcd.c b/MdeModulePkg/Core/Dxe/Gcd/Gcd.c index 3763467bdb..623b316c61 100644
--- a/MdeModulePkg/Core/Dxe/Gcd/Gcd.c
+++ b/MdeModulePkg/Core/Dxe/Gcd/Gcd.c
@@ -2628,6 +2628,15 @@ CoreInitializeGcdServices (
                    ResourceHob->ResourceLength,                    Capabilities                    );++        if (!EFI_ERROR (Status) &&+            (ResourceHob->ResourceAttribute & EFI_RESOURCE_ATTRIBUTE_RUNTIME) == EFI_RESOURCE_ATTRIBUTE_RUNTIME) {+          Status = CoreSetMemorySpaceAttributes(+            ResourceHob->PhysicalStart,+            ResourceHob->ResourceLength,+            EFI_MEMORY_RUNTIME+            );+        }       }        if (GcdIoType != EfiGcdIoTypeNonExistent) {diff --git a/MdePkg/Include/Pi/PiHob.h b/MdePkg/Include/Pi/PiHob.h
index e9f0ab4309..92bacbe62c 100644
--- a/MdePkg/Include/Pi/PiHob.h
+++ b/MdePkg/Include/Pi/PiHob.h
@@ -296,6 +296,8 @@ typedef UINT32 EFI_RESOURCE_ATTRIBUTE_TYPE;  // #define EFI_RESOURCE_ATTRIBUTE_MORE_RELIABLE  0x02000000 +#define EFI_RESOURCE_ATTRIBUTE_RUNTIME 0x04000000+ /// /// Describes the resource properties of all fixed, /// nonrelocatable resource ranges found on the processordiff --git a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c
index 0fed1e3691..a50f1c0271 100644
--- a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c
+++ b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c
@@ -74,7 +74,8 @@ MemInfoCallbackMmio (
              EFI_RESOURCE_ATTRIBUTE_UNCACHEABLE |              EFI_RESOURCE_ATTRIBUTE_WRITE_COMBINEABLE |              EFI_RESOURCE_ATTRIBUTE_WRITE_THROUGH_CACHEABLE |-             EFI_RESOURCE_ATTRIBUTE_WRITE_BACK_CACHEABLE;+             EFI_RESOURCE_ATTRIBUTE_WRITE_BACK_CACHEABLE |+             EFI_RESOURCE_ATTRIBUTE_RUNTIME;    BuildResourceDescriptorHob (Type, Attribue, (EFI_PHYSICAL_ADDRESS)Base, Size);   DEBUG ((DEBUG_INFO, "buildhob: base = 0x%lx, size = 0x%lx, type = 0x%x\n", Base, Size, Type));-- 
2.35.1



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