forked from Minki/linux
c619a804cc
Add documentation on the following aspects of ACRN: 1) A brief introduction on the architecture of ACRN. 2) I/O request handling in ACRN. 3) CPUID functions of ACRN. To learn more about ACRN, please go to ACRN project website https://projectacrn.org, or the documentation page https://projectacrn.github.io/. Cc: Dave Hansen <dave.hansen@intel.com> Cc: Sen Christopherson <sean.j.christopherson@intel.com> Cc: Dan Williams <dan.j.williams@intel.com> Cc: Fengwei Yin <fengwei.yin@intel.com> Cc: Zhi Wang <zhi.a.wang@intel.com> Cc: Zhenyu Wang <zhenyuw@linux.intel.com> Cc: Yu Wang <yu1.wang@intel.com> Cc: Reinette Chatre <reinette.chatre@intel.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Randy Dunlap <rdunlap@infradead.org> Reviewed-by: Zhi Wang <zhi.a.wang@intel.com> Reviewed-by: Reinette Chatre <reinette.chatre@intel.com> Reviewed-by: Borislav Petkov <bp@suse.de> Signed-off-by: Shuo Liu <shuo.a.liu@intel.com> Link: https://lore.kernel.org/r/20210207031040.49576-2-shuo.a.liu@intel.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
47 lines
1.2 KiB
ReStructuredText
47 lines
1.2 KiB
ReStructuredText
.. SPDX-License-Identifier: GPL-2.0
|
|
|
|
===============
|
|
ACRN CPUID bits
|
|
===============
|
|
|
|
A guest VM running on an ACRN hypervisor can check some of its features using
|
|
CPUID.
|
|
|
|
ACRN cpuid functions are:
|
|
|
|
function: 0x40000000
|
|
|
|
returns::
|
|
|
|
eax = 0x40000010
|
|
ebx = 0x4e524341
|
|
ecx = 0x4e524341
|
|
edx = 0x4e524341
|
|
|
|
Note that this value in ebx, ecx and edx corresponds to the string
|
|
"ACRNACRNACRN". The value in eax corresponds to the maximum cpuid function
|
|
present in this leaf, and will be updated if more functions are added in the
|
|
future.
|
|
|
|
function: define ACRN_CPUID_FEATURES (0x40000001)
|
|
|
|
returns::
|
|
|
|
ebx, ecx, edx
|
|
eax = an OR'ed group of (1 << flag)
|
|
|
|
where ``flag`` is defined as below:
|
|
|
|
================================= =========== ================================
|
|
flag value meaning
|
|
================================= =========== ================================
|
|
ACRN_FEATURE_PRIVILEGED_VM 0 guest VM is a privileged VM
|
|
================================= =========== ================================
|
|
|
|
function: 0x40000010
|
|
|
|
returns::
|
|
|
|
ebx, ecx, edx
|
|
eax = (Virtual) TSC frequency in kHz.
|