[edk2-devel] [PATCH 00/13] BhyvePkg - initial patch series for review

Rebecca Cran posted 13 patches 4 years ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/edk2 tags/patchew/cover.1586991816.git.rebecca@bsdio.com
BhyvePkg/AcpiTables/AcpiTables.inf            |   47 +
BhyvePkg/AcpiTables/Dsdt.asl                  | 1134 +++++++++++
BhyvePkg/AcpiTables/Facp.aslc                 |   82 +
BhyvePkg/AcpiTables/Facs.aslc                 |   84 +
BhyvePkg/AcpiTables/Hpet.aslc                 |   78 +
BhyvePkg/AcpiTables/Madt.aslc                 |  149 ++
BhyvePkg/AcpiTables/Mcfg.aslc                 |   63 +
BhyvePkg/AcpiTables/Platform.h                |   76 +
BhyvePkg/AcpiTables/Spcr.aslc                 |   69 +
BhyvePkg/AcpiTables/Ssdt.asl                  |   19 +
BhyvePkg/BhyvePkg.dec                         |  176 ++
BhyvePkg/BhyvePkg.fdf.inc                     |   92 +
BhyvePkg/BhyvePkgX64.dsc                      |  862 +++++++++
BhyvePkg/BhyvePkgX64.fdf                      |  529 ++++++
BhyvePkg/BhyveRfbDxe/BhyveRfbDxe.inf          |   76 +
BhyvePkg/BhyveRfbDxe/ComponentName.c          |  205 ++
BhyvePkg/BhyveRfbDxe/Gop.h                    |  153 ++
BhyvePkg/BhyveRfbDxe/GopDriver.c              |  548 ++++++
BhyvePkg/BhyveRfbDxe/GopScreen.c              |  398 ++++
BhyvePkg/BhyveRfbDxe/VbeShim.asm              |  347 ++++
BhyvePkg/BhyveRfbDxe/VbeShim.c                |  263 +++
BhyvePkg/BhyveRfbDxe/VbeShim.h                |  912 +++++++++
BhyvePkg/BhyveRfbDxe/VbeShim.sh               |   85 +
BhyvePkg/DecomprScratchEnd.fdf.inc            |   72 +
BhyvePkg/Include/Library/BhyveFwCtlLib.h      |   52 +
.../Library/BhyveFwCtlLib/BhyveFwCtlLib.c     |  431 +++++
.../Library/BhyveFwCtlLib/BhyveFwCtlLib.inf   |   46 +
.../BhyveFwCtlLibNull/BhyveFwCtlLibNull.c     |   53 +
.../BhyveFwCtlLibNull/BhyveFwCtlLibNull.inf   |   39 +
.../PlatformBootManagerLib/BdsPlatform.c      | 1665 +++++++++++++++++
.../PlatformBootManagerLib/BdsPlatform.h      |  196 ++
.../PlatformBootManagerLib.inf                |   79 +
.../PlatformBootManagerLib/PlatformData.c     |  176 ++
BhyvePkg/License.txt                          |   50 +
BhyvePkg/SmbiosPlatformDxe/Bhyve.c            |   49 +
.../SmbiosPlatformDxe/SmbiosPlatformDxe.c     |  250 +++
.../SmbiosPlatformDxe/SmbiosPlatformDxe.h     |   69 +
.../SmbiosPlatformDxe/SmbiosPlatformDxe.inf   |   59 +
BhyvePkg/VarStore.fdf.inc                     |  122 ++
OvmfPkg/AcpiPlatformDxe/AcpiPlatform.c        |    8 +-
OvmfPkg/AcpiPlatformDxe/AcpiPlatform.h        |    9 +
OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf   |    3 +
.../AcpiPlatformDxe/AcpiPlatformDxeBhyve.inf  |   81 +
OvmfPkg/AcpiPlatformDxe/Bhyve.c               |  138 ++
OvmfPkg/Include/IndustryStandard/Bhyve.h      |   25 +
.../Include/IndustryStandard/LegacyVgaBios.h  |   39 +
OvmfPkg/Include/OvmfPlatforms.h               |    1 +
.../AcpiTimerLib/BaseAcpiTimerLibBhyve.c      |   33 +
.../AcpiTimerLib/BaseAcpiTimerLibBhyve.inf    |   29 +
.../QemuFwCfgLibNull/QemuFwCfgPeiLibNull.inf  |   36 +
.../QemuFwCfgLibNull/QemuFwCfgPeiNull.c       |  107 ++
.../DxeQemuFwCfgS3LibFwCfgNull.inf            |   32 +
.../PeiQemuFwCfgS3LibFwCfgNull.inf            |   39 +
.../QemuFwCfgS3BasePeiNull.c                  |  221 +++
.../QemuFwCfgS3LibNull/QemuFwCfgS3DxeNull.c   |  307 +++
.../QemuFwCfgS3PeiDxeNull.c                   |   31 +
.../QemuFwCfgS3LibNull/QemuFwCfgS3PeiNull.c   |   80 +
.../Library/ResetSystemLib/ResetSystemLib.c   |    6 +
OvmfPkg/OvmfPkgIa32.dsc                       |    1 +
OvmfPkg/OvmfPkgIa32X64.dsc                    |    1 +
OvmfPkg/OvmfPkgX64.dsc                        |    1 +
OvmfPkg/OvmfXen.dsc                           |    1 +
OvmfPkg/PlatformPei/MemDetectBhyve.c          |  631 +++++++
OvmfPkg/PlatformPei/PlatformBhyve.c           |  612 ++++++
OvmfPkg/PlatformPei/PlatformPeiBhyve.inf      |  119 ++
65 files changed, 12443 insertions(+), 3 deletions(-)
create mode 100644 BhyvePkg/AcpiTables/AcpiTables.inf
create mode 100644 BhyvePkg/AcpiTables/Dsdt.asl
create mode 100644 BhyvePkg/AcpiTables/Facp.aslc
create mode 100644 BhyvePkg/AcpiTables/Facs.aslc
create mode 100644 BhyvePkg/AcpiTables/Hpet.aslc
create mode 100644 BhyvePkg/AcpiTables/Madt.aslc
create mode 100644 BhyvePkg/AcpiTables/Mcfg.aslc
create mode 100644 BhyvePkg/AcpiTables/Platform.h
create mode 100644 BhyvePkg/AcpiTables/Spcr.aslc
create mode 100644 BhyvePkg/AcpiTables/Ssdt.asl
create mode 100644 BhyvePkg/BhyvePkg.dec
create mode 100644 BhyvePkg/BhyvePkg.fdf.inc
create mode 100644 BhyvePkg/BhyvePkgX64.dsc
create mode 100644 BhyvePkg/BhyvePkgX64.fdf
create mode 100644 BhyvePkg/BhyveRfbDxe/BhyveRfbDxe.inf
create mode 100644 BhyvePkg/BhyveRfbDxe/ComponentName.c
create mode 100644 BhyvePkg/BhyveRfbDxe/Gop.h
create mode 100644 BhyvePkg/BhyveRfbDxe/GopDriver.c
create mode 100644 BhyvePkg/BhyveRfbDxe/GopScreen.c
create mode 100644 BhyvePkg/BhyveRfbDxe/VbeShim.asm
create mode 100644 BhyvePkg/BhyveRfbDxe/VbeShim.c
create mode 100644 BhyvePkg/BhyveRfbDxe/VbeShim.h
create mode 100644 BhyvePkg/BhyveRfbDxe/VbeShim.sh
create mode 100644 BhyvePkg/DecomprScratchEnd.fdf.inc
create mode 100644 BhyvePkg/Include/Library/BhyveFwCtlLib.h
create mode 100644 BhyvePkg/Library/BhyveFwCtlLib/BhyveFwCtlLib.c
create mode 100644 BhyvePkg/Library/BhyveFwCtlLib/BhyveFwCtlLib.inf
create mode 100644 BhyvePkg/Library/BhyveFwCtlLibNull/BhyveFwCtlLibNull.c
create mode 100644 BhyvePkg/Library/BhyveFwCtlLibNull/BhyveFwCtlLibNull.inf
create mode 100644 BhyvePkg/Library/PlatformBootManagerLib/BdsPlatform.c
create mode 100644 BhyvePkg/Library/PlatformBootManagerLib/BdsPlatform.h
create mode 100644 BhyvePkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
create mode 100644 BhyvePkg/Library/PlatformBootManagerLib/PlatformData.c
create mode 100644 BhyvePkg/License.txt
create mode 100644 BhyvePkg/SmbiosPlatformDxe/Bhyve.c
create mode 100644 BhyvePkg/SmbiosPlatformDxe/SmbiosPlatformDxe.c
create mode 100644 BhyvePkg/SmbiosPlatformDxe/SmbiosPlatformDxe.h
create mode 100644 BhyvePkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
create mode 100644 BhyvePkg/VarStore.fdf.inc
create mode 100644 OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxeBhyve.inf
create mode 100644 OvmfPkg/AcpiPlatformDxe/Bhyve.c
create mode 100644 OvmfPkg/Include/IndustryStandard/Bhyve.h
create mode 100644 OvmfPkg/Library/AcpiTimerLib/BaseAcpiTimerLibBhyve.c
create mode 100644 OvmfPkg/Library/AcpiTimerLib/BaseAcpiTimerLibBhyve.inf
create mode 100644 OvmfPkg/Library/QemuFwCfgLibNull/QemuFwCfgPeiLibNull.inf
create mode 100644 OvmfPkg/Library/QemuFwCfgLibNull/QemuFwCfgPeiNull.c
create mode 100644 OvmfPkg/Library/QemuFwCfgS3LibNull/DxeQemuFwCfgS3LibFwCfgNull.inf
create mode 100644 OvmfPkg/Library/QemuFwCfgS3LibNull/PeiQemuFwCfgS3LibFwCfgNull.inf
create mode 100644 OvmfPkg/Library/QemuFwCfgS3LibNull/QemuFwCfgS3BasePeiNull.c
create mode 100644 OvmfPkg/Library/QemuFwCfgS3LibNull/QemuFwCfgS3DxeNull.c
create mode 100644 OvmfPkg/Library/QemuFwCfgS3LibNull/QemuFwCfgS3PeiDxeNull.c
create mode 100644 OvmfPkg/Library/QemuFwCfgS3LibNull/QemuFwCfgS3PeiNull.c
create mode 100644 OvmfPkg/PlatformPei/MemDetectBhyve.c
create mode 100644 OvmfPkg/PlatformPei/PlatformBhyve.c
create mode 100644 OvmfPkg/PlatformPei/PlatformPeiBhyve.inf
[edk2-devel] [PATCH 00/13] BhyvePkg - initial patch series for review
Posted by Rebecca Cran 4 years ago
This is the bhyve patch series for initial review.
I know there are a few formatting issues, but thought
it might be good to get some feedback to make sure I'm
on the right track with adding this new package/platform.

Signed-off-by: Rebecca Cran <rebecca@bsdio.com>

Rebecca Cran (13):
  OvmfPkg: Add bhyve support into AcpiTimerLib
  OvmfPkg: support powering off bhyve guests
  BhyvePkg: Add BhyveFwCtlLibNull
  OvmfPkg: Add QemuFwCfgS3LibNull
  OvmfPkg: Add VBE2 mode info structure to LegacyVgaBios.h
  OvmfPkg: add QemuFwCfgPeiLibNull
  OvmfPkg: add QemuFwCfgS3LibNull
  Add BhyvePkg, to support the bhyve hypervisor
  OvmfPkg: Add bhyve support to PlatformPei
  OvmfPkg: Add bhyve support to AcpiPlatformDxe
  BhyvePkg: Add InstrincsLib to BhyveFwCtlLib
  BhyvePkg: __attribute__ doesn't exist on MSVC toolchains
  BhyvePkg: fix BhyveSetGraphicsMode call for VS2019 build

 BhyvePkg/AcpiTables/AcpiTables.inf            |   47 +
 BhyvePkg/AcpiTables/Dsdt.asl                  | 1134 +++++++++++
 BhyvePkg/AcpiTables/Facp.aslc                 |   82 +
 BhyvePkg/AcpiTables/Facs.aslc                 |   84 +
 BhyvePkg/AcpiTables/Hpet.aslc                 |   78 +
 BhyvePkg/AcpiTables/Madt.aslc                 |  149 ++
 BhyvePkg/AcpiTables/Mcfg.aslc                 |   63 +
 BhyvePkg/AcpiTables/Platform.h                |   76 +
 BhyvePkg/AcpiTables/Spcr.aslc                 |   69 +
 BhyvePkg/AcpiTables/Ssdt.asl                  |   19 +
 BhyvePkg/BhyvePkg.dec                         |  176 ++
 BhyvePkg/BhyvePkg.fdf.inc                     |   92 +
 BhyvePkg/BhyvePkgX64.dsc                      |  862 +++++++++
 BhyvePkg/BhyvePkgX64.fdf                      |  529 ++++++
 BhyvePkg/BhyveRfbDxe/BhyveRfbDxe.inf          |   76 +
 BhyvePkg/BhyveRfbDxe/ComponentName.c          |  205 ++
 BhyvePkg/BhyveRfbDxe/Gop.h                    |  153 ++
 BhyvePkg/BhyveRfbDxe/GopDriver.c              |  548 ++++++
 BhyvePkg/BhyveRfbDxe/GopScreen.c              |  398 ++++
 BhyvePkg/BhyveRfbDxe/VbeShim.asm              |  347 ++++
 BhyvePkg/BhyveRfbDxe/VbeShim.c                |  263 +++
 BhyvePkg/BhyveRfbDxe/VbeShim.h                |  912 +++++++++
 BhyvePkg/BhyveRfbDxe/VbeShim.sh               |   85 +
 BhyvePkg/DecomprScratchEnd.fdf.inc            |   72 +
 BhyvePkg/Include/Library/BhyveFwCtlLib.h      |   52 +
 .../Library/BhyveFwCtlLib/BhyveFwCtlLib.c     |  431 +++++
 .../Library/BhyveFwCtlLib/BhyveFwCtlLib.inf   |   46 +
 .../BhyveFwCtlLibNull/BhyveFwCtlLibNull.c     |   53 +
 .../BhyveFwCtlLibNull/BhyveFwCtlLibNull.inf   |   39 +
 .../PlatformBootManagerLib/BdsPlatform.c      | 1665 +++++++++++++++++
 .../PlatformBootManagerLib/BdsPlatform.h      |  196 ++
 .../PlatformBootManagerLib.inf                |   79 +
 .../PlatformBootManagerLib/PlatformData.c     |  176 ++
 BhyvePkg/License.txt                          |   50 +
 BhyvePkg/SmbiosPlatformDxe/Bhyve.c            |   49 +
 .../SmbiosPlatformDxe/SmbiosPlatformDxe.c     |  250 +++
 .../SmbiosPlatformDxe/SmbiosPlatformDxe.h     |   69 +
 .../SmbiosPlatformDxe/SmbiosPlatformDxe.inf   |   59 +
 BhyvePkg/VarStore.fdf.inc                     |  122 ++
 OvmfPkg/AcpiPlatformDxe/AcpiPlatform.c        |    8 +-
 OvmfPkg/AcpiPlatformDxe/AcpiPlatform.h        |    9 +
 OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf   |    3 +
 .../AcpiPlatformDxe/AcpiPlatformDxeBhyve.inf  |   81 +
 OvmfPkg/AcpiPlatformDxe/Bhyve.c               |  138 ++
 OvmfPkg/Include/IndustryStandard/Bhyve.h      |   25 +
 .../Include/IndustryStandard/LegacyVgaBios.h  |   39 +
 OvmfPkg/Include/OvmfPlatforms.h               |    1 +
 .../AcpiTimerLib/BaseAcpiTimerLibBhyve.c      |   33 +
 .../AcpiTimerLib/BaseAcpiTimerLibBhyve.inf    |   29 +
 .../QemuFwCfgLibNull/QemuFwCfgPeiLibNull.inf  |   36 +
 .../QemuFwCfgLibNull/QemuFwCfgPeiNull.c       |  107 ++
 .../DxeQemuFwCfgS3LibFwCfgNull.inf            |   32 +
 .../PeiQemuFwCfgS3LibFwCfgNull.inf            |   39 +
 .../QemuFwCfgS3BasePeiNull.c                  |  221 +++
 .../QemuFwCfgS3LibNull/QemuFwCfgS3DxeNull.c   |  307 +++
 .../QemuFwCfgS3PeiDxeNull.c                   |   31 +
 .../QemuFwCfgS3LibNull/QemuFwCfgS3PeiNull.c   |   80 +
 .../Library/ResetSystemLib/ResetSystemLib.c   |    6 +
 OvmfPkg/OvmfPkgIa32.dsc                       |    1 +
 OvmfPkg/OvmfPkgIa32X64.dsc                    |    1 +
 OvmfPkg/OvmfPkgX64.dsc                        |    1 +
 OvmfPkg/OvmfXen.dsc                           |    1 +
 OvmfPkg/PlatformPei/MemDetectBhyve.c          |  631 +++++++
 OvmfPkg/PlatformPei/PlatformBhyve.c           |  612 ++++++
 OvmfPkg/PlatformPei/PlatformPeiBhyve.inf      |  119 ++
 65 files changed, 12443 insertions(+), 3 deletions(-)
 create mode 100644 BhyvePkg/AcpiTables/AcpiTables.inf
 create mode 100644 BhyvePkg/AcpiTables/Dsdt.asl
 create mode 100644 BhyvePkg/AcpiTables/Facp.aslc
 create mode 100644 BhyvePkg/AcpiTables/Facs.aslc
 create mode 100644 BhyvePkg/AcpiTables/Hpet.aslc
 create mode 100644 BhyvePkg/AcpiTables/Madt.aslc
 create mode 100644 BhyvePkg/AcpiTables/Mcfg.aslc
 create mode 100644 BhyvePkg/AcpiTables/Platform.h
 create mode 100644 BhyvePkg/AcpiTables/Spcr.aslc
 create mode 100644 BhyvePkg/AcpiTables/Ssdt.asl
 create mode 100644 BhyvePkg/BhyvePkg.dec
 create mode 100644 BhyvePkg/BhyvePkg.fdf.inc
 create mode 100644 BhyvePkg/BhyvePkgX64.dsc
 create mode 100644 BhyvePkg/BhyvePkgX64.fdf
 create mode 100644 BhyvePkg/BhyveRfbDxe/BhyveRfbDxe.inf
 create mode 100644 BhyvePkg/BhyveRfbDxe/ComponentName.c
 create mode 100644 BhyvePkg/BhyveRfbDxe/Gop.h
 create mode 100644 BhyvePkg/BhyveRfbDxe/GopDriver.c
 create mode 100644 BhyvePkg/BhyveRfbDxe/GopScreen.c
 create mode 100644 BhyvePkg/BhyveRfbDxe/VbeShim.asm
 create mode 100644 BhyvePkg/BhyveRfbDxe/VbeShim.c
 create mode 100644 BhyvePkg/BhyveRfbDxe/VbeShim.h
 create mode 100644 BhyvePkg/BhyveRfbDxe/VbeShim.sh
 create mode 100644 BhyvePkg/DecomprScratchEnd.fdf.inc
 create mode 100644 BhyvePkg/Include/Library/BhyveFwCtlLib.h
 create mode 100644 BhyvePkg/Library/BhyveFwCtlLib/BhyveFwCtlLib.c
 create mode 100644 BhyvePkg/Library/BhyveFwCtlLib/BhyveFwCtlLib.inf
 create mode 100644 BhyvePkg/Library/BhyveFwCtlLibNull/BhyveFwCtlLibNull.c
 create mode 100644 BhyvePkg/Library/BhyveFwCtlLibNull/BhyveFwCtlLibNull.inf
 create mode 100644 BhyvePkg/Library/PlatformBootManagerLib/BdsPlatform.c
 create mode 100644 BhyvePkg/Library/PlatformBootManagerLib/BdsPlatform.h
 create mode 100644 BhyvePkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
 create mode 100644 BhyvePkg/Library/PlatformBootManagerLib/PlatformData.c
 create mode 100644 BhyvePkg/License.txt
 create mode 100644 BhyvePkg/SmbiosPlatformDxe/Bhyve.c
 create mode 100644 BhyvePkg/SmbiosPlatformDxe/SmbiosPlatformDxe.c
 create mode 100644 BhyvePkg/SmbiosPlatformDxe/SmbiosPlatformDxe.h
 create mode 100644 BhyvePkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
 create mode 100644 BhyvePkg/VarStore.fdf.inc
 create mode 100644 OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxeBhyve.inf
 create mode 100644 OvmfPkg/AcpiPlatformDxe/Bhyve.c
 create mode 100644 OvmfPkg/Include/IndustryStandard/Bhyve.h
 create mode 100644 OvmfPkg/Library/AcpiTimerLib/BaseAcpiTimerLibBhyve.c
 create mode 100644 OvmfPkg/Library/AcpiTimerLib/BaseAcpiTimerLibBhyve.inf
 create mode 100644 OvmfPkg/Library/QemuFwCfgLibNull/QemuFwCfgPeiLibNull.inf
 create mode 100644 OvmfPkg/Library/QemuFwCfgLibNull/QemuFwCfgPeiNull.c
 create mode 100644 OvmfPkg/Library/QemuFwCfgS3LibNull/DxeQemuFwCfgS3LibFwCfgNull.inf
 create mode 100644 OvmfPkg/Library/QemuFwCfgS3LibNull/PeiQemuFwCfgS3LibFwCfgNull.inf
 create mode 100644 OvmfPkg/Library/QemuFwCfgS3LibNull/QemuFwCfgS3BasePeiNull.c
 create mode 100644 OvmfPkg/Library/QemuFwCfgS3LibNull/QemuFwCfgS3DxeNull.c
 create mode 100644 OvmfPkg/Library/QemuFwCfgS3LibNull/QemuFwCfgS3PeiDxeNull.c
 create mode 100644 OvmfPkg/Library/QemuFwCfgS3LibNull/QemuFwCfgS3PeiNull.c
 create mode 100644 OvmfPkg/PlatformPei/MemDetectBhyve.c
 create mode 100644 OvmfPkg/PlatformPei/PlatformBhyve.c
 create mode 100644 OvmfPkg/PlatformPei/PlatformPeiBhyve.inf

-- 
2.26.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#57445): https://edk2.groups.io/g/devel/message/57445
Mute This Topic: https://groups.io/mt/73045166/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH 00/13] BhyvePkg - initial patch series for review
Posted by Laszlo Ersek 4 years ago
Hi Rebecca,

On 04/16/20 01:09, Rebecca Cran wrote:
> This is the bhyve patch series for initial review.
> I know there are a few formatting issues, but thought
> it might be good to get some feedback to make sure I'm
> on the right track with adding this new package/platform.

Thanks for posting this early.

First, some rudimentary feedback.

Regarding the BhyvePkg patches, I'm not familiar with the platform, and
I definitely won't have time to review *those* patches, even for general
sanity, or coding style. I recommend / request:

(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.)

(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.

(3) Please use SPDX license tags in the new files, rather than
open-coded license blocks. Reference:
<https://bugzilla.tianocore.org/show_bug.cgi?id=1373>. Note that this
particular request of mine is only formal (it targets the representation
of the licenses, not the license terms themselves).

(4) Furthermore (asking under a separate bullet point), if you can,
please contribute the new files under the "BSD-2-Clause-Patent" license,
not the 2-clause BSDL. (See "# License Details" in "Readme.md", and
again TianoCore#1373.)

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".

(5) Please make sure that the new files use CRLF line terminators
consistently.

(6) Please add a block to "Maintainers.txt" that lists the new package,
and designates you as "M:". It would be nice to have at least an "R:"
person too, e.g. from the *BSD / bhyve communities. (You'll need a
reviewer for your future patches too -- I guess some of the stewards
could alternate and help out with that, but that should be a stop-gap
solution, not the rule. Adding BhyvePkg to edk2 should be justified by
at least two bhyve users stepping up, for reviewing each other's
BhyvePkg patches.)

With the above addressed, I reckon I'm OK with ACKing the BhyvePkg
patches. I hope at least one other steward can approve the BhyvePkg
patches, like that. Obviously feedback and corrections to my above
requests is highly welcome.


Regarding the OvmfPkg patches, I'll go through them (later) with a finer
granularity. In advance, I can already tell you that I wouldn't like
bhyve-oriented changes added to either OvmfPkg/PlatformPei (patch#9) or
to OvmfPkg/AcpiPlatformDxe (patch#10). Both of these modules are already
extremely complex (aka "brittle"), they're super important on QEMU; and
not only am I worried about regressions, but I'm strongly opposed to any
coding restrictions/limitations that bhyve code might present in those
modules for future QEMU features/bugfixes.

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.

These are modules where I definitely opt for razor sharp separation --
and code duplication, if need be --, because both modules are very
tightly coupled with the hypervisor platform, and historically, both
modules have caused *lots* of headache. Xen code in these modules is
already a maintenance problem for me (but the Xen code is thankfully on
its way to its own platform, see TianoCore#2122).

Thanks!
Laszlo


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#57476): https://edk2.groups.io/g/devel/message/57476
Mute This Topic: https://groups.io/mt/73045166/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH 00/13] BhyvePkg - initial patch series for review
Posted by Laszlo Ersek 4 years ago
argh, used the wrong email address for CC'ing Leif. Resending...

On 04/16/20 22:47, Laszlo Ersek wrote:
> Hi Rebecca,
> 
> On 04/16/20 01:09, Rebecca Cran wrote:
>> This is the bhyve patch series for initial review.
>> I know there are a few formatting issues, but thought
>> it might be good to get some feedback to make sure I'm
>> on the right track with adding this new package/platform.
> 
> Thanks for posting this early.
> 
> First, some rudimentary feedback.
> 
> Regarding the BhyvePkg patches, I'm not familiar with the platform, and
> I definitely won't have time to review *those* patches, even for general
> sanity, or coding style. I recommend / request:
> 
> (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.)
> 
> (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.
> 
> (3) Please use SPDX license tags in the new files, rather than
> open-coded license blocks. Reference:
> <https://bugzilla.tianocore.org/show_bug.cgi?id=1373>. Note that this
> particular request of mine is only formal (it targets the representation
> of the licenses, not the license terms themselves).
> 
> (4) Furthermore (asking under a separate bullet point), if you can,
> please contribute the new files under the "BSD-2-Clause-Patent" license,
> not the 2-clause BSDL. (See "# License Details" in "Readme.md", and
> again TianoCore#1373.)
> 
> 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".
> 
> (5) Please make sure that the new files use CRLF line terminators
> consistently.
> 
> (6) Please add a block to "Maintainers.txt" that lists the new package,
> and designates you as "M:". It would be nice to have at least an "R:"
> person too, e.g. from the *BSD / bhyve communities. (You'll need a
> reviewer for your future patches too -- I guess some of the stewards
> could alternate and help out with that, but that should be a stop-gap
> solution, not the rule. Adding BhyvePkg to edk2 should be justified by
> at least two bhyve users stepping up, for reviewing each other's
> BhyvePkg patches.)
> 
> With the above addressed, I reckon I'm OK with ACKing the BhyvePkg
> patches. I hope at least one other steward can approve the BhyvePkg
> patches, like that. Obviously feedback and corrections to my above
> requests is highly welcome.
> 
> 
> Regarding the OvmfPkg patches, I'll go through them (later) with a finer
> granularity. In advance, I can already tell you that I wouldn't like
> bhyve-oriented changes added to either OvmfPkg/PlatformPei (patch#9) or
> to OvmfPkg/AcpiPlatformDxe (patch#10). Both of these modules are already
> extremely complex (aka "brittle"), they're super important on QEMU; and
> not only am I worried about regressions, but I'm strongly opposed to any
> coding restrictions/limitations that bhyve code might present in those
> modules for future QEMU features/bugfixes.
> 
> 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.
> 
> These are modules where I definitely opt for razor sharp separation --
> and code duplication, if need be --, because both modules are very
> tightly coupled with the hypervisor platform, and historically, both
> modules have caused *lots* of headache. Xen code in these modules is
> already a maintenance problem for me (but the Xen code is thankfully on
> its way to its own platform, see TianoCore#2122).
> 
> Thanks!
> Laszlo
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#57479): https://edk2.groups.io/g/devel/message/57479
Mute This Topic: https://groups.io/mt/73045166/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH 00/13] BhyvePkg - initial patch series for review
Posted by Rebecca Cran 4 years ago
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 <module>
     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'



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#57493): https://edk2.groups.io/g/devel/message/57493
Mute This Topic: https://groups.io/mt/73045166/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH 00/13] BhyvePkg - initial patch series for review
Posted by Rebecca Cran 4 years ago
On 4/17/20 12:46 AM, Rebecca Cran wrote:

>
> 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?

Of course, this was the important line:

ANTLR runtime and generated code versions disagree: 4.8!=4.7.1


Running "pip3 install --user antlr4-python3-runtime==4.7.1" fixed the 
problem.


-- 
Rebecca Cran



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#57494): https://edk2.groups.io/g/devel/message/57494
Mute This Topic: https://groups.io/mt/73045166/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH 00/13] BhyvePkg - initial patch series for review
Posted by Laszlo Ersek 4 years ago
On 04/17/20 08:55, Rebecca Cran wrote:
> On 4/17/20 12:46 AM, Rebecca Cran wrote:
> 
>>
>> 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?
> 
> Of course, this was the important line:
> 
> ANTLR runtime and generated code versions disagree: 4.8!=4.7.1
> 
> 
> Running "pip3 install --user antlr4-python3-runtime==4.7.1" fixed the
> problem.

Phew, thanks for figuring that out!
Laszlo


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#57608): https://edk2.groups.io/g/devel/message/57608
Mute This Topic: https://groups.io/mt/73045166/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH 00/13] BhyvePkg - initial patch series for review
Posted by Laszlo Ersek 4 years ago
On 04/17/20 08:46, Rebecca Cran wrote:

>> (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.

That's awesome!

It would be great if Peter could post formal R-b's or A-b's in response
to (some of) the patches on edk2-devel.

Alternatively, you could mention Peter's review somewhere in the commit
messages, in natural language.

Again, not a "hard requirement" from my side, I'd just really appreciate it.

> 
>> 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.

OK! 2-clause BSDL is fine, per "Readme.md":

"""
4. It is preferred that contributions are submitted using the same
   copyright license as the base project. When that is not possible,
   then contributions using the following licenses can be accepted:
   * BSD (2-clause): http://opensource.org/licenses/BSD-2-Clause
"""

Just please use the SPDX identifier format for the 2-clause BSDL, and
also list the (partially) covered subdirs in "# License Details", in the
Readme.md file.

>> 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.

I'm relieved to hear this :)

Thanks!
Laszlo


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#57609): https://edk2.groups.io/g/devel/message/57609
Mute This Topic: https://groups.io/mt/73045166/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH 00/13] BhyvePkg - initial patch series for review
Posted by Rebecca Cran 4 years ago
On 4/20/20 3:57 AM, Laszlo Ersek wrote:

> It would be great if Peter could post formal R-b's or A-b's in response
> to (some of) the patches on edk2-devel.
>
> Alternatively, you could mention Peter's review somewhere in the commit
> messages, in natural language.
>
> Again, not a "hard requirement" from my side, I'd just really appreciate it.

I've cc'd him on the latest v3 patch series, and asked him to give 
formal R-b's.


-- 
Rebecca Cran



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#57751): https://edk2.groups.io/g/devel/message/57751
Mute This Topic: https://groups.io/mt/73045166/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH 00/13] BhyvePkg - initial patch series for review
Posted by Laszlo Ersek 4 years ago
On 04/16/20 22:47, Laszlo Ersek wrote:

> (5) Please make sure that the new files use CRLF line terminators
> consistently.

Indeed I can't apply these patches with git-am, without some manual
hacking. Lines in the patches are terminated with <CR><CR><LF>.

Please run "BaseTools/Scripts/SetupGit.py" in your edk2 clone.

Thanks,
Laszlo


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#57498): https://edk2.groups.io/g/devel/message/57498
Mute This Topic: https://groups.io/mt/73045166/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH 00/13] BhyvePkg - initial patch series for review
Posted by Rebecca Cran 4 years ago
On 4/17/20 1:55 AM, Laszlo Ersek wrote:

> Indeed I can't apply these patches with git-am, without some manual
> hacking. Lines in the patches are terminated with <CR><CR><LF>.
>
> Please run "BaseTools/Scripts/SetupGit.py" in your edk2 clone.

Ugh, sorry I thought I'd fixed that. I'll fix my editors and send 
another version out in the next day or so.


-- 

Rebecca Cran



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#57514): https://edk2.groups.io/g/devel/message/57514
Mute This Topic: https://groups.io/mt/73045166/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-