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.web11.9084.1624874133710579329 for ; Mon, 28 Jun 2021 02:55:33 -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 4723D1FB; Mon, 28 Jun 2021 02:55:23 -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 349103F694; Mon, 28 Jun 2021 02:55:20 -0700 (PDT) From: "Jianyong Wu" To: devel@edk2.groups.io Cc: lersek@redhat.com, sami.mujawar@arm.com, ardb+tianocore@kernel.org, justin.he@arm.com, jianyong.wu@arm.com Subject: [PATCH v3 0/3] Enable Cloud Hypervisor support in edk2 Date: Mon, 28 Jun 2021 17:55:03 +0800 Message-Id: <20210628095506.36076-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 2 parts to be considered to do this enablement, that is: 1. specific ACPI service implementation compared with qemu, there is no device like Fw-cfg, so we have no elegant way to get the RSDP address. A specific ACPI implementation is introduced here. 2. build configuration file for Cloud Hypervisor Change log: v2 to v3: (1) reuse qemu's memory initialization lib as they are in nearly the same memory laout. (2) split Acpi implemetation into PlatformHasAcpi and InstallAcpiTable. (3) remove lots of dependencies from qemu like "*Fwcfg*" lib. (4) lots of code cleanup work to let it more approach to edk2 code style. [1] https://github.com/cloud-hypervisor/cloud-hypervisor Jianyong Wu (3): Acpi: reimplement PlatformHasAcpi for Cloud Hypervisor Acpi: Install Acpi tables for Cloud hypervisor ArmVirtCloudHv: support Cloud Hypervisor in edk2 ArmVirtPkg/ArmVirtPkg.dec | 6 + ArmVirtPkg/ArmVirtCloudHv.dsc | 397 ++++++++++++++++++ ArmVirtPkg/ArmVirtCloudHv.fdf | 274 ++++++++++++ .../CloudHvAcpiPlatformDxe.inf | 47 +++ .../CloudHvHasAcpiDtDxe.inf | 43 ++ .../CloudHvAcpiPlatformDxe/CloudHvAcpi.c | 140 ++++++ .../CloudHvHasAcpiDtDxe.c | 69 +++ 7 files changed, 976 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/CloudHvAcpiPlatformDxe/CloudHvAcpi.c create mode 100644 ArmVirtPkg/CloudHvPlatformHasAcpiDtDxe/CloudHvHasAcpiDtDxe.c -- 2.17.1