From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smic.int.bsdio.com (smic.int.bsdio.com [65.103.231.193]) by mx.groups.io with SMTP id smtpd.web12.831.1586992365269337693 for ; Wed, 15 Apr 2020 16:12:45 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=none, err=permanent DNS error (domain: smic.int.bsdio.com, ip: 65.103.231.193, mailfrom: bcran@smic.int.bsdio.com) Received: from smic.int.bsdio.com (localhost [127.0.0.1]) by smic.int.bsdio.com (8.15.2/8.15.2) with ESMTPS id 03FN9t9p025574 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Wed, 15 Apr 2020 17:09:55 -0600 (MDT) (envelope-from bcran@smic.int.bsdio.com) Received: (from bcran@localhost) by smic.int.bsdio.com (8.15.2/8.15.2/Submit) id 03FN9sD9023076; Wed, 15 Apr 2020 17:09:54 -0600 (MDT) (envelope-from bcran) From: "Rebecca Cran" To: devel@edk2.groups.io Cc: Jordan Justen , Laszlo Ersek , Ard Biesheuvel , Rebecca Cran Subject: [PATCH 00/13] BhyvePkg - initial patch series for review Date: Wed, 15 Apr 2020 17:09:26 -0600 Message-Id: X-Mailer: git-send-email 2.26.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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 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