From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from out03.mta.xmission.com (out03.mta.xmission.com [166.70.13.233]) by mx.groups.io with SMTP id smtpd.web11.5142.1587105983155619657 for ; Thu, 16 Apr 2020 23:46:23 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: bsdio.com, ip: 166.70.13.233, mailfrom: rebecca@bsdio.com) Received: from in01.mta.xmission.com ([166.70.13.51]) by out03.mta.xmission.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jPKlY-00029J-3w; Fri, 17 Apr 2020 00:46:20 -0600 Received: from mta4.zcs.xmission.com ([166.70.13.68]) by in01.mta.xmission.com with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.87) (envelope-from ) id 1jPKlV-0000Ds-JO; Fri, 17 Apr 2020 00:46:19 -0600 Received: from localhost (localhost [127.0.0.1]) by mta4.zcs.xmission.com (Postfix) with ESMTP id 4F046500734; Fri, 17 Apr 2020 00:46:17 -0600 (MDT) X-Amavis-Modified: Mail body modified (using disclaimer) - mta4.zcs.xmission.com Received: from mta4.zcs.xmission.com ([127.0.0.1]) by localhost (mta4.zcs.xmission.com [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id KzOgFdfPON8D; Fri, 17 Apr 2020 00:46:17 -0600 (MDT) Received: from [10.0.10.120] (c-174-52-16-57.hsd1.ut.comcast.net [174.52.16.57]) by mta4.zcs.xmission.com (Postfix) with ESMTPSA id DF632500546; Fri, 17 Apr 2020 00:46:16 -0600 (MDT) To: Laszlo Ersek , devel@edk2.groups.io Cc: Jordan Justen , Ard Biesheuvel , "Leif Lindholm (Linaro address)" , Michael Kinney , Andrew Fish References: <66d11e29-504f-f41f-2a6d-e914d061277a@redhat.com> From: "Rebecca Cran" Message-ID: Date: Fri, 17 Apr 2020 00:46:15 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 In-Reply-To: <66d11e29-504f-f41f-2a6d-e914d061277a@redhat.com> X-XM-SPF: eid=1jPKlV-0000Ds-JO;;;mid=;;;hst=in01.mta.xmission.com;;;ip=166.70.13.68;;;frm=rebecca@bsdio.com;;;spf=pass X-SA-Exim-Connect-IP: 166.70.13.68 X-SA-Exim-Mail-From: rebecca@bsdio.com X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on sa04.xmission.com X-Spam-Level: *** X-Spam-Status: No, score=3.8 required=8.0 tests=ALL_TRUSTED,BAYES_50, DCC_CHECK_NEGATIVE,TM2_M_VERY_LONG_WORD,T_TM2_M_HEADER_IN_MSG, T_TooManySym_01,TooManyTo_001,XMNoVowels,XMSubLong,XM_B_Unicode, XM_B_Unsub autolearn=disabled version=3.4.2 X-Spam-Report: * -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP * 0.8 BAYES_50 BODY: Bayes spam probability is 40 to 60% * [score: 0.5000] * 0.3 TooManyTo_001 Multiple "To" Header Recipients 2x (uncommon) * 1.5 XMNoVowels Alpha-numberic number with no vowels * 0.7 XMSubLong Long Subject * 1.0 TM2_M_VERY_LONG_WORD BODY: Very long word (longer than 40 * chars) * 0.0 T_TM2_M_HEADER_IN_MSG BODY: No description available. * 0.0 XM_B_Unicode BODY: Testing for specific types of unicode * -0.0 DCC_CHECK_NEGATIVE Not listed in DCC * [sa04 1397; IP=ok Body=1 Fuz1=1] [Fuz2=1] * 0.5 XM_B_Unsub Unsubscribe in body of email but missing unsubscribe * header * 0.0 T_TooManySym_01 4+ unique symbols in subject X-Spam-DCC: XMission; sa04 1397; IP=ok Body=1 Fuz1=1 Fuz2=1 X-Spam-Combo: ***;Laszlo Ersek , devel@edk2.groups.io X-Spam-Relay-Country: X-Spam-Timing: total 2234 ms - load_scoreonly_sql: 0.05 (0.0%), signal_user_changed: 14 (0.6%), b_tie_ro: 12 (0.5%), parse: 3.6 (0.2%), extract_message_metadata: 71 (3.2%), get_uri_detail_list: 31 (1.4%), tests_pri_-1000: 13 (0.6%), tests_pri_-950: 1.37 (0.1%), tests_pri_-900: 1.10 (0.0%), tests_pri_-90: 578 (25.9%), check_bayes: 539 (24.1%), b_tokenize: 105 (4.7%), b_tok_get_all: 332 (14.9%), b_comp_prob: 8 (0.4%), b_tok_touch_all: 86 (3.8%), b_finish: 1.51 (0.1%), tests_pri_0: 1534 (68.6%), check_dkim_signature: 2.9 (0.1%), check_dkim_adsp: 132 (5.9%), poll_dns_idle: 125 (5.6%), tests_pri_10: 1.92 (0.1%), tests_pri_500: 10 (0.5%), rewrite_mail: 0.00 (0.0%) Subject: Re: [edk2-devel] [PATCH 00/13] BhyvePkg - initial patch series for review X-Spam-Flag: No X-SA-Exim-Version: 4.2.1 (built Thu, 05 May 2016 13:38:54 -0600) X-SA-Exim-Scanned: Yes (on in01.mta.xmission.com) Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Hi Laszlo, I've removed comments from you that I won't have any difficulty with implementing. > (1) Please try to run the BhyvePkg code through the ECC tool, and see if > ECC is OK with the coding style. (In some cases ECC is *way* too strict > in my opinion, so please use common sense, and/or ask for feedback on > the list, with specific code examples and questions.) I'm running into a problem with Ecc against any code: I'm using Ubuntu 19.10, and have copied the output of running it against MdePkg at the end of this email. Does Ecc work with Python 3, or does it still need Python 2? > (2) Regarding platform code correctness, if someone from the bhyve > community can help you and review your code, that's welcome. We've had > fruitful examples for such collaboration, between xen-devel and > edk2-devel subscribers. But, I won't really "insist" on this -- I just > propose it. Peter Grehan, who's agreed to be the reviewer for BhyvePkg, has already reviewed the changes. > If you must (or want to) stick with the 2-clause BSDL, then please list > the components with that license in "Readme.md", near the existent > "exceptions". Unfortunately it's not going to be possible to contact all the original authors who contributed to BhyvePkg, so we'll need to stick with 2-clause BSDL. > So, regarding these two modules, please do create copies of them under > BhyvePkg, add the bhyve special sauce there, and eliminate everything > from them that you do not need on bhyve. Perfect! Peter had concerns about the added complexity of those modules, so it'll be good to have versions that are specific to bhyve. The output of Ecc is as follows: bcran@photon:~/src/uefi/edk2$ Ecc -c ~/src/uefi/edk2/BaseTools/Source/Python/Ecc/config.ini -e ~/src/uefi/edk2/BaseTools/Source/Python/Ecc/exception.xml -t ~/src/uefi/edk2/MdePkg -r MdePkgECC.csv /home/bcran/src/uefi/edk2/BaseTools/Source/Python/Ecc/EccMain.py:409: DeprecationWarning: time.clock has been deprecated in Python 3.3 and will be removed from Python 3.8: use time.perf_counter or time.process_time instead   StartTime = time.clock() 00:37:17, Apr.17 2020 [00:00] Loading ECC configuration ... done Building database for Meta Data File ... Building database for meta data files ... Parsing //home/bcran/src/uefi/edk2/MdePkg/MdePkg.dec Parser... //home/bcran/src/uefi/edk2/MdePkg/MdePkg.dec(2301): warning: Unrecognized section     [UserExtensions.TianoCore."ExtraFiles"] Parsing //home/bcran/src/uefi/edk2/MdePkg/MdePkg.dsc Parsing //home/bcran/src/uefi/edk2/MdePkg/MdePkg.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/MdePkgExtra.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseCpuLib/BaseCpuLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseExtractGuidedSectionLib/BaseExtractGuidedSectionLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseExtractGuidedSectionLib/BaseExtractGuidedSectionLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsicArmVirt.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsicArmVirt.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsicSev.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseLib/BaseLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseLib/BaseLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseMemoryLib/BaseMemoryLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseMemoryLibOptPei/BaseMemoryLibOptPei.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseMemoryLibOptPei/BaseMemoryLibOptPei.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BasePcdLibNull/BasePcdLibNull.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BasePciExpressLib/BasePciExpressLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BasePciLibCf8/BasePciLibCf8.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BasePciSegmentInfoLibNull/BasePciSegmentInfoLibNull.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BasePciSegmentInfoLibNull/BasePciSegmentInfoLibNull.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BasePeCoffExtraActionLibNull/PeCoffExtraActionLibNull.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BasePeCoffLib/BasePeCoffLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BasePostCodeLibDebug/BasePostCodeLibDebug.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BasePostCodeLibDebug/BasePostCodeLibDebug.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BasePostCodeLibPort80/BasePostCodeLibPort80.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BasePostCodeLibPort80/BasePostCodeLibPort80.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BasePrintLib/BasePrintLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BasePrintLib/BasePrintLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseRngLib/BaseRngLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseRngLib/BaseRngLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseRngLibNull/BaseRngLibNull.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseRngLibNull/BaseRngLibNull.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseS3BootScriptLibNull/BaseS3BootScriptLibNull.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseS3BootScriptLibNull/BaseS3BootScriptLibNull.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseS3IoLib/BaseS3IoLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseS3IoLib/BaseS3IoLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseS3PciLib/BaseS3PciLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseS3PciLib/BaseS3PciLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseS3PciSegmentLib/BaseS3PciSegmentLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseS3PciSegmentLib/BaseS3PciSegmentLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseS3SmbusLib/BaseS3SmbusLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseS3SmbusLib/BaseS3SmbusLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseS3StallLib/BaseS3StallLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseS3StallLib/BaseS3StallLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseSmbusLibNull/BaseSmbusLibNull.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseSmbusLibNull/BaseSmbusLibNull.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/BaseUefiDecompressLib/BaseUefiTianoCustomDecompressLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/DxeHobLib/DxeHobLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/DxeHobLib/DxeHobLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/DxeHstiLib/DxeHstiLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/DxeHstiLib/DxeHstiLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/DxeIoLibCpuIo2/DxeIoLibCpuIo2.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/DxeIoLibCpuIo2/DxeIoLibCpuIo2.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/DxePcdLib/DxePcdLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/DxePcdLib/DxePcdLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/DxeRuntimeDebugLibSerialPort/DxeRuntimeDebugLibSerialPort.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/DxeRuntimeDebugLibSerialPort/DxeRuntimeDebugLibSerialPort.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/DxeRuntimePciExpressLib/DxeRuntimePciExpressLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/DxeRuntimePciExpressLib/DxeRuntimePciExpressLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/DxeServicesLib/DxeServicesLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/DxeServicesLib/DxeServicesLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/DxeSmbusLib/DxeSmbusLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/DxeSmbusLib/DxeSmbusLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/MmServicesTableLib/MmServicesTableLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/MmServicesTableLib/MmServicesTableLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/PciSegmentLibSegmentInfo/BasePciSegmentLibSegmentInfo.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/PciSegmentLibSegmentInfo/BasePciSegmentLibSegmentInfo.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/PciSegmentLibSegmentInfo/DxeRuntimePciSegmentLibSegmentInfo.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/PciSegmentLibSegmentInfo/DxeRuntimePciSegmentLibSegmentInfo.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/PeiDxePostCodeLibReportStatusCode/PeiDxePostCodeLibReportStatusCode.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/PeiDxePostCodeLibReportStatusCode/PeiDxePostCodeLibReportStatusCode.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/PeiHobLib/PeiHobLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/PeiHobLib/PeiHobLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/PeiIoLibCpuIo/PeiIoLibCpuIo.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/PeiIoLibCpuIo/PeiIoLibCpuIo.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/PeiMemoryLib/PeiMemoryLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/PeiMemoryLib/PeiMemoryLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/PeiPcdLib/PeiPcdLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/PeiPcdLib/PeiPcdLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/PeiPciLibPciCfg2/PeiPciLibPciCfg2.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/PeiPciLibPciCfg2/PeiPciLibPciCfg2.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/PeiPciSegmentLibPciCfg2/PeiPciSegmentLibPciCfg2.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/PeiPciSegmentLibPciCfg2/PeiPciSegmentLibPciCfg2.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/PeiServicesLib/PeiServicesLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/PeiServicesLib/PeiServicesLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/PeiSmbusLibSmbus2Ppi/PeiSmbusLibSmbus2Ppi.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/PeiSmbusLibSmbus2Ppi/PeiSmbusLibSmbus2Ppi.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/PeimEntryPoint/PeimEntryPoint.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/SmiHandlerProfileLibNull/SmiHandlerProfileLibNull.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/SmiHandlerProfileLibNull/SmiHandlerProfileLibNull.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/SmmIoLib/SmmIoLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/SmmIoLib/SmmIoLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/SmmIoLibSmmCpuIo2/SmmIoLibSmmCpuIo2.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/SmmIoLibSmmCpuIo2/SmmIoLibSmmCpuIo2.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/SmmLibNull/SmmLibNull.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/SmmLibNull/SmmLibNull.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/SmmMemLib/SmmMemLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/SmmMemLib/SmmMemLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/SmmPciExpressLib/SmmPciExpressLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/SmmPciLibPciRootBridgeIo/SmmPciLibPciRootBridgeIo.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/SmmPciLibPciRootBridgeIo/SmmPciLibPciRootBridgeIo.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/SmmPeriodicSmiLib/SmmPeriodicSmiLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/SmmPeriodicSmiLib/SmmPeriodicSmiLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/StandaloneMmDriverEntryPoint/StandaloneMmDriverEntryPoint.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/StandaloneMmDriverEntryPoint/StandaloneMmDriverEntryPoint.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/StandaloneMmServicesTableLib/StandaloneMmServicesTableLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/StandaloneMmServicesTableLib/StandaloneMmServicesTableLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiDebugLibDebugPortProtocol/UefiDebugLibDebugPortProtocol.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiDebugLibDebugPortProtocol/UefiDebugLibDebugPortProtocol.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiDebugLibStdErr/UefiDebugLibStdErr.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiDebugLibStdErr/UefiDebugLibStdErr.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiDevicePathLib/UefiDevicePathLibOptionalDevicePathProtocol.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiDevicePathLib/UefiDevicePathLibOptionalDevicePathProtocol.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLibDevicePathProtocol.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLibDevicePathProtocol.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiLib/UefiLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiLib/UefiLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiMemoryLib/UefiMemoryLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiMemoryLib/UefiMemoryLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiPciLibPciRootBridgeIo/UefiPciLibPciRootBridgeIo.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiPciLibPciRootBridgeIo/UefiPciLibPciRootBridgeIo.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiPciSegmentLibPciRootBridgeIo/UefiPciSegmentLibPciRootBridgeIo.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiPciSegmentLibPciRootBridgeIo/UefiPciSegmentLibPciRootBridgeIo.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiScsiLib/UefiScsiLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiScsiLib/UefiScsiLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiUsbLib/UefiUsbLib.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Library/UefiUsbLib/UefiUsbLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Test/MdePkgHostTest.dsc EccMain.py... /home/bcran/src/uefi/edk2/UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc(9): error 3000: No '!include' allowed in included file         !include UnitTestFrameworkPkg/UnitTestFrameworkPkgTarget.dsc.inc Parsing //home/bcran/src/uefi/edk2/MdePkg/Test/UnitTest/Library/BaseLib/BaseLibUnitTestsHost.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Test/UnitTest/Library/BaseLib/BaseLibUnitTestsUefi.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Test/UnitTest/Library/BaseSafeIntLib/TestBaseSafeIntLib.uni Parsing //home/bcran/src/uefi/edk2/MdePkg/Test/UnitTest/Library/BaseSafeIntLib/TestBaseSafeIntLibDxe.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Test/UnitTest/Library/BaseSafeIntLib/TestBaseSafeIntLibHost.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Test/UnitTest/Library/BaseSafeIntLib/TestBaseSafeIntLibPei.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Test/UnitTest/Library/BaseSafeIntLib/TestBaseSafeIntLibSmm.inf Parsing //home/bcran/src/uefi/edk2/MdePkg/Test/UnitTest/Library/BaseSafeIntLib/TestBaseSafeIntLibUefiShell.inf Building database for meta data files done! Building database for Meta Data File Done! Parsing //home/bcran/src/uefi/edk2/MdePkg/Include/Base.h ANTLR runtime and generated code versions disagree: 4.8!=4.7.1 ANTLR runtime and generated code versions disagree: 4.8!=4.7.1 Traceback (most recent call last):   File "/usr/lib/python3.7/runpy.py", line 193, in _run_module_as_main     "__main__", mod_spec)   File "/usr/lib/python3.7/runpy.py", line 85, in _run_code     exec(code, run_globals)   File "/home/bcran/src/uefi/edk2/BaseTools/Source/Python/Ecc/EccMain.py", line 410, in     Ecc = Ecc()   File "/home/bcran/src/uefi/edk2/BaseTools/Source/Python/Ecc/EccMain.py", line 94, in __init__     self.DetectOnlyScanDirs()   File "/home/bcran/src/uefi/edk2/BaseTools/Source/Python/Ecc/EccMain.py", line 130, in DetectOnlyScanDirs     self.BuildDatabase()   File "/home/bcran/src/uefi/edk2/BaseTools/Source/Python/Ecc/EccMain.py", line 150, in BuildDatabase     c.CollectSourceCodeDataIntoDB(EccGlobalData.gTarget)   File "/home/bcran/src/uefi/edk2/BaseTools/Source/Python/Ecc/c.py", line 526, in CollectSourceCodeDataIntoDB     collector.ParseFile()   File "/home/bcran/src/uefi/edk2/BaseTools/Source/Python/Ecc/CodeFragmentCollector.py", line 513, in ParseFile     parser.translation_unit()   File "/home/bcran/src/uefi/edk2/BaseTools/Source/Python/Ecc/CParser4/CParser.py", line 826, in translation_unit     self.external_declaration()   File "/home/bcran/src/uefi/edk2/BaseTools/Source/Python/Ecc/CParser4/CParser.py", line 931, in external_declaration     self.declaration()   File "/home/bcran/src/uefi/edk2/BaseTools/Source/Python/Ecc/CParser4/CParser.py", line 1239, in declaration     localctx.b = self.declaration_specifiers()   File "/home/bcran/src/uefi/edk2/BaseTools/Source/Python/Ecc/CParser4/CParser.py", line 1158, in declaration_specifiers     self.type_specifier()   File "/home/bcran/src/uefi/edk2/BaseTools/Source/Python/Ecc/CParser4/CParser.py", line 1568, in type_specifier     localctx.s = self.struct_or_union_specifier()   File "/home/bcran/src/uefi/edk2/BaseTools/Source/Python/Ecc/CParser4/CParser.py", line 1721, in struct_or_union_specifier     self.struct_declaration_list()   File "/home/bcran/src/uefi/edk2/BaseTools/Source/Python/Ecc/CParser4/CParser.py", line 1834, in struct_declaration_list     self.struct_declaration()   File "/home/bcran/src/uefi/edk2/BaseTools/Source/Python/Ecc/CParser4/CParser.py", line 1890, in struct_declaration     self.struct_declarator_list()   File "/home/bcran/src/uefi/edk2/BaseTools/Source/Python/Ecc/CParser4/CParser.py", line 2021, in struct_declarator_list     self.struct_declarator()   File "/home/bcran/src/uefi/edk2/BaseTools/Source/Python/Ecc/CParser4/CParser.py", line 2086, in struct_declarator     self.declarator()   File "/home/bcran/src/uefi/edk2/BaseTools/Source/Python/Ecc/CParser4/CParser.py", line 2457, in declarator     self.direct_declarator()   File "/home/bcran/src/uefi/edk2/BaseTools/Source/Python/Ecc/CParser4/CParser.py", line 2532, in direct_declarator     self.declarator_suffix()   File "/home/bcran/src/uefi/edk2/BaseTools/Source/Python/Ecc/CParser4/CParser.py", line 2629, in declarator_suffix     self.constant_expression()   File "/home/bcran/src/uefi/edk2/BaseTools/Source/Python/Ecc/CParser4/CParser.py", line 4542, in constant_expression     self.conditional_expression()   File "/home/bcran/src/uefi/edk2/BaseTools/Source/Python/Ecc/CParser4/CParser.py", line 4760, in conditional_expression     localctx.e = self.logical_or_expression()   File "/home/bcran/src/uefi/edk2/BaseTools/Source/Python/Ecc/CParser4/CParser.py", line 4824, in logical_or_expression     self.logical_and_expression()   File "/home/bcran/src/uefi/edk2/BaseTools/Source/Python/Ecc/CParser4/CParser.py", line 4885, in logical_and_expression     self.inclusive_or_expression()   File "/home/bcran/src/uefi/edk2/BaseTools/Source/Python/Ecc/CParser4/CParser.py", line 4946, in inclusive_or_expression     self.exclusive_or_expression()   File "/home/bcran/src/uefi/edk2/BaseTools/Source/Python/Ecc/CParser4/CParser.py", line 5007, in exclusive_or_expression     self.and_expression()   File "/home/bcran/src/uefi/edk2/BaseTools/Source/Python/Ecc/CParser4/CParser.py", line 5068, in and_expression     self.equality_expression()   File "/home/bcran/src/uefi/edk2/BaseTools/Source/Python/Ecc/CParser4/CParser.py", line 5129, in equality_expression     self.relational_expression()   File "/home/bcran/src/uefi/edk2/BaseTools/Source/Python/Ecc/CParser4/CParser.py", line 5195, in relational_expression     self.shift_expression()   File "/home/bcran/src/uefi/edk2/BaseTools/Source/Python/Ecc/CParser4/CParser.py", line 5261, in shift_expression     self.additive_expression()   File "/home/bcran/src/uefi/edk2/BaseTools/Source/Python/Ecc/CParser4/CParser.py", line 3649, in additive_expression     self.multiplicative_expression()   File "/home/bcran/src/uefi/edk2/BaseTools/Source/Python/Ecc/CParser4/CParser.py", line 3724, in multiplicative_expression     self.cast_expression()   File "/home/bcran/src/uefi/edk2/BaseTools/Source/Python/Ecc/CParser4/CParser.py", line 3824, in cast_expression     self.unary_expression()   File "/home/bcran/src/uefi/edk2/BaseTools/Source/Python/Ecc/CParser4/CParser.py", line 3891, in unary_expression     self.postfix_expression()   File "/home/bcran/src/uefi/edk2/BaseTools/Source/Python/Ecc/CParser4/CParser.py", line 4025, in postfix_expression     self.FuncCallText += (None if localctx.p is None else self._input.getText((localctx.p.start,localctx.p.stop)))   File "/home/bcran/.local/lib/python3.7/site-packages/antlr4/BufferedTokenStream.py", line 286, in getText     if start < 0 or stop < 0 or stop < start: TypeError: '<' not supported between instances of 'tuple' and 'int'