HV:doc:use doxygen-generated API docs in HLD

The patch adds related head files to the input of doxygen and
replaces hard-code API docs with doxygen-generated ones.

v1-->v2:
       Put the 'kerneldoc' back.
V2-->V3:
       Rebase

Tracked-On: #1595
Signed-off-by: Xiangyang Wu <xiangyang.wu@linux.intel.com>
This commit is contained in:
Xiangyang Wu 2018-10-31 11:27:28 +08:00 committed by David Kinder
parent 7c3c6ea442
commit f69dd1c6ea

View File

@ -186,53 +186,23 @@ Interfaces Design
MMU Initialization MMU Initialization
------------------ ------------------
.. list-table:: .. doxygenfunction:: enable_smep
:widths: 50 50 :project: Project ACRN
:header-rows: 1
* - APIs .. doxygenfunction:: enable_paging
- Description :project: Project ACRN
* - void enable_smep(void) .. doxygenfunction:: init_paging
- Supervisor-mode execution prevention (SMEP) enable :project: Project ACRN
* - void enable_paging(uint64_t pml64_base_addr)
- MMU paging enable
* - void init_paging(void)
- MMU page tables initialization
* - uint64_t get_paging_pml4(void)
- Page map level 4 (PML4) table start address getting
Page Allocation
---------------
.. list-table::
:widths: 50 50
:header-rows: 1
* - APIs
- Description
* - void \* alloc_paging_struct(void)
- Allocate one page from memory page pool
Address Space Translation Address Space Translation
------------------------- -------------------------
.. list-table:: .. doxygenfunction:: hpa2hva
:widths: 50 50 :project: Project ACRN
:header-rows: 1
* - APIs .. doxygenfunction:: hva2hpa
- Description :project: Project ACRN
* - HPA2HVA(x)
- Translate host-physical address to host-virtual address
* - HVA2HPA(x)
- Translate host-virtual address to host-physical address
Hypervisor Memory Virtualization Hypervisor Memory Virtualization
@ -448,147 +418,82 @@ Here is a list of major memory related APIs in HV:
EPT/VPID Capability Checking EPT/VPID Capability Checking
---------------------------- ----------------------------
.. list-table:: .. doxygenfunction:: check_vmx_mmu_cap
:widths: 50 50 :project: Project ACRN
:header-rows: 1
* - APIs
- Description
* - int check_vmx_mmu_cap(void)
- EPT and VPID capability checking
1GB Hugepage Supporting Checking
--------------------------------
.. list-table::
:widths: 50 50
:header-rows: 1
* - APIs
- Description
* - bool check_mmu_1gb_support(enum _page_table_type page_table_type)
- 1GB page supporting capability checking
Data Transferring between hypervisor and VM Data Transferring between hypervisor and VM
------------------------------------------- -------------------------------------------
.. list-table:: .. doxygenfunction:: copy_from_gpa
:widths: 50 50 :project: Project ACRN
:header-rows: 1
* - APIs .. doxygenfunction:: copy_to_gpa
- Description :project: Project ACRN
* - int copy_from_gpa(const struct vm \*vm, void \*h_ptr, uint64_t gpa, uint32_t size) .. doxygenfunction:: copy_from_gva
- Copy data from VM GPA space to HV address space :project: Project ACRN
* - int copy_to_gpa(const struct vm \*vm, void \*h_ptr, uint64_t gpa, uint32_t size) .. doxygenfunction:: copy_to_gva
- Copy data from HV address space to VM GPA space :project: Project ACRN
* - int copy_from_gva(struct vcpu \*vcpu, void \*h_ptr, uint64_t gva,
uint32_t size, uint32_t \*err_code, uint64_t \*fault_addr)
- Copy data from VM GVA space to HV address space
* - int copy_to_gva(struct vcpu \*vcpu, void \*h_ptr, uint64_t gva,
uint32_t size, uint32_t \*err_code, uint64_t \*fault_addr)
- Copy data from HV address space to VM GVA space
Address Space Translation Address Space Translation
------------------------- -------------------------
.. list-table:: .. doxygenfunction:: gpa2hpa
:widths: 50 50 :project: Project ACRN
:header-rows: 1
* - APIs .. doxygenfunction:: vm0_hpa2gpa
- Description :project: Project ACRN
* - uint64_t gpa2hpa(const struct vm \*vm, uint64_t gpa) .. doxygenfunction:: check_continuous_hpa
- Translating from guest-physical address to host-physical address :project: Project ACRN
* - uint64_t hpa2gpa(const struct vm \*vm, uint64_t hpa)
- Translating from host-physical address to guest-physical address
* - bool check_continuous_hpa(struct vm \*vm, uint64_t gpa_arg, uint64_t size_arg)
- Host-physical address continuous checking
EPT EPT
--- ---
.. list-table:: .. doxygenfunction:: ept_mr_add
:widths: 50 50 :project: Project ACRN
:header-rows: 1
* - APIs .. doxygenfunction:: ept_mr_del
- Description :project: Project ACRN
* - int ept_mr_add(const struct vm \*vm, uint64_t hpa_arg, uint64_t gpa_arg, .. doxygenfunction:: ept_mr_modify
uint64_t size, uint32_t prot_arg) :project: Project ACRN
- Guest-physical memory region mapping
* - int ept_mr_del(const struct vm \*vm, uint64_t \*pml4_page, uint64_t gpa, .. doxygenfunction:: destroy_ept
uint64_t size) :project: Project ACRN
- Guest-physical memory region unmapping
* - int ept_mr_modify(const struct vm \*vm, uint64_t \*pml4_page, uint64_t gpa, .. doxygenfunction:: invept
uint64_t size, uint64_t prot_set, uint64_t prot_clr) :project: Project ACRN
- Guest-physical memory page access right or memory type updating
* - void destroy_ept(struct vm \*vm) .. doxygenfunction:: ept_violation_vmexit_handler
- EPT page tables destroy :project: Project ACRN
* - void free_ept_mem(void \*pml4_addr) .. doxygenfunction:: ept_misconfig_vmexit_handler
- EPT page tables free :project: Project ACRN
* - void invept(struct vcpu \*vcpu)
- Guest-physical mappings and combined mappings invalidation
* - int ept_violation_vmexit_handler(struct vcpu \*vcpu)
- EPT violation handling
* - int ept_misconfig_vmexit_handler(__unused struct vcpu \*vcpu)
- EPT misconfiguration handling
Virtual MTRR Virtual MTRR
------------ ------------
.. list-table:: .. doxygenfunction:: init_mtrr
:widths: 50 50 :project: Project ACRN
:header-rows: 1
* - APIs .. doxygenfunction:: mtrr_wrmsr
- Description :project: Project ACRN
* - void init_mtrr(struct vcpu \*vcpu) .. doxygenfunction:: mtrr_rdmsr
- Virtual MTRR initialization :project: Project ACRN
* - void mtrr_wrmsr(struct vcpu \*vcpu, uint32_t msr, uint64_t value)
- Virtual MTRR MSR write
* - uint64_t mtrr_rdmsr(struct vcpu \*vcpu, uint32_t msr)
- Virtual MTRR MSR read
VPID VPID
---- ----
.. doxygenfunction:: allocate_vpid
:project: Project ACRN
.. list-table:: .. doxygenfunction:: flush_vpid_single
:widths: 50 50 :project: Project ACRN
:header-rows: 1
* - APIs .. doxygenfunction:: flush_vpid_global
- Description :project: Project ACRN
* - uint16_t allocate_vpid(void)
- VPID allocation
* - void flush_vpid_single(uint16_t vpid)
- Specified VPID flush
* - void flush_vpid_global(void)
- All VPID flush
Service OS Memory Management Service OS Memory Management
**************************** ****************************