It is better to output error address information When Address is
invalid before ASSERT.

Signed-off-by: Ming Huang <huangm...@linux.alibaba.com>
---
 MdePkg/Library/BaseIoLibIntrinsic/IoLib.c | 24 ++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/MdePkg/Library/BaseIoLibIntrinsic/IoLib.c 
b/MdePkg/Library/BaseIoLibIntrinsic/IoLib.c
index 5bd02b56a1..57d05af5a9 100644
--- a/MdePkg/Library/BaseIoLibIntrinsic/IoLib.c
+++ b/MdePkg/Library/BaseIoLibIntrinsic/IoLib.c
@@ -174,6 +174,10 @@ MmioRead16 (
   UINT16   Value;
   BOOLEAN  Flag;
 
+  if ((Address & 1) != 0) {
+    DEBUG ((DEBUG_ERROR, "MmioRead16 invalid address: %lx\n", Address));
+  }
+
   ASSERT ((Address & 1) == 0);
   Flag = FilterBeforeMmIoRead (FilterWidth16, Address, &Value);
   if (Flag) {
@@ -220,6 +224,10 @@ MmioWrite16 (
 {
   BOOLEAN  Flag;
 
+  if ((Address & 1) != 0) {
+    DEBUG ((DEBUG_ERROR, "MmioWrite16 invalid address: %lx\n", Address));
+  }
+
   ASSERT ((Address & 1) == 0);
 
   Flag = FilterBeforeMmIoWrite (FilterWidth16, Address, &Value);
@@ -266,6 +274,10 @@ MmioRead32 (
   UINT32   Value;
   BOOLEAN  Flag;
 
+  if ((Address & 3) != 0) {
+    DEBUG ((DEBUG_ERROR, "MmioRead32 invalid address: %lx\n", Address));
+  }
+
   ASSERT ((Address & 3) == 0);
 
   Flag = FilterBeforeMmIoRead (FilterWidth32, Address, &Value);
@@ -313,6 +325,10 @@ MmioWrite32 (
 {
   BOOLEAN  Flag;
 
+  if ((Address & 3) != 0) {
+    DEBUG ((DEBUG_ERROR, "MmioWrite32 invalid address: %lx\n", Address));
+  }
+
   ASSERT ((Address & 3) == 0);
 
   Flag = FilterBeforeMmIoWrite (FilterWidth32, Address, &Value);
@@ -359,6 +375,10 @@ MmioRead64 (
   UINT64   Value;
   BOOLEAN  Flag;
 
+  if ((Address & 7) != 0) {
+    DEBUG ((DEBUG_ERROR, "MmioRead64 invalid address: %lx\n", Address));
+  }
+
   ASSERT ((Address & 7) == 0);
 
   Flag = FilterBeforeMmIoRead (FilterWidth64, Address, &Value);
@@ -404,6 +424,10 @@ MmioWrite64 (
 {
   BOOLEAN  Flag;
 
+  if ((Address & 7) != 0) {
+    DEBUG ((DEBUG_ERROR, "MmioWrite64 invalid address: %lx\n", Address));
+  }
+
   ASSERT ((Address & 7) == 0);
 
   Flag = FilterBeforeMmIoWrite (FilterWidth64, Address, &Value);
-- 
2.17.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#120325): https://edk2.groups.io/g/devel/message/120325
Mute This Topic: https://groups.io/mt/107873366/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to