From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from atlmailgw1.ami.com (atlmailgw1.ami.com [63.147.10.40]) (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 4E7931A1E0B for ; Mon, 26 Sep 2016 14:06:34 -0700 (PDT) X-AuditID: ac1060b2-a7fff7000000467b-9b-57e98dd4331e Received: from atlms2.us.megatrends.com (atlms2.us.megatrends.com [172.16.96.152]) (using TLS with cipher AES128-SHA (128/128 bits)) (Client did not present a certificate) by (Symantec Messaging Gateway) with SMTP id 98.D5.18043.4DD89E75; Mon, 26 Sep 2016 17:06:31 -0400 (EDT) Received: from ATLMS1.us.megatrends.com ([fe80::8c55:daf0:ef05:5605]) by atlms2.us.megatrends.com ([fe80::29dc:a91e:ea0c:cdeb%12]) with mapi id 14.03.0123.003; Mon, 26 Sep 2016 17:06:11 -0400 From: Felix Poludov To: "Kinney, Michael D" , "Gao, Liming" , "edk2-devel@lists.01.org" Thread-Topic: [PATCH] [MdePkg ] New Debug Message Levels Thread-Index: AdIOoGfwP58VzQt9RL+w0VhTGXv9FAAAR6uQAAb6ZRABImanIAAFA+8wAAZUIrAAFd7x0AEZvmwg Date: Mon, 26 Sep 2016 21:06:10 +0000 Message-ID: <9333E191E0D52B4999CE63A99BA663A00270FF18FB@atlms1.us.megatrends.com> References: <9333E191E0D52B4999CE63A99BA663A00270FEBC69@atlms1.us.megatrends.com> <9333E191E0D52B4999CE63A99BA663A00270FEBD66@atlms1.us.megatrends.com> <4A89E2EF3DFEDB4C8BFDE51014F606A14B47ACEB@shsmsx102.ccr.corp.intel.com> <9333E191E0D52B4999CE63A99BA663A00270FEF3B8@atlms1.us.megatrends.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.16.99.93] content-transfer-encoding: quoted-printable MIME-Version: 1.0 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprEKsWRmVeSWpSXmKPExsWyRiBhhu713pfhBvOes1rsOXSU2WLFvQ3s Fh0d/5gcmD0W73nJ5NE9+x9LAFNUA6NNYl5efkliSapCSmpxsq1SQFFmWWJypZJCZoqtkqGS QkFOYnJqbmpeia1SYkFBal6Kkh2XAgawASrLzFNIzUvOT8nMS7dV8gz217WwMLXUNVSyC8lI VcjMS8svyk0syczPU0jOzysBqk5NAYoqJHRxZvxf+5ytYEFlxcEtr1gaGC/HdzFyckgImEg8 evWOFcQWEpjNJDH9nHIXIxeQfZhR4u3XLWwgCTYBFYlNZy8wgyREBCYySkyY9xEowcEhLGAu MeGfDUiNiICFxIup71kg7CiJd5d3gA1lEVCV2DxlCSOIzSsQKHHvzlk2iAX7mSVOT1rIDpLg FAiR2Pn5JFgRo4CYxPdTa5hAbGYBcYlbT+YzQVwqILFkz3lmCFtU4uXjf6wQtoLElved7BD1 OhILdn9ig7C1JZYtfM0MsVhQ4uTMJywTGEVmIRk7C0nLLCQts5C0LGBkWcUolFiSk5uYmZNe bqiXmJupl5yfu4kRkgQ27WBsuWh+iFGAg1GJh3d5xctwIdbEsuLK3EOMEhzMSiK8iT1AId6U xMqq1KL8+KLSnNTiQ4xOwHCZyCzFDYojYKTHGxsYSInCOIYmZibmRuaGlibmxsZK4rxFf3zD hQTSgYknOzW1ILUIZggTB6dUAyNj85SHshOCDK7/qjxvpCrYUecYHTZZ8NHEmQ0e7t6JL+WV mL7csFpzdYKN9YJg+dRp7U/mzN8tW724wl3l7xUedrW9XPvabNcVdm0SeLFG8sSq5iwPNbUd jnOWF82SZMuTU1Rw1SzcyaRVx/3ZzvPulCnnzUxPrH0/+1OPyGKLXQo/7uqLNiqxFGckGmox FxUnAgCp34hmJQMAAA== Subject: Re: [PATCH] [MdePkg ] New Debug Message Levels X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Sep 2016 21:06:34 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Mike, The goal is to provide a higher level of granularity in controlling debug me= ssages. Or to put it in different terms, improve developer's ability to reduce amoun= t of "noise" in the debug log. For example, if I'm debugging a chipset-specific issue, I'm not necessarily= interested in debug messages from the generic modules and vice versa. As far as combing the definitions, I think we can leave it up to individual= developers. I know that with the current implementation DebugPrint statement is printed= if it least one of the used levels is enabled. For example, DEBUG_NET|DEBUG_INFO is printed when either DEBUG_NET, or DEBUG= _INFO, or both are enabled. I think this is fine. Moreover, it's pretty easy to customize the default policy by using a custom= DebugLib and/or DebugPrintErrorLevel instances. -----Original Message----- From: Kinney, Michael D [mailto:michael.d.kinney@intel.com] Sent: Wednesday, September 21, 2016 2:10 AM To: Felix Poludov; Gao, Liming; edk2-devel@lists.01.org Subject: RE: [PATCH] [MdePkg ] New Debug Message Levels Felix, Thanks for the quick update. Quick question on usage model. Do you expect to be able to mix an I/O subsystem bit with ERROR, WARN, INFO, or VERBOSE bits? Unfortunately, I do not think the current definition and implementation of the DebugLib instances support this type mixing with a result a developer may expect. Can you summarize or provide some example use cases for these new bits? Thanks, Mike > -----Original Message----- > From: Felix Poludov [mailto:Felixp@ami.com] > Sent: Tuesday, September 20, 2016 12:29 PM > To: Kinney, Michael D ; Gao, Liming > ; edk2-devel@lists.01.org > Subject: RE: [PATCH] [MdePkg ] New Debug Message Levels > > Mike and Liming, > > Thanks for reviewing the patch. > I implemented all the requested modifications: > - EFI_D_ definitions are removed > - DEBUG_CSM is removed > - Validation expression in MdePkg.dec is updated > - MdePkg.uni is updated > > Here is the updated patch > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Felix Polyudov > =3D=3D > diff --git a/MdePkg/Include/Library/DebugLib.h b/MdePkg/Include/Library/De= bugLib.h > index 803872c..34ea29f 100644 > --- a/MdePkg/Include/Library/DebugLib.h > +++ b/MdePkg/Include/Library/DebugLib.h > @@ -54,6 +54,11 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITH= ER EXPRESS > OR IMPLIED. > #define DEBUG_CACHE 0x00200000 // Memory range cachability changes > #define DEBUG_VERBOSE 0x00400000 // Detailed debug messages that may > // significantly impact boot performa= nce > +#define DEBUG_USB 0x00000200 // USB Driver > +#define DEBUG_PCI 0x00000800 // PCI Bus Driver > +#define DEBUG_CPU 0x00002000 // Processor Driver > +#define DEBUG_CHIPSET 0x00008000 // Chipset/SoC Drivers > +#define DEBUG_PLATFORM 0x00040000 // Platform/Board Drivers > #define DEBUG_ERROR 0x80000000 // Error > > // > diff --git a/MdePkg/MdePkg.dec b/MdePkg/MdePkg.dec > index 606e2f1..1747bb1 100644 > --- a/MdePkg/MdePkg.dec > +++ b/MdePkg/MdePkg.dec > @@ -1883,11 +1883,16 @@ > # BIT6 - Information message.
> # BIT7 - Dispatcher message.
> # BIT8 - Variable message.
> + # BIT9 - USB Driver message.
> # BIT10 - Boot Manager message.
> + # BIT11 - PCI Bus Driver message.
> # BIT12 - BlockIo Driver message.
> + # BIT13 - Processor Driver message.
> # BIT14 - Network Driver message.
> + # BIT15 - Chipset/SoC Driver message.
> # BIT16 - UNDI Driver message.
> # BIT17 - LoadFile message.
> + # BIT18 - Platform/Board Driver message.
> # BIT19 - Event message.
> # BIT20 - Global Coherency Database changes message.
> # BIT21 - Memory range cachability changes message.
> @@ -1951,18 +1956,23 @@ > # BIT6 - Information message.
> # BIT7 - Dispatcher message.
> # BIT8 - Variable message.
> + # BIT9 - USB Driver message.
> # BIT10 - Boot Manager message.
> + # BIT11 - PCI Bus Driver message.
> # BIT12 - BlockIo Driver message.
> + # BIT13 - Processor Driver message.
> # BIT14 - Network Driver message.
> + # BIT15 - Chipset/SoC Driver message.
> # BIT16 - UNDI Driver message.
> # BIT17 - LoadFile message.
> + # BIT18 - Platform/Board Driver message.
> # BIT19 - Event message.
> # BIT20 - Global Coherency Database changes message.
> # BIT21 - Memory range cachability changes message.
> # BIT22 - Detailed debug message.
> # BIT31 - Error message.
> # @Prompt Debug Message Print Level. > - # @Expression 0x80000002 | (gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErro= rLevel & > 0x7F84AA00) =3D=3D 0 > + # @Expression 0x80000002 | (gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErro= rLevel & > 0x7F800000) =3D=3D 0 > gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000|UINT32|0x00= 000006 > > ## The mask is used to control ReportStatusCodeLib behavior.

> diff --git a/MdePkg/MdePkg.uni b/MdePkg/MdePkg.uni > index a110e45..4f3999d 100644 > --- a/MdePkg/MdePkg.uni > +++ b/MdePkg/MdePkg.uni > @@ -196,11 +196,16 @@ > > "BIT6 - Information message.
\n" > > "BIT7 - Dispatcher message.
\n" > > "BIT8 - Variable message.
\n" > + > "BIT9 - USB Driver message.
\n" > > "BIT10 - Boot Manager message.
\n" > + > "BIT11 - PCI Bus Driver message.
\n" > > "BIT12 - BlockIo Driver message.
\n" > + > "BIT13 - Processor Driver message.
\n" > > "BIT14 - Network Driver message.
\n" > + > "BIT15 - Chipset/SoC Driver message.
\n" > > "BIT16 - UNDI Driver message.
\n" > > "BIT17 - LoadFile message.
\n" > + > "BIT18 - Platform/Board Driver message.
\n" > > "BIT19 - Event message.
\n" > > "BIT20 - Global Coherency Database changes message.
\n" > > "BIT21 - Memory range cacheability changes message.
\n" > @@ -219,11 +224,16 @@ > > "BIT6 - Information message.
\n" > > "BIT7 - Dispatcher message.
\n" > > "BIT8 - Variable message.
\n" > + > "BIT9 - USB Driver message.
\n" > > "BIT10 - Boot Manager message.
\n" > + > "BIT11 - PCI Bus Driver message.
\n" > > "BIT12 - BlockIo Driver message.
\n" > + > "BIT13 - Processor Driver message.
\n" > > "BIT14 - Network Driver message.
\n" > + > "BIT15 - Chipset/SoC Driver message.
\n" > > "BIT16 - UNDI Driver message.
\n" > > "BIT17 - LoadFile message.
\n" > + > "BIT18 - Platform/Board Driver message.
\n" > > "BIT19 - Event message.
\n" > > "BIT20 - Global Coherency Database changes message.
\n" > > "BIT21 - Memory range cacheability changes message.
\n" > =3D=3D > > -----Original Message----- > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Kin= ney, > Michael D > Sent: Tuesday, September 20, 2016 12:26 PM > To: Gao, Liming; Felix Poludov; edk2-devel@lists.01.org; Kinney, Michael D > Subject: Re: [edk2] [PATCH] [MdePkg ] New Debug Message Levels > > Felix, > > We should only add the DEBUG_ defines for new bit values. We would like t= o retire > the use of EFI_D_ defines and encourage use of DEBUG_ defines. The reason= is that > DEBUG() macros apply to all execution phases and module types. > > Also, what is the use case for DEBUG_CSM. I would image this would only b= e used for > CSM wrapper modules, and the exiting define values should be sufficient fo= r that > specific use case. That bit mask is starting to get full. > > Thanks, > > Mike > > > -----Original Message----- > > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of G= ao, Liming > > Sent: Tuesday, September 20, 2016 7:01 AM > > To: Felix Poludov ; edk2-devel@lists.01.org > > Subject: Re: [edk2] [PATCH] [MdePkg ] New Debug Message Levels > > > > Felix: > > I have two comments. > > 1) Update @Expression 0x80000002 | > (gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel > > & 0x7F84AA00) =3D=3D 0. 0x7F84AA00 should be updated to match the valid= debug error > level > > bit mask. > > 2) PCD help message in MdePkg.uni is also required to be updated. > > > > Thanks > > Liming > > -----Original Message----- > > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of F= elix > Poludov > > Sent: Thursday, September 15, 2016 3:27 AM > > To: edk2-devel@lists.01.org > > Subject: Re: [edk2] [PATCH] [MdePkg ] New Debug Message Levels > > > > Resending with the patch (the patch was missing in the original e-mail). > > > > -----Original Message----- > > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of F= elix > Poludov > > Sent: Wednesday, September 14, 2016 12:05 PM > > To: edk2-devel@lists.01.org > > Subject: [edk2] [PATCH] [MdePkg ] New Debug Message Levels > > > > Dear MdePkg maintainer, > > > > DebugLib.h defines debug message levels. Some values such as DEBUG_ERROR= and > > DEBUG_INFO define messages category, whereas other values such as DEBUG_= BLKIO and > > DEBUG_VARIABLE define message domain. > > This patch adds definitions for several additional message domains. > > > > Contributed-under: TianoCore Contribution Agreement 1.0 > > Signed-off-by: Felix Polyudov > > > > > Thanks > > Felix > > > > =3D=3D > > diff --git a/MdePkg/Include/Library/DebugLib.h b/MdePkg/Include/Library/= DebugLib.h > > index 803872c..47549b7 100644 > > --- a/MdePkg/Include/Library/DebugLib.h > > +++ b/MdePkg/Include/Library/DebugLib.h > > @@ -54,6 +54,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EI= THER > EXPRESS > > OR IMPLIED. > > #define DEBUG_CACHE 0x00200000 // Memory range cachability changes > > #define DEBUG_VERBOSE 0x00400000 // Detailed debug messages that may > > // significantly impact boot perfor= mance > > +#define DEBUG_USB 0x00000200 // USB Driver > > +#define DEBUG_PCI 0x00000800 // PCI Bus Driver > > +#define DEBUG_CSM 0x00002000 // Compatibility Support Module > > +#define DEBUG_CPU 0x00008000 // Processor Driver > > +#define DEBUG_CHIPSET 0x00040000 // Chipset/SoC Drivers > > +#define DEBUG_PLATFORM 0x00800000 // Platform/Board Drivers > > #define DEBUG_ERROR 0x80000000 // Error > > > > // > > @@ -75,6 +81,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EI= THER > EXPRESS > > OR IMPLIED. > > #define EFI_D_LOADFILE DEBUG_LOADFILE > > #define EFI_D_EVENT DEBUG_EVENT > > #define EFI_D_VERBOSE DEBUG_VERBOSE > > +#define EFI_D_USB DEBUG_USB > > +#define EFI_D_PCI DEBUG_PCI > > +#define EFI_D_CSM DEBUG_CSM > > +#define EFI_D_CPU DEBUG_CPU > > +#define EFI_D_CHIPSET DEBUG_CHIPSET > > +#define EFI_D_PLATFORM DEBUG_PLATFORM > > #define EFI_D_ERROR DEBUG_ERROR > > > > /** > > diff --git a/MdePkg/MdePkg.dec b/MdePkg/MdePkg.dec > > index 606e2f1..eaae076 100644 > > --- a/MdePkg/MdePkg.dec > > +++ b/MdePkg/MdePkg.dec > > @@ -1883,15 +1883,21 @@ > > # BIT6 - Information message.
> > # BIT7 - Dispatcher message.
> > # BIT8 - Variable message.
> > + # BIT9 - USB Driver message.
> > # BIT10 - Boot Manager message.
> > + # BIT11 - PCI Bus Driver message.
> > # BIT12 - BlockIo Driver message.
> > + # BIT13 - Compatibility Support Module message.
> > # BIT14 - Network Driver message.
> > + # BIT15 - Processor Driver message.
> > # BIT16 - UNDI Driver message.
> > # BIT17 - LoadFile message.
> > + # BIT18 - Chipset/SoC Driver message.
> > # BIT19 - Event message.
> > # BIT20 - Global Coherency Database changes message.
> > # BIT21 - Memory range cachability changes message.
> > # BIT22 - Detailed debug message.
> > + # BIT23 - Platform/Board Driver message.
> > # BIT31 - Error message.
> > # @Prompt Fixed Debug Message Print Level. > > > gEfiMdePkgTokenSpaceGuid.PcdFixedDebugPrintErrorLevel|0xFFFFFFFF|UINT32|0x= 30001016 > > @@ -1951,15 +1957,21 @@ > > # BIT6 - Information message.
> > # BIT7 - Dispatcher message.
> > # BIT8 - Variable message.
> > + # BIT9 - USB Driver message.
> > # BIT10 - Boot Manager message.
> > + # BIT11 - PCI Bus Driver message.
> > # BIT12 - BlockIo Driver message.
> > + # BIT13 - Compatibility Support Module message.
> > # BIT14 - Network Driver message.
> > + # BIT15 - Processor Driver message.
> > # BIT16 - UNDI Driver message.
> > # BIT17 - LoadFile message.
> > + # BIT18 - Chipset/SoC Driver message.
> > # BIT19 - Event message.
> > # BIT20 - Global Coherency Database changes message.
> > # BIT21 - Memory range cachability changes message.
> > # BIT22 - Detailed debug message.
> > + # BIT23 - Platform/Board Driver message.
> > # BIT31 - Error message.
> > # @Prompt Debug Message Print Level. > > # @Expression 0x80000002 | (gEfiMdePkgTokenSpaceGuid.PcdDebugPrintEr= rorLevel & > > 0x7F84AA00) =3D=3D 0 > > > > Please consider the environment before printing this email. > > > > The information contained in this message may be confidential and propri= etary to > > American Megatrends, Inc. This communication is intended to be read onl= y by the > > individual or entity to whom it is addressed or by their designee. If th= e reader of > > this message is not the intended recipient, you are on notice that any d= istribution > > of this message, in any form, is strictly prohibited. Please promptly n= otify the > > sender by reply e-mail or by telephone at 770-246-8600, and then delete= or destroy > > all copies of the transmission. > > _______________________________________________ > > 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 > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel > > Please consider the environment before printing this email. > > The information contained in this message may be confidential and propriet= ary to > American Megatrends, Inc. This communication is intended to be read only= by the > individual or entity to whom it is addressed or by their designee. If the= reader of > this message is not the intended recipient, you are on notice that any dis= tribution > of this message, in any form, is strictly prohibited. Please promptly not= ify the > sender by reply e-mail or by telephone at 770-246-8600, and then delete or= destroy > all copies of the transmission. Please consider the environment before printing this email. The information contained in this message may be confidential and proprietar= y to American Megatrends, Inc. This communication is intended to be read on= ly by the individual or entity to whom it is addressed or by their designee.= If the reader of this message is not the intended recipient, you are on not= ice that any distribution of this message, in any form, is strictly prohibit= ed. Please promptly notify the sender by reply e-mail or by telephone at 77= 0-246-8600, and then delete or destroy all copies of the transmission.