On 1 March 2018 at 15:09, Carsey, Jaben <jaben.car...@intel.com> wrote: > Good catch. I wonder why that arbitrary restriction originated. > > Reviewed-by: Jaben Carsey <jaben.car...@intel.com> >
Thanks Pushed as 23b53ede358d >> -----Original Message----- >> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of >> Ard Biesheuvel >> Sent: Thursday, March 01, 2018 1:39 AM >> To: edk2-devel@lists.01.org >> Cc: Ni, Ruiyu <ruiyu...@intel.com>; Carsey, Jaben >> <jaben.car...@intel.com>; heyi....@linaro.org; Ard Biesheuvel >> <ard.biesheu...@linaro.org> >> Subject: [edk2] [PATCH] ShellPkg/UefiShellDebug1CommandsLib: remove >> I/O address limit from 'mm' >> Importance: High >> >> Neither the EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL nor the >> EFI_CPU_IO2_PROTOCOL >> impose any restrictions when it comes to the range of valid I/O >> addresses. Even so, the 'mm' command in -IO mode refuses to perform >> accesses to addresses >= 0xffff. >> >> It is not up to 'mm' to impose this restriction, so remove it. >> >> Contributed-under: TianoCore Contribution Agreement 1.1 >> Signed-off-by: Ard Biesheuvel <ard.biesheu...@linaro.org> >> --- >> ShellPkg/Library/UefiShellDebug1CommandsLib/Mm.c >> | 11 ----- >> ------ >> >> ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Commands >> Lib.uni | 2 -- >> 2 files changed, 13 deletions(-) >> >> diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/Mm.c >> b/ShellPkg/Library/UefiShellDebug1CommandsLib/Mm.c >> index 9f97f1d345f7..d1fd42b1cd4d 100644 >> --- a/ShellPkg/Library/UefiShellDebug1CommandsLib/Mm.c >> +++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/Mm.c >> @@ -525,12 +525,6 @@ ShellCommandRunMm ( >> goto Done; >> } >> >> - if ((AccessType == ShellMmIo) && (Address + Size > MAX_UINT16 + 1)) { >> - ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN >> (STR_MM_IO_ADDRESS_RANGE), gShellDebug1HiiHandle, L"mm"); >> - ShellStatus = SHELL_INVALID_PARAMETER; >> - goto Done; >> - } >> - >> // >> // locate IO protocol interface >> // >> @@ -592,11 +586,6 @@ ShellCommandRunMm ( >> // >> Complete = FALSE; >> do { >> - if ((AccessType == ShellMmIo) && (Address + Size > MAX_UINT16 + 1)) { >> - ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN >> (STR_MM_ADDRESS_RANGE2), gShellDebug1HiiHandle, L"mm"); >> - break; >> - } >> - >> ShellMmAccess (AccessType, PciRootBridgeIo, CpuIo, TRUE, Address, >> Size, &Buffer); >> ShellPrintHiiEx (-1, -1, NULL, mShellMmAccessTypeStr[AccessType], >> gShellDebug1HiiHandle); >> ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_MM_ADDRESS), >> gShellDebug1HiiHandle, Address); >> diff --git >> a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman >> dsLib.uni >> b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman >> dsLib.uni >> index b6a133a45444..011a7bfc2db6 100644 >> --- >> a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman >> dsLib.uni >> +++ >> b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman >> dsLib.uni >> @@ -128,7 +128,6 @@ >> >> #string STR_MM_NOT_ALIGNED #language en-US "%H%s%N: Address >> parameter %016LX is not aligned.\r\n" >> #string STR_MM_PCIE_ADDRESS_RANGE #language en-US "%H%s%N: >> Address parameter %016LX is not a valid PCI/PCIE address.\r\n" >> -#string STR_MM_IO_ADDRESS_RANGE #language en-US "%H%s%N: IO >> address out of range 0 - 0xFFFF\r\n" >> #string STR_MM_MMIO #language en-US "%HMMIO%N" >> #string STR_MM_IO #language en-US "%HIO%N" >> #string STR_MM_PCI #language en-US "%HPCI%N" >> @@ -136,7 +135,6 @@ >> #string STR_MM_PCIE #language en-US "%HPCIE%N" >> #string STR_MM_ADDRESS #language en-US " 0x%016lx : " >> #string STR_MM_BUF #language en-US "0x%0*lx" >> -#string STR_MM_ADDRESS_RANGE2 #language en-US "%H%s%N: IO >> address out of range\r\n" >> #string STR_MM_ERROR #language en-US "%H%s%N: Input had >> incorrect format\r\n" >> >> #string STR_SETVAR_PRINT #language en-US "%g - %s - %04x Bytes\r\n" >> -- >> 2.11.0 >> >> _______________________________________________ >> edk2-devel mailing list >> edk2-devel@lists.01.org >> https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel