From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web09.15539.1621234249299194955 for ; Sun, 16 May 2021 23:50:49 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: jianyong.wu@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 15EF51042; Sun, 16 May 2021 23:50:48 -0700 (PDT) Received: from entos-thunderx2-desktop.shanghai.arm.com (entos-thunderx2-desktop.shanghai.arm.com [10.169.212.208]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id B6DB73F73B; Sun, 16 May 2021 23:50:45 -0700 (PDT) From: "Jianyong Wu" To: devel@edk2.groups.io, lersek@redhat.com, ardb+tianocore@kernel.org, sami.mujawar@arm.com Cc: hao.a.wu@intel.com, justin.he@arm.com, jianyong.wu@arm.com Subject: [PATCH v2 0/5] Enable Cloud Hypervisor support in edk2 Date: Mon, 17 May 2021 14:50:27 +0800 Message-Id: <20210517065032.82423-1-jianyong.wu@arm.com> X-Mailer: git-send-email 2.17.1 Cloud Hypervisor is an open source Virtual Machine Monitor (VMM) that runs on top of KVM. Cloud Hypervisor is implemented in Rust and is based on the rust-vmm crates. See [1] to find more. To support UEFI, Cloud Hypervisor is introduced here. There are three parts to be considered to do this enablements, that is: 1. memory initialization 2. specific ACPI service implementation compared with qemu, there is no device like Fw-cfg, so we has no elegant way to get the RSDP address. A specific ACPI implementation is introduced here. 3. build configuration file This enablement bases on the implentation for qemu so some code is borrowed. [1] https://github.com/cloud-hypervisor/cloud-hypervisor Jianyong Wu (5): ArmVirtPkg: Library: Memory initialization for Cloud Hypervisor MdeMoudlePkg: introduce new PCD for Acpi/rsdp ArmVirtPkg: enable ACPI for cloud hypervisor ArmVirtPkg: Introduce Cloud Hypervisor to edk2 family Maintainers: update Maintainers file as new files/folders created MdeModulePkg/MdeModulePkg.dec | 7 + ArmVirtPkg/ArmVirtCloudHv.dsc | 455 ++++++++++++++++++ ArmVirtPkg/ArmVirtCloudHv.fdf | 292 +++++++++++ .../CloudHvAcpiPlatformDxe.inf | 51 ++ .../CloudHvHasAcpiDtDxe.inf | 43 ++ .../CloudHvVirtMemInfoPeiLib.inf | 47 ++ .../CloudHvAcpiPlatformDxe/CloudHvAcpi.c | 73 +++ .../CloudHvHasAcpiDtDxe.c | 69 +++ .../CloudHvVirtMemInfoLib.c | 94 ++++ .../CloudHvVirtMemInfoPeiLibConstructor.c | 100 ++++ ArmVirtPkg/ArmVirtCloudHvFvMain.fdf.inc | 169 +++++++ Maintainers.txt | 7 + 12 files changed, 1407 insertions(+) create mode 100644 ArmVirtPkg/ArmVirtCloudHv.dsc create mode 100644 ArmVirtPkg/ArmVirtCloudHv.fdf create mode 100644 ArmVirtPkg/CloudHvAcpiPlatformDxe/CloudHvAcpiPlatformDxe.inf create mode 100644 ArmVirtPkg/CloudHvPlatformHasAcpiDtDxe/CloudHvHasAcpiDtDxe.inf create mode 100644 ArmVirtPkg/Library/CloudHvVirtMemInfoLib/CloudHvVirtMemInfoPeiLib.inf create mode 100644 ArmVirtPkg/CloudHvAcpiPlatformDxe/CloudHvAcpi.c create mode 100644 ArmVirtPkg/CloudHvPlatformHasAcpiDtDxe/CloudHvHasAcpiDtDxe.c create mode 100644 ArmVirtPkg/Library/CloudHvVirtMemInfoLib/CloudHvVirtMemInfoLib.c create mode 100644 ArmVirtPkg/Library/CloudHvVirtMemInfoLib/CloudHvVirtMemInfoPeiLibConstructor.c create mode 100644 ArmVirtPkg/ArmVirtCloudHvFvMain.fdf.inc -- 2.17.1