From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 698FF803B1 for ; Thu, 23 Mar 2017 08:08:37 -0700 (PDT) Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga105.jf.intel.com with ESMTP; 23 Mar 2017 08:08:37 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.36,210,1486454400"; d="scan'208";a="239567722" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by fmsmga004.fm.intel.com with ESMTP; 23 Mar 2017 08:08:36 -0700 Received: from fmsmsx155.amr.corp.intel.com (10.18.116.71) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 23 Mar 2017 08:06:29 -0700 Received: from fmsmsx103.amr.corp.intel.com ([169.254.2.246]) by FMSMSX155.amr.corp.intel.com ([169.254.5.24]) with mapi id 14.03.0319.002; Thu, 23 Mar 2017 08:06:13 -0700 From: "Carsey, Jaben" To: "Ni, Ruiyu" , "edk2-devel@lists.01.org" CC: "Carsey, Jaben" Thread-Topic: [PATCH] ShellPkg/mm: Support UINT16 segment number Thread-Index: AQHSo5Z9VrSpLWP1fkCUyiNNdptOM6GihtOw Date: Thu, 23 Mar 2017 15:06:13 +0000 Message-ID: References: <20170323052922.59684-1-ruiyu.ni@intel.com> In-Reply-To: <20170323052922.59684-1-ruiyu.ni@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiYzQ5ODFlMGMtNWYwOS00MTQwLWIyZDgtMDYyMGExMjgyZjIxIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE1LjkuNi42IiwiVHJ1c3RlZExhYmVsSGFzaCI6ImxIRmMrSm0xaDU2aklVeFJMTmd4UGpLMDBtd3lCUGRoUWJVbWVPR0JUSkk9In0= x-ctpclassification: CTP_IC x-originating-ip: [10.1.200.107] MIME-Version: 1.0 Subject: Re: [PATCH] ShellPkg/mm: Support UINT16 segment number X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Mar 2017 15:08:37 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Jaben Carsey > -----Original Message----- > From: Ni, Ruiyu > Sent: Wednesday, March 22, 2017 10:29 PM > To: edk2-devel@lists.01.org > Cc: Carsey, Jaben > Subject: [PATCH] ShellPkg/mm: Support UINT16 segment number > Importance: High >=20 > It's to follow the Shell 2.2 spec. >=20 > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Ruiyu Ni > Cc: Jaben Carsey > --- > ShellPkg/Library/UefiShellDebug1CommandsLib/Mm.c | 18 +++++++++----- > ---- > .../UefiShellDebug1CommandsLib.uni | 22 +++++++++++-----= ------ > 2 files changed, 20 insertions(+), 20 deletions(-) >=20 > diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/Mm.c > b/ShellPkg/Library/UefiShellDebug1CommandsLib/Mm.c > index 6caf448..9f97f1d 100644 > --- a/ShellPkg/Library/UefiShellDebug1CommandsLib/Mm.c > +++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/Mm.c > @@ -2,7 +2,7 @@ > Main file for Mm shell Debug1 function. >=20 > (C) Copyright 2015 Hewlett-Packard Development Company, L.P.
> - Copyright (c) 2005 - 2015, Intel Corporation. All rights reserved.
> + Copyright (c) 2005 - 2017, Intel Corporation. All rights reserved.
> This program and the accompanying materials > are licensed and made available under the terms and conditions of the = BSD > License > which accompanies this distribution. The full text of the license may= be > found at > @@ -58,10 +58,10 @@ CONST EFI_CPU_IO_PROTOCOL_WIDTH > mShellMmCpuIoWidth[] =3D { >=20 > /** > Extract the PCI segment, bus, device, function, register from > - from a SHELL_MM_PCI or SHELL_MM_PCIE format of address.. > + from a PCI or PCIE format of address.. >=20 > @param[in] PciFormat Whether the address is of PCI format of PCI= E > format. > - @param[in] Address SHELL_MM_PCI or SHELL_MM_PCIE address. > + @param[in] Address PCI or PCIE address. > @param[out] Segment PCI segment number. > @param[out] Bus PCI bus number. > @param[out] Device PCI device number. > @@ -81,10 +81,10 @@ ShellMmDecodePciAddress ( > { > if (PciFormat) { > // > - // PCI Configuration Space.The address will have the format > 0x000000ssbbddffrr, > - // where ss =3D Segment, bb =3D Bus, dd =3D Device, ff =3D Function = and rr =3D > Register. > + // PCI Configuration Space.The address will have the format ssssbbdd= ffrr, > + // where ssss =3D Segment, bb =3D Bus, dd =3D Device, ff =3D Functio= n and rr =3D > Register. > // > - *Segment =3D (UINT32) (RShiftU64 (Address, 32) & 0xFF); > + *Segment =3D (UINT32) (RShiftU64 (Address, 32) & 0xFFFF); > *Bus =3D (UINT8) (((UINT32) Address) >> 24); >=20 > if (Device !=3D NULL) { > @@ -98,10 +98,10 @@ ShellMmDecodePciAddress ( > } > } else { > // > - // PCI Express Configuration Space.The address will have the format > 0x0000000ssbbddffrrr, > - // where ss =3D Segment, bb =3D Bus, dd =3D Device, ff =3D Function = and rrr =3D > Register. > + // PCI Express Configuration Space.The address will have the format > ssssssbbddffrrr, > + // where ssss =3D Segment, bb =3D Bus, dd =3D Device, ff =3D Functio= n and rrr =3D > Register. > // > - *Segment =3D (UINT32) (RShiftU64 (Address, 36) & 0xFF); > + *Segment =3D (UINT32) (RShiftU64 (Address, 36) & 0xFFFF); > *Bus =3D (UINT8) RShiftU64 (Address, 28); > if (Device !=3D NULL) { > *Device =3D (UINT8) (((UINT32) Address) >> 20); > diff --git > a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman > dsLib.uni > b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman > dsLib.uni > index 2d5d16f..6c02abe 100644 > --- > a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman > dsLib.uni > +++ > b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman > dsLib.uni > @@ -614,21 +614,21 @@ > "MM Address [Value] [-w 1|2|4|8] [-MEM | -MMIO | -IO | -PCI | -PCIE] [- > n]\r\n" > ".SH OPTIONS\r\n" > " \r\n" > -" Address - Specifies a starting address.\r\n" > -" Value - Specifies the value to write.\r\n" > +" Address - Starting address in hexadecimal format.\r\n" > +" Value - The value to write in hexadecimal format.\r\n" > " -MEM - Memory Address type\r\n" > " -MMIO - Memory Mapped IO Address type\r\n" > " -IO - IO Address type\r\n" > " -PCI - PCI Configuration Space Address type:\r\n" > -" Address format: 0x000000ssbbddffrr\r\n" > -" ss - Segment\r\n" > +" Address format: ssssbbddffrr\r\n" > +" ssss - Segment\r\n" > " bb - Bus\r\n" > " dd - Device\r\n" > " ff - Function\r\n" > " rr - Register\r\n" > " -PCIE - PCIE Configuration Space Address type:\r\n" > -" Address format: 0x00000ssbbddffrrr\r\n" > -" ss - Segment\r\n" > +" Address format: ssssbbddffrrr\r\n" > +" ssss - Segment\r\n" > " bb - Bus\r\n" > " dd - Device\r\n" > " ff - Function\r\n" > @@ -653,7 +653,7 @@ > " follow the PCI Configuration Space Address format above. The 'PCI= '\r\n" > " command can be used to determine the address for a specified > device.\r\n" > " It is listed in the PCI configuration space dump information in t= he\r\n" > -" following format: "[EFI 0x000000ssbbddffxx]".\r\n" > +" following format: "[EFI ssbbddffxx]".\r\n" > " 5. If the PCIE address type is specified, the 'Address' parameter mu= st\r\n" > " follow the PCIE Configuration Space Address format above.\r\n" > " 6. In interactive mode, type a hex value to modify, 'q' or '.' to ex= it.\r\n" > @@ -709,8 +709,8 @@ > " IO 0x0000000000000086 : 0xFF >\r\n" > " IO 0x0000000000000087 : 0x00 > q\r\n" > " \r\n" > -" * To display PCI configuration space, ss=3D00, bb=3D00, dd=3D00, ff= =3D00, > rr=3D00:\r\n" > -" Shell> mm 0000000000 -PCI\r\n" > +" * To display PCI configuration space, ss=3D0000, bb=3D00, dd=3D00, ff= =3D00, > rr=3D00:\r\n" > +" Shell> mm 000000000000 -PCI\r\n" > " PCI 0x0000000000000000 : 0x86 >\r\n" > " PCI 0x0000000000000001 : 0x80 >\r\n" > " PCI 0x0000000000000002 : 0x30 >\r\n" > @@ -719,8 +719,8 @@ > " PCI 0x0000000000000005 : 0x00 > q\r\n" > " These contents can also be displayed by 'PCI 00 00 00'.\r\n" > " \r\n" > -" * To display PCIE configuration space, ss=3D00, bb=3D06, dd=3D00, ff= =3D00, > rrr=3D000:\r\n" > -" Shell> mm 00060000000 -PCIE\r\n" > +" * To display PCIE configuration space, ss=3D0000, bb=3D06, dd=3D00, f= f=3D00, > rrr=3D000:\r\n" > +" Shell> mm 0000060000000 -PCIE\r\n" > " PCIE 0x0000000060000000 : 0xAB >\r\n" > " PCIE 0x0000000060000001 : 0x11 >\r\n" > " PCIE 0x0000000060000002 : 0x61 >\r\n" > -- > 2.9.0.windows.1