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] -=-=-=-=-=-=-=-=-=-=-=-