From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from server202.webhostingpad.com (server202mail.webhostingpad.com [50.31.162.9]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id CC53482104 for ; Tue, 14 Feb 2017 15:14:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=cmlab.biz; s=default; h=Content-Type:In-Reply-To:MIME-Version:Date:Message-ID:From:Cc: References:To:Subject:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=SRHhjnKoXJrkF3azD5e9sq/wdOzOF9gSHgod7vKYwpI=; b=LxBxuSIRlkIzx7r2H2wGtyVO+I wAanb/0+E8aP8e25F/8uga8jzgI1H1gSM+8lxmsFrjc25W9j2UwcqMbdPYDpzaUk0aEgti21xOYLZ YBlkjJRWIOAdAl4pqhRhoPoRNUOJSFQZXf5oPBvzW2S5GgXF0PHZtxCiPIYpY6vkvjuQ=; Received: from [71.216.152.198] (port=42726 helo=[192.168.50.197]) by server202.webhostingpad.com with esmtpsa (TLSv1:DHE-RSA-AES128-SHA:128) (Exim 4.87) (envelope-from ) id 1cdmIU-000PdL-Dn; Tue, 14 Feb 2017 17:14:10 -0600 To: Nikolay Bodunov References: <485eda84-7d3c-cbcf-6dbe-bc302aa8e3c0@redhat.com> <09003614-2953-3c06-2b7d-b0fdb81fd581@cmlab.biz> Cc: "Kinney, Michael D" , "edk2-devel@ml01.01.org" , Laszlo Ersek From: "David A. Van Arnem" Message-ID: <8d78b23b-8b0a-399f-0f9f-014099ed545b@cmlab.biz> Date: Tue, 14 Feb 2017 16:14:07 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 MIME-Version: 1.0 In-Reply-To: X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - server202.webhostingpad.com X-AntiAbuse: Original Domain - ml01.01.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - cmlab.biz X-Get-Message-Sender-Via: server202.webhostingpad.com: authenticated_id: dvanarnem@cmlab.biz X-Authenticated-Sender: server202.webhostingpad.com: dvanarnem@cmlab.biz X-Source: X-Source-Args: X-Source-Dir: X-Content-Filtered-By: Mailman/MimeDel 2.1.21 Subject: =?UTF-8?B?UmU6IERFQlVHKCkgbWFjcm9zIGluIERYRSBkcml2ZXI6IGNhbuKAmXQgbWFrZSBpdCB3b3JrIGluIFFFTVU=?= 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: Tue, 14 Feb 2017 23:14:12 -0000 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 02/14/2017 03:36 PM, Nikolay Bodunov wrote: > Hi >=20 > I wrote "As a base". It's not my current code. > I called "DEBUG() directly, without any conditions. Of course, code on > given link won't call DEBUG() if no errors happen. > I understand that UEFI Appliction should work fine with usual print > functions, but now I want to know how to print debug message in DXE pha= se - > at any way. Ah, well I just dealt with this last week :-) My solution was to link DebugLib to MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf in the .dsc file (in addition to setting the PCD values like you already did). I imagine this will also work with OVMF, but I'm not sure because I haven't used it extensively. There were some other solutions recommended, the thread is here: https://lists.01.org/pipermail/edk2-devel/2017-February/007191.html Regards, David >=20 > Nikolay. >=20 > 2017-02-15 1:17 GMT+03:00 David A. Van Arnem : >=20 >> Hi, >> >> From a quick look at your code, I'm not sure you want to make a >> DXE_DRIVER. The code looks more like a UEFI_APPLICATION. >> CrScreenshotDxe.c should normally manage a device, for UEFI_DRIVERS it= >> will implement the Driver Binding Protocol functions Supported(), >> Start(), and Stop(). >> >> Likely, the reason you aren't seeing any DEBUG() messages is because >> your functions aren't being called. >> >> Regards, >> David >> >> On 02/14/2017 03:06 PM, Nikolay Bodunov wrote: >>> Thank you for the suggestions. >>> >>> I tried to use them: >>> >>>> (1) Please always terminate the debug message with a newline ("\n") >>> Done. No changes. Of course, I usually do it, but in that case all I >> needed >>> was to have any string on output. Sorry for bad programming style. >>> >>>> (2) Please use DEBUG_ERROR as the symbolic constant for the error ma= sk >>> Done. I think you meant in DEBUG() macros. No changes. Question about= >>> style, too. >>> >>>> (3) DEBUG output from OVMF is by default not written to the serial p= ort >>> and >>>> add -D DEBUG_ON_SERIAL_PORT >>> Done. Recompiled OVMF with that option. I have now file "debug.log" 7= 4415 >>> bytes size that contains everything, include EFI Shell output, but ex= cept >>> my debug messages >>> >>> BTW, QEMU option "-debugcon file:debug.log -global >>> isa-debugcon.iobase=3D0x402", recommended in OVMF README, did nothing= - >>> "debug.log was empty. >>> >>> Based on results, I suppose that the problem is not on OVMF side. >>> Hope you propose something else to try. Maybe I got something in a wr= ong >>> way. >>> >>> Nikolay >>> >>> 2017-02-14 21:28 GMT+03:00 Kinney, Michael D >> : >>> >>>> If you prefer debug messages on a serial port, you can >>>> add -D DEBUG_ON_SERIAL_PORT >>>> >>>> Mike >>>> >>>>> -----Original Message----- >>>>> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf= Of >>>> Laszlo Ersek >>>>> Sent: Tuesday, February 14, 2017 10:17 AM >>>>> To: Nikolay Bodunov ; >> edk2-devel@ml01.01.org >>>>> Subject: Re: [edk2] DEBUG() macros in DXE driver: can=E2=80=99t mak= e it work in >>>> QEMU >>>>> >>>>> Hi Nikolay, >>>>> >>>>> On 02/14/17 18:55, Nikolay Bodunov wrote: >>>>>> Hello >>>>>> >>>>>> >>>>>> I compiled DXE Driver, in DEBUG_GCC49 mode, but I can=E2=80=99t pr= int any >> debug >>>>>> message. >>>>>> DEBUG((-1, =E2=80=9CPrint test=E2=80=9D)) does nothing. Exactly = as >>>>>> DebugPrint(EFI_D_ERROR, =E2=80=9CPrint Test); >>>>> >>>>> (1) Please always terminate the debug message with a newline ("\n")= >> once >>>>> you are done with it. (It's okay to format a single message with >> several >>>>> DEBUG calls of course, and terminate only the last DEBUG with a >> newline.) >>>>> >>>>> (2) Please use DEBUG_ERROR as the symbolic constant for the error m= ask. >>>>> >>>>>> >>>>>> However, I see =E2=80=9CPrint Test=E2=80=9D string in my *.efi bin= ary. >>>>>> I use QEMU + OMVF (OVMF was also recompliled in DEBUG_GCC49 mode, = to >> be >>>>>> sure). Serial port output is redirected to a file: >>>>>> qemu-system-x86_64 -L . --bios /=E2=80=A6/FV/OVMF.fd -hda hdd.img = -serial >>>>>> file:./serial_file >>>>> >>>>> (3) DEBUG output from OVMF is by default not written to the serial >> port, >>>>> it is written to the QEMU debug port. Please consult OvmfPkg/README= for >>>>> specifics, namely under "Capturing OVMF debug messages on qemu". >>>>> >>>>> Hope this helps, >>>>> Laszlo >>>>> >>>>>> >>>>>> All I see in output file is EFI shell output messages, include one= >>>> that my >>>>>> driver was succesfully loaded. But no messages from DEBUG(). >>>>>> >>>>>> >>>>>> My conditions: >>>>>> >>>>>> MODULE_TYPE =3D DXE_DRIVER >>>>>> >>>>>> >>>>>> Debug Print Library: >>>>>> >>>>>> DebugLib|MdePkg/Library/BaseDebugLibSerialPort/ >>>> BaseDebugLibSerialPort.inf >>>>>> >>>>>> (BaseDebugLibNull.inf is commented, of course) >>>>>> >>>>>> >>>>>> DebugPrintEnabled() returns TRUE >>>>>> >>>>>> >>>>>> I also tried to set some key options manually in MdeModulePkg.dsc >>>>>> afterwards, but result didn=E2=80=99t change: >>>>>> >>>>>> >>>>>> [Components] >>>>>> >>>>>> >>>>>> MdeModulePkg/CrScreenshotDxe/CrScreenshotDxe.inf { >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> gEfiMdePkgTokenSpaceGuid.gEfiMdePkgTokenSpaceGuid. >>>> PcdDebugPrintErrorLevel|0x07 >>>>>> >>>>>> gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F >>>>>> >>>>>> gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042 >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> DebugLib|MdePkg/Library/BaseDebugLibSerialPort/ >>>> BaseDebugLibSerialPort.inf >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> GCC:*_*_*_CC_FLAGS =3D -UMDEPKG_NDEBUG >>>>>> >>>>>> } >>>>>> >>>>>> >>>>>> Code (I used it as a base): https://github.com/LongSoft/ >>>> CrScreenshotDxe >>>>>> >>>>>> Where I got wrong and what else could I try to make it work? >>>>>> >>>>> >>>>> _______________________________________________ >>>>> edk2-devel mailing list >>>>> edk2-devel@lists.01.org >>>>> https://lists.01.org/mailman/listinfo/edk2-devel >>>> >>> >>> >>> >> >> -- >> Regards, >> David Van Arnem >> Development Engineer IV >> Computer Measurement Laboratory, LLC >> >> >=20 >=20 --=20 Regards, David Van Arnem Development Engineer IV Computer Measurement Laboratory, LLC