Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp991199pxb; Tue, 9 Feb 2021 19:10:54 -0800 (PST) X-Google-Smtp-Source: ABdhPJzXPfszP3h0aVKeQAmTU1ByK0/wRHgqeD+7cDljlmBwjU4U2i2e8Ss05JC/gqUqxXN2CKQY X-Received: by 2002:a05:6402:10c8:: with SMTP id p8mr1164221edu.144.1612926653852; Tue, 09 Feb 2021 19:10:53 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612926653; cv=none; d=google.com; s=arc-20160816; b=c7Dk2PRlmGNWOsqSXVxgxbZI58RknlAFWbwgIKyfdLzr9FkDZYbWraOU8nT3+porV9 LxhYwuFQFyMbdPr4CiuxvVHTFbmqz669KE1GKfkI9ODUrCGnzANl+8G/cCAaYDzTCQJE 9VIfibxCmVNPUXrJxftuRq/AmJIEy1w4ritTIZgWNPA9LRsC1QvCyKBsilfgvH/eC6zc AelXHQLBPDB7wF3oBCXD71LKjFr3VcS3jC/HVEEOkL3VyIbbVOc6zL7PTMEGPXD+4a5E IcAABRJd2Lw9oOvRGgYAdtzAmh7fkuAO9W7+FU/zmx2mNRxomO1ZjGQSybWilPvvY2JK kjvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :ironport-sdr:ironport-sdr; bh=JmbdsUoFZPblZlwVVRO7e7B/Td3wYgm/qLb04yutLcU=; b=CPdtrK35ike9rxCnY5RdhXV0ul2SAEh86ca7lD7FfNs3g7FuzFGU54gAzRk2tB8ynf CEenNewONof1f0P/slg3z9B98Dh11HG4E9jd5eWa+IorctDATgIOUOVAZ7j4JLp2ZUZw TUMuEwDlhn2rYUEfQH9syFcr4tQBYfpOBdBJPBL4aKiQqbWnLXTj2xaCwn8HW974d6w4 ndnsdcTI9gspf2y9mCD+om++tdp7DlP2C2dZbx8Viy4ypEFRnxG9/yTW+oHhhmGvxkRI XbLLCKEuwL8+fqUPXq5IrGSa49KwqFLOJ3yUiCYA70SohiKBAC3Q1gv6QIMOcJQamn37 xp1Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id t1si443472ejd.359.2021.02.09.19.10.30; Tue, 09 Feb 2021 19:10:53 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231877AbhBIK2E (ORCPT + 99 others); Tue, 9 Feb 2021 05:28:04 -0500 Received: from mga09.intel.com ([134.134.136.24]:34106 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231725AbhBIKTj (ORCPT ); Tue, 9 Feb 2021 05:19:39 -0500 IronPort-SDR: dNkmE8Eyjl9RwoobUve/Ja1o7am2Hyjipna9Q81FnErHtqryca0r1f3K55fDa+IOgWiQUq7Ysn TODQwDFEMXfQ== X-IronPort-AV: E=McAfee;i="6000,8403,9889"; a="182003195" X-IronPort-AV: E=Sophos;i="5.81,164,1610438400"; d="scan'208";a="182003195" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Feb 2021 02:18:53 -0800 IronPort-SDR: He5tAHtoEYXlOqIKbGKquQgstzXgcG1ROVWz9v9pqn8A6af69CKU4SblPxW7wmBhxSO8hR02LI TLfRSOmV1rsA== X-IronPort-AV: E=Sophos;i="5.81,164,1610438400"; d="scan'208";a="396059715" Received: from shuo-intel.sh.intel.com (HELO localhost) ([10.239.154.30]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Feb 2021 02:18:50 -0800 Date: Tue, 9 Feb 2021 18:18:48 +0800 From: Shuo A Liu To: Greg Kroah-Hartman Cc: linux-kernel@vger.kernel.org, x86@kernel.org, "H . Peter Anvin" , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Yu Wang , Reinette Chatre Subject: Re: [PATCH v9 00/18] HSM driver for ACRN hypervisor Message-ID: <20210209101848.GD15601@shuo-intel.sh.intel.com> References: <20210207031040.49576-1-shuo.a.liu@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.8.3 (2017-05-23) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue 9.Feb'21 at 11:00:55 +0100, Greg Kroah-Hartman wrote: >On Sun, Feb 07, 2021 at 11:10:22AM +0800, shuo.a.liu@intel.com wrote: >> From: Shuo Liu >> >> ACRN is a Type 1 reference hypervisor stack, running directly on the bare-metal >> hardware, and is suitable for a variety of IoT and embedded device solutions. >> >> ACRN implements a hybrid VMM architecture, using a privileged Service VM. The >> Service VM manages the system resources (CPU, memory, etc.) and I/O devices of >> User VMs. Multiple User VMs are supported, with each of them running Linux, >> Android OS or Windows. Both Service VM and User VMs are guest VM. >> >> Below figure shows the architecture. >> >> Service VM User VM >> +----------------------------+ | +------------------+ >> | +--------------+ | | | | >> | |ACRN userspace| | | | | >> | +--------------+ | | | | >> |-----------------ioctl------| | | | ... >> |kernel space +----------+ | | | | >> | | HSM | | | | Drivers | >> | +----------+ | | | | >> +--------------------|-------+ | +------------------+ >> +---------------------hypercall----------------------------------------+ >> | ACRN Hypervisor | >> +----------------------------------------------------------------------+ >> | Hardware | >> +----------------------------------------------------------------------+ >> >> There is only one Service VM which could run Linux as OS. >> >> In a typical case, the Service VM will be auto started when ACRN Hypervisor is >> booted. Then the ACRN userspace (an application running in Service VM) could be >> used to start/stop User VMs by communicating with ACRN Hypervisor Service >> Module (HSM). >> >> ACRN Hypervisor Service Module (HSM) is a middle layer that allows the ACRN >> userspace and Service VM OS kernel to communicate with ACRN Hypervisor >> and manage different User VMs. This middle layer provides the following >> functionalities, >> - Issues hypercalls to the hypervisor to manage User VMs: >> * VM/vCPU management >> * Memory management >> * Device passthrough >> * Interrupts injection >> - I/O requests handling from User VMs. >> - Exports ioctl through HSM char device. >> - Exports function calls for other kernel modules >> >> ACRN is focused on embedded system. So it doesn't support some features. >> E.g., >> - ACRN doesn't support VM migration. >> - ACRN doesn't support vCPU migration. >> >> This patch set adds the HSM to the Linux kernel. >> I also added a simple example to launch a small guest (with several instructions >> as payload) on ACRN with demonstration ioctl usage. >> >> The basic ARCN support was merged to upstream already. >> https://lore.kernel.org/lkml/1559108037-18813-3-git-send-email-yakui.zhao@intel.com/ > >Thanks for sticking with this, now merged to my tree. Thanks Greg and all for reviewing this series. A really good Spring Festival gift for ACRN. :) Thanks shuo