From: Ard Biesheuvel Date: Thu, 1 Mar 2018 09:27:31 +0000 (+0000) Subject: ShellPkg/UefiShellDebug1CommandsLib: remove I/O address limit from 'mm' X-Git-Tag: edk2-stable201903~2306 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=23b53ede358d9262a78e3f7b2a34423382d138a8 ShellPkg/UefiShellDebug1CommandsLib: remove I/O address limit from 'mm' 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 Reviewed-by: Jaben Carsey --- diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/Mm.c b/ShellPkg/Library/UefiShellDebug1CommandsLib/Mm.c index 9f97f1d345..d1fd42b1cd 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/UefiShellDebug1CommandsLib.uni b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.uni index b6a133a454..011a7bfc2d 100644 --- a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.uni +++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.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"