Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp3300417ybi; Sun, 26 May 2019 20:02:38 -0700 (PDT) X-Google-Smtp-Source: APXvYqxiHwjNu45X9qnM4FHIopSP7pEjBz+9+JxI6IT7WGPziJACnWJno1kftBnhXxDY7PRP5RTF X-Received: by 2002:a17:90a:ff11:: with SMTP id ce17mr29424679pjb.128.1558926158286; Sun, 26 May 2019 20:02:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1558926158; cv=none; d=google.com; s=arc-20160816; b=BpUTdYCYjDftAk9Pi7k73CutnIUMXap5F48z4sPdQT3YMNnvGlsOzyUDCjJwcTj8WG vNbj7O6GoowbJE+Z2t3mvu5BqVsWInWQBCm9bNnyeJfaVBz3Hxa03W8Plox71cT4LAA8 iy9sDDgXBQKZ1Ueq6Q1wVDCANzdGi/i0qXAvC5FNq7SETXE/rvk7J4P4sY1c9qllRmy5 bAjcGnmwjts3R4dPyqWw1H0z1l0rSJRdITfoSoTziMFmcjuMgrXoB8zPMrJe4JVTP7K6 Sr52zi2rVcZ4XOq56/M8Gv5sIv8tmXPF92PZdPRV4F7O2IMC98PtvQkYAwifbdyvExMW HKAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject; bh=FZSy6IsDdcRSXF9ad+dQW6YWkPtq87s/4+fPPpiQHvc=; b=1FFqoWUu+3QIbxZ46Ukj45B5+1WwfiyFHebsPQdxcsIQMj+gM8iqWjVKKi99LYiquy ses7bj/knaS3aWGgw8BeJQHTwmdwQ73z+zhqi3/tltKZE4Pf2IpXcItcyPCBmS4f1VjM 0wBXj2sJxVcAexHb2KUc1NNsB+jATaMirp7gCXpKHFjstZNd3oTBGXG0gGAdeFnOenTI Zx8yy+sJibWH6o1z78sNKll209cXe8obkXfZ2CaJcRibufWjGedkTBPEH6w5vMy+dEfC auiOY3nNxxQoxZ0CEIeDBraML8olmKDqCQKFYVntfbY/Sqn6SpteqH/MEe6Emuu7bvwk xrCQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 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. [209.132.180.67]) by mx.google.com with ESMTP id h19si16276434pgg.125.2019.05.26.20.02.22; Sun, 26 May 2019 20:02:38 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 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 S1726254AbfE0DAx (ORCPT + 99 others); Sun, 26 May 2019 23:00:53 -0400 Received: from mga18.intel.com ([134.134.136.126]:61440 "EHLO mga18.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725973AbfE0DAx (ORCPT ); Sun, 26 May 2019 23:00:53 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 26 May 2019 20:00:53 -0700 X-ExtLoop1: 1 Received: from genxtest-ykzhao.sh.intel.com (HELO [10.239.143.71]) ([10.239.143.71]) by fmsmga001.fm.intel.com with ESMTP; 26 May 2019 20:00:51 -0700 Subject: Re: [PATCH v6 4/4] x86/acrn: Add hypercall for ACRN guest To: Borislav Petkov Cc: linux-kernel@vger.kernel.org, x86@kernel.org, tglx@linutronix.de, Jason Chen CJ References: <1556595926-17910-1-git-send-email-yakui.zhao@intel.com> <1556595926-17910-5-git-send-email-yakui.zhao@intel.com> <20190515073715.GC24212@zn.tnic> From: "Zhao, Yakui" Message-ID: Date: Mon, 27 May 2019 10:57:09 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: <20190515073715.GC24212@zn.tnic> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2019年05月15日 15:37, Borislav Petkov wrote: > On Tue, Apr 30, 2019 at 11:45:26AM +0800, Zhao Yakui wrote: >> When the ACRN hypervisor is detected, the hypercall is needed so that the >> ACRN guest can query/config some settings. For example: it can be used >> to query the resources in hypervisor and manage the CPU/memory/device/ >> interrupt for guest operating system. >> >> Add the hypercall so that the ACRN guest can communicate with the >> low-level ACRN hypervisor. On x86 it is implemented with the VMCALL >> instruction. >> >> Co-developed-by: Jason Chen CJ >> Signed-off-by: Jason Chen CJ >> Signed-off-by: Zhao Yakui >> Reviewed-by: Thomas Gleixner >> --- >> V1->V2: Refine the comments for the function of acrn_hypercall0/1/2 >> v2->v3: Use the "vmcall" mnemonic to replace hard-code byte definition >> v4->v5: Use _ASM_X86_ACRN_HYPERCALL_H instead of _ASM_X86_ACRNHYPERCALL_H. >> Use the "VMCALL" mnemonic in comment/commit log. >> Uppercase r8/rdi/rsi/rax for hypercall parameter register in comment. >> v5->v6: Remove explicit local register variable for inline assembly >> --- >> arch/x86/include/asm/acrn_hypercall.h | 84 +++++++++++++++++++++++++++++++++++ >> 1 file changed, 84 insertions(+) >> create mode 100644 arch/x86/include/asm/acrn_hypercall.h >> >> diff --git a/arch/x86/include/asm/acrn_hypercall.h b/arch/x86/include/asm/acrn_hypercall.h >> new file mode 100644 >> index 0000000..5cb438e >> --- /dev/null >> +++ b/arch/x86/include/asm/acrn_hypercall.h > > Questions: > > * why isn't this in acrn.h and needs to be a separate header? I refer to the Xen/KVM hypercall to add the ACRN hypercall in one separate header. The ACRN hypercall is defined in one separate acrn_hypercall.h and can be included explicitly by the *.c that needs the hypercall. > > * why aren't those functions used anywhere? The hypercall will be used in driver part. Before the driver part is added, it seems that the defined ACRN hypercall functions are not used. Do I need to add these functions together with driver part? Thanks Yakui >