Commit Graph

212 Commits

Author SHA1 Message Date
Conghui Chen
af0b16e1a8 DOC: change hv shell cmd sos_console to vm_console
Change shell command 'sos_console' to 'vm_console' as it is not only
used to switch console to SOS.

Tracked-On: #2987
Signed-off-by: Conghui Chen <conghui.chen@intel.com>
2019-04-29 15:14:59 -07:00
Shiqing Gao
080d1f76a9 doc: rename rules ID in C coding guidelines
This patch renames rules ID to reflect the language, in order
to support multiple programming languages.

Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
2019-04-29 14:29:34 -07:00
Sainath Grandhi
9214c84600 hv: Rename NORMAL_VM to POST_LAUNCHED_VM
The name NORMAL_VM does not clearly reflect the attribute that these VMs
are launched "later". POST_LAUNCHED_VM is closer to the fact
that these VMs are launched "later" by one of the VMs launched by ACRN.

Tracked-On: #3034
Signed-off-by: Sainath Grandhi <sainath.grandhi@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
2019-04-29 09:19:51 +08:00
Conghui Chen
307d348721 DOC: remove PARTITION_MODE related content
Update the document as the PARTITION_MODE is removed from the code.

Signed-off-by: Conghui Chen <conghui.chen@intel.com>
2019-04-26 17:06:39 +08:00
Shiqing Gao
51068eccd0 doc: re-organize coding guidelines
This patch re-organizes ACRN coding guidelines to support
language-specific guidelines.

Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
2019-04-25 19:45:43 -07:00
Li, Fei1
0c347e607a hv: vlapic: wrap APICv check pending delivery interrupt
When in fully APICv mode, we enable VID. All pending delivery interrupts
will inject to VM before VM entry. So there is no pending delivery interrupt.
However, if VID is not enabled, we can only inject pending delivery interrupt
one by one. So we always need to do this check.

Tracked-On: #1842
Signed-off-by: Li, Fei1 <fei1.li@intel.com>
2019-04-23 15:16:56 +08:00
Li, Fei1
037fffc203 hv: vlapic: wrap APICv inject interrupt API
apicv_advanced_inject_intr is used if APICv fully features are supported,
it uses PIR to inject interrupt. otherwise, apicv_basic_inject_intr is used.
it will use VMCS INTR INFO field to inject irq.

Tracked-On: #1842
Signed-off-by: Li, Fei1 <fei1.li@intel.com>
2019-04-23 15:16:56 +08:00
Zide Chen
a3207b2bc2 hv: allocate vpid based on vm_id and vcpu_id mapping
Currently vpid is not released in reset_vcpu() hence the vpid resource
could be exhausted easily if guests are re-launched.

This patch assigns vpid according to the fixed mapping of runtime vm_id
and vcpu_id to guarantee the uniqueness of vpid.

Tracked-On: #2700
Signed-off-by: Zide Chen <zide.chen@intel.com>
Signed-off-by: Sainath Grandhi <sainath.grandhi@intel.com>
Acked-by: Anthony Xu <anthony.xu@intel.com>
2019-04-22 19:57:28 +08:00
Shiqing Gao
3e19d62b9c doc: update coding guidelines
This patch updates some rules in coding guidelines.

Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
2019-04-18 05:26:10 -07:00
Sainath Grandhi
824caf8ce0 hv: Remove need for init_fallback_iommu_domain and fallback_iommu_domain
In the presence of SOS, ACRN uses fallback_iommu_domain which is the same
used by SOS, to assign domain to devices during ACRN init. Also it uses
fallback_iommu_domain when DM requests ACRN to remove device from UOS domain.
This patch changes the design of assign/remove_iommu_device to avoid the
concept of fallback_iommu_domain and its setup. This way ACRN can commonly
treat pre-launched VMs bringup w.r.t. IOMMU domain creation.

Tracked-On: #2965
Signed-off-by: Sainath Grandhi <sainath.grandhi@intel.com>
Reviewed-by: Eddie Dong <eddie.dong@intel.com>
2019-04-17 11:42:36 +08:00
Shiqing Gao
869de39757 hv: rename 'assign_iommu_device' and 'unassign_iommu_device'
- rename 'assign_iommu_device' to 'assign_pt_device'
- rename 'unassign_iommu_device' to 'unassign_pt_device'

Tracked-On: #861
Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
Acked-by: Eddie Dong <eddie.dong@inte.com>
2019-04-15 15:38:01 +08:00
David B. Kinder
e7605fad7d doc: fix misspellings
Fix misspellings missed during regular reviews

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2019-04-11 15:45:41 -07:00
Shiqing Gao
74b5de3f86 doc: add rules in coding guidelines
This patch adds rules in coding guidelines.

Tracked-On: #861
Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
2019-04-09 11:23:24 -07:00
Geoffroy Van Cutsem
435b29af5f doc: update documentation to the latest TAP name (no acrn_ prefix)
Update the documentation, and associated scripts to reflect the fact
that the TAP device used by 'acrn-dm' no longer use the "acrn_" prefix.

Tracked-On: #2509
Signed-off-by: Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com>
2019-04-09 11:21:00 -07:00
Shiqing Gao
3d0992c7bd doc: update rules category in coding guidelines
This patch updates the rules category in coding guidelines.

Move some rules in 'Statements' part to 'Expressions' part and
'Functions' part, which is more reasonable.

No functional change is involved.

Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
2019-04-08 16:03:48 -07:00
Geoffroy Van Cutsem
4cfd952413 doc: re-organize and consolidate ACRN kernel parameters documentation
A few changes to the documents that describe kernel command-line parameters
relevant to ACRN (SOS and UOS):
- Merge two documents into one (with sections)
- Move to the "User Guides" (from the "Developer Guides")
- Update order in the list to make it consistent across sections
- Add missing parameters to the overview list

Signed-off-by: Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com>
2019-04-04 13:38:30 -07:00
Shiqing Gao
1da23415a9 doc: add some rules related to function documentation
This patch adds some rules related to function documentation.

Tracked-On: #1844
Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
2019-04-04 11:47:07 -07:00
David B. Kinder
1e614f5640 doc: add kernel parameters documentation
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2019-04-01 14:39:15 -07:00
Shiqing Gao
79582b996f doc: update software design guidelines
This patch adds the guidelines for 'Module Level
Configuration Design'.

Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
2019-03-30 12:54:55 -04:00
Shiqing Gao
558a178841 doc: update coding guidelines
This patch updates some rules in coding guidelines.

Tracked-On: #861
Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
2019-03-26 23:35:35 -04:00
Shiqing Gao
80dc2c85a5 doc: add some rules related to language extensions
This patch adds some rules related to language extensions.

Tracked-On: #861
Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
2019-03-22 10:15:07 -04:00
Xiangyang Wu
3026a372a1 DOC:Update standard reference of SW design guidelines
For open source, just need to refer FuSa standard instead
of listing concrete fulfillment matrix.

Add related FuSa standard reference and remove related
fulfillment matrix.

V1-->V2:
       Make reference more clear according to David'comments

Signed-off-by: Xiangyang Wu <xiangyang.wu@linux.intel.com>
2019-03-22 10:14:42 -04:00
Shiqing Gao
90b49375e4 doc: add rules related to implementation-specific behaviors
This patch adds some rules related to implementation-specific
behaviors.

Tracked-On: #861
Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
2019-03-19 08:46:19 -04:00
Shiqing Gao
4157b843e5 doc: add some rules related to naming convention
This patch adds some rules related to naming convention.

Tracked-On: #861
Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
2019-03-14 18:05:19 -07:00
David B. Kinder
e9335fcee6 doc: fix utf-8 punctuation, branding, spelling
Fix some stray UTF-8 punctuation and symbol characters, unnecessary
trademark symbols, and some misspellings missed during regular reviews.

Tracked-On: #2712

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2019-03-14 09:13:58 -07:00
Qi Yadong
9e78ad52d9 doc: fix wrong desciption of trusty's memory mapping
Original design is to map trusty's memory to 512G~513G, but GR-MRB platform
does not support memory mapping bigger than 512G. So final implementation
is mapping trusty's memory to 511G~512G.

This patch update the documentation with latest implementation.

Tracked-On: #2742
Signed-off-by: Qi Yadong <yadong.qi@intel.com>
2019-03-14 09:10:39 -07:00
Shiqing Gao
31f04e1a7b doc: fix typos in coding guidelines
This patch fixes typos in coding guidelines.

Tracked-On: #2711
Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
2019-03-10 21:39:55 -07:00
Shiqing Gao
18b619da4d doc: add the doc for 'Error Detection and Handling'
This patch adds the doc for 'Error Detection and Handling'.

Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
2019-03-07 22:12:10 -08:00
Shiqing Gao
72fbc7e79f doc: add some comments for coding guidelines
This patch adds some comments for coding guidelines.

Tracked-On: #861
Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
2019-03-07 22:05:05 -08:00
David B. Kinder
ff9ef2a19d doc: fix broken external links
Found some broken links to external sites in the documentation.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2019-03-07 15:52:39 -08:00
Shiqing Gao
85b3ed3e8d doc: update the format in coding style part
This patch updates the format in coding style part.

Tracked-On: #861
Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
2019-03-07 15:51:19 -08:00
Mingqiang Chi
55f52978db hv:move several tsc APIs to timer.c
-- change 'tsc_khz' to static
-- move these APIs from rtl.h to timer.c
   us_to_ticks()
   ticks_to_us()
   ticks_to_ms()
   rdtsc()

Tracked-On: #1842
Signed-off-by: Mingqiang Chi <mingqiang.chi@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
2019-03-07 20:23:22 +08:00
Shiqing Gao
bc107105f8 doc: fix the typo related to tab
This patch fixes the typo related to tab.

Tracked-On: #861
Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
2019-03-01 08:36:00 -08:00
David B. Kinder
8c3cfe62aa doc: add VBSK overhead analysis doc
Add a new developer guide describing VBSK overhead analysis.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2019-02-28 20:25:19 -08:00
Shiqing Gao
30159d5b28 doc: add some rules related to coding style
This patch adds some rules related to coding style.

Tracked-On: #861
Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
2019-02-28 20:01:01 -08:00
David B. Kinder
32a7b4f179 doc: add IOC virtualization HLD
Convert and edit IOC virtualization doc to add to ACRN documentation.
Add a note that IOC virtualization is not supported on the NUC or UP2
platforms.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2019-02-28 11:55:32 -08:00
David B. Kinder
ae34fdd843 doc: fix misspellings
Fix misspellings missed during regular reviews.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2019-02-27 13:45:45 -08:00
Li, Fei1
987ddafa6b hv: vlapic: refine apicv_post_intr to internal function
Rename vlapic_post_intr to apicv_post_intr and move it to internal function
since it's only used in vlaic.c.

Tracked-On: #1842
Signed-off-by: Li, Fei1 <fei1.li@intel.com>
Acked-by: Anthony Xu <anthony.xu@intel.com>
2019-02-25 14:17:27 +08:00
Shiqing Gao
ea66747e33 doc: add more rules in coding guidelines
This patch adds more rules in coding guidelines.

Tracked-On: #861
Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
2019-02-14 21:31:02 -08:00
Arindam Roy
de8d85753e HV: Modularize vtd.c to remove acrn_vm usage
This patch is a modified one. It removes the usage
of acrn_vm struct from inside vtd.c.
It also puts struct iommu_domain inside vtd.h,
from vtd.c.
It modifies the signature of init_iommu_domain
in order to remove dependency on acrn_vm from
inside vtd.c.
Incorporated comments from Jason and Eddie.
Changed the name of sos_vm_domain to
fallback_iommu_domain
Removed any reference of sos_vm from vtd.[c|h]
files, including comments.

Tracked-On: #2496
Signed-off-by: Arindam Roy <arindam.roy@intel.com>
Reviewed-by: Jason Chen CJ <jason.cj.chen@intel.com>
2019-02-06 08:53:46 +08:00
Li, Fei1
ce19dd423e hv: vlapic: make vlapic deliver interrupt related functions more readable
Rename vlapic_deliver_intr to vlapic_receive_intr: ioapic/msi device
deliver an interrupt to lapic.
Rename vlapic_pending_intr to vlapic_find_deliverable_intr: find a
deliverable interrupt which pending in irr and its priority large than ppr.
Rename vlapic_intr_accepted to vlapic_get_deliverable_intr: get the deliverable
interrupt from irr and set it in isr (which also raise ppr update)

Tracked-On: #1842
Signed-off-by: Li, Fei1 <fei1.li@intel.com>
2019-02-02 09:31:49 +08:00
Victor Sun
a01c3cb913 doc: change term of vm0 to sos_vm
Using term of VM0 would mislead to a VM with VM id 0 easily, whereas
VM id 0 could be used for any PRE_LAUNCHED_VM. So replace VM0 with
SOS_VM.

Signed-off-by: Victor Sun <victor.sun@intel.com>
2019-01-30 17:14:26 -08:00
David B. Kinder
0881bae738 doc: fix correct use of Clear Linux OS
Proper use of the Clear Linux name is with a noun, specifically "OS".
Also fixed some grammar edits along the way.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2019-01-30 15:17:33 -08:00
Shiqing Gao
fc887eade4 doc: update coding guidelines
- update and add some rules in coding guidelines

Tracked-On: #861
Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
2019-01-30 10:48:15 -08:00
Yan, Like
72faca5068 doc: update documents for "--lapic_pt" feature
- added description of lapic pt feature based on vlapic in HLD virt-interrupt part;
- updated the doc to include description of new acrn-dm option "--lapic_pt".

Tracked-On: #2351
Signed-off-by: Yan, Like <like.yan@intel.com>
Acked-by: Anthony Xu <anthony.xu@intel.com>
2019-01-30 10:45:57 -08:00
Shiqing Gao
d0c9fce72d doc: add more rules in coding guidelines
This patch adds more rules in coding guidelines.

Tracked-On: #861
Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
2019-01-23 11:57:10 -08:00
Jason Chen CJ
15030f6f2c io_emul: reshuffle io emulation path
This is the following patch after removing pending_pre_work, it make sure
all io emulation is done on its own cpu.

For hv emulated request, it follows the steps:
	hv_emulate_pio->emulate_pio_complete
	hv_emulate_mmio->emulate_mmio_complete

For dm emulated request, it follows the steps:
	acrn_insert_request->dm_emulate_io_complete
while in acrn_insert_request, it could trigger scheduling out then resume by
hcall_notify_ioreq_finish, or busy wait for ioreq completion if polling mode
is enabled.

Tracked-On: #2394
Signed-off-by: Jason Chen CJ <jason.cj.chen@intel.com>
Acked-by: Xu, Anthony <anthony.xu@intel.com>
2019-01-23 16:21:17 +08:00
Victor Sun
49e6deaf26 HV: rename the term of vm0 to sos vm
Under sharing mode, VM0 is identical with SOS VM. But the coupling of
SOS VM and VM 0 is not friendly for partition mode.

This patch is a pure term change of vm0 to sos VM, it does not change
any code logic or senmantic.

Tracked-On: #2291

Signed-off-by: Victor Sun <victor.sun@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
2019-01-21 18:03:31 +08:00
Mingqiang Chi
55e5ed2e1a hv:move ept violation handler to io_emul.c
move this api from ept.c to io_emul.c to avoid
reverse dependency.

Tracked-On: #1842
Signed-off-by: Mingqiang Chi <mingqiang.chi@intel.com>
Reviewed-by: Jason Chen CJ <jason.cj.chen@intel.com>
Reviewed-by: Eddie Dong <eddie.dong@intel.com>
2019-01-21 13:49:54 +08:00
Mingqiang Chi
1d98b7012d hv: move 'setup_io_bitmap' to vm.c
move this api from io_emul.c to vm.c to avoid reverse
dependency

Tracked-On: #1842
Signed-off-by: Mingqiang Chi <mingqiang.chi@intel.com>
Reviewed-by: Jason Chen CJ <jason.cj.chen@intel.com>
Reviewed-by: Eddie Dong <eddie.dong@intel.com>
2019-01-21 13:49:54 +08:00
Geoffroy Van Cutsem
c11090215d Update doc/developer-guides/GVT-g-kernel-options.rst
Co-Authored-By: dbkinder <david.b.kinder@intel.com>
2019-01-13 22:56:58 -08:00
Geoffroy Van Cutsem
d998170f17 Update doc/developer-guides/GVT-g-kernel-options.rst
Co-Authored-By: dbkinder <david.b.kinder@intel.com>
2019-01-13 22:56:58 -08:00
David B. Kinder
a6cef1095f doc: add GVT-g kernel options doc
Update developer docs with a new GVT-g kernel options document. Update
existing docs with referenced labels.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2019-01-13 22:56:58 -08:00
Shiqing Gao
fae6cbf194 doc: add more rules in coding guidelines
This patch adds more rules in coding guidelines.

Tracked-On: #861
Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
2019-01-10 21:03:51 -08:00
Shiqing Gao
e2971ebc98 hv: vlapic: code clean-up
* rename `vlapic_set_intr_ready` to `vlapic_accept_intr`
 * replace calling of `vlapic_intr_edge` with `vlapic_set_intr`
 * remove `vlapic_intr_level` and `vlapic_intr_edge`

Tracked-On: #861
Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
2019-01-11 09:44:10 +08:00
Shuang Zheng
79f40a569b Update and complete acrn-dm parameters description
Update and complete `acrn-dm` parameters description in the user guide and HLD

Tracked-On: #2036
Signed-off-by: Shuang Zheng shuang.zheng@intel.com
2019-01-09 16:19:35 -08:00
Mingqiang Chi
7907fef59e hv:Rename several APIs for vpic and vioapic
vpic:
   vpic_set_irq         --> vpic_set_irqline
   vpic_get_irq_trigger --> vpic_get_irqline_trigger_mode
vioapic:
   vioapic_set_irq_nolock --> vioapic_set_irqline_nolock
   vioapic_set_irq        --> vioapic_set_irqline_lock
   vioapic_send_intr      --> vioapic_generate_intr

Tracked-On: #1842
Signed-off-by: Mingqiang Chi <mingqiang.chi@intel.com>
2019-01-08 14:32:20 +08:00
Shiqing Gao
070a56dbc4 doc: rename register_io_emulation_handler
This is a follow-up patch in doc corresponding to the
changes in source code.

Tracked-On: #861
Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
2019-01-08 11:28:13 +08:00
Shiqing Gao
a177d75ed3 doc: initial draft of ACRN coding guidelines
This patch introduces an initial draft of ACRN coding guidelines.

We will update this document gradually to support ACRN achieve
MISRA-C compliance.

Tracked-On: #861
Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
2018-12-26 22:46:46 -08:00
Jason Chen CJ
746fbe147d modulization: move functions related with cpu caps into cpu_caps.c
move cpu caps related functions like capability init/detect/check
in cpu.c & mmu.c into a new file cpu_caps.c

Changes to be committed:
	modified:   developer-guides/hld/hv-memmgt.rst
	modified:   ../hypervisor/Makefile
	modified:   ../hypervisor/arch/x86/cpu.c
	new file:   ../hypervisor/arch/x86/cpu_caps.c
	modified:   ../hypervisor/arch/x86/mmu.c
	modified:   ../hypervisor/arch/x86/vmx_asm.S
	modified:   ../hypervisor/include/arch/x86/cpu.h
	new file:   ../hypervisor/include/arch/x86/cpu_caps.h
	modified:   ../hypervisor/include/arch/x86/guest/vm.h
	modified:   ../hypervisor/include/arch/x86/mmu.h
	modified:   ../hypervisor/include/arch/x86/vmcs.h

Tracked-On: #1842
Signed-off-by: Jason Chen CJ <jason.cj.chen@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
2018-12-19 09:07:14 +08:00
Jason Chen CJ
59e3f562b8 remove check_tsc
there is no need to clear CR4.TSD as there is no user mode
in ACRN hypervisor.

Tracked-On: #1842
Signed-off-by: Jason Chen CJ <jason.cj.chen@intel.com>
2018-12-17 14:31:52 +08:00
David B. Kinder
117b71e6af doc: add partition mode hld
Partition mode HLD content added to hypervisor hld.
Add target links in referenced docs.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-12-15 10:35:38 -08:00
Zide Chen
c89d6e6526 modularization: clean up namings in vMTRR module
- rename 3 module interface APIs
  init_mtrr() -> init_vmtrr()
  mtrr_rdmsr -> read_vmtrr()
  mtrr_wrmsr() -> write_vmtrr()

- follow naming convention for other modules, rename struct mtrr_state
  to struct acrn_vmtrr. And add acrn_vcpu to it.

- because MTRR is x86 architecture specific, move struct acrn_vmtrr to
  struct acrn_vcpu_arch.

Tracked-on: #1842
Signed-off-by: Zide Chen <zide.chen@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
2018-12-14 09:43:06 +08:00
Peter Fang
f5a66e8e20 doc: update OVMF usage for acrn-dm
Tracked-On: #1832
Signed-off-by: Peter Fang <peter.fang@intel.com>
2018-12-13 09:56:09 +08:00
Geoffroy Van Cutsem
21a5b30865 Update add acrn-dm parameter descriptions
Co-Authored-By: dbkinder <david.b.kinder@intel.com>
2018-12-12 08:57:16 -08:00
Geoffroy Van Cutsem
c45300fb54 Update doc/developer-guides/hld/hld-devicemodel.rst
Co-Authored-By: dbkinder <david.b.kinder@intel.com>
2018-12-12 08:57:16 -08:00
Geoffroy Van Cutsem
6d5b769d67 Update doc/developer-guides/hld/hld-devicemodel.rst
Co-Authored-By: dbkinder <david.b.kinder@intel.com>
2018-12-12 08:57:16 -08:00
Geoffroy Van Cutsem
5998f434bc Update doc/developer-guides/hld/hld-devicemodel.rst
Co-Authored-By: dbkinder <david.b.kinder@intel.com>
2018-12-12 08:57:16 -08:00
Geoffroy Van Cutsem
c607aedff4 Update doc/developer-guides/hld/hld-devicemodel.rst
Co-Authored-By: dbkinder <david.b.kinder@intel.com>
2018-12-12 08:57:16 -08:00
Geoffroy Van Cutsem
ba79b21860 Update doc/developer-guides/hld/hld-devicemodel.rst
Co-Authored-By: dbkinder <david.b.kinder@intel.com>
2018-12-12 08:57:16 -08:00
Geoffroy Van Cutsem
4ab193cf6c Update doc/developer-guides/hld/hld-devicemodel.rst
Co-Authored-By: dbkinder <david.b.kinder@intel.com>
2018-12-12 08:57:16 -08:00
Geoffroy Van Cutsem
1c70f812a0 Update doc/developer-guides/hld/hld-devicemodel.rst
Co-Authored-By: dbkinder <david.b.kinder@intel.com>
2018-12-12 08:57:16 -08:00
Geoffroy Van Cutsem
341bf84ced Update doc/developer-guides/hld/hld-devicemodel.rst
Co-Authored-By: dbkinder <david.b.kinder@intel.com>
2018-12-12 08:57:16 -08:00
Geoffroy Van Cutsem
a0708339bc Update doc/developer-guides/hld/hld-devicemodel.rst
Co-Authored-By: dbkinder <david.b.kinder@intel.com>
2018-12-12 08:57:16 -08:00
Geoffroy Van Cutsem
a7be8f731d Update doc/developer-guides/hld/hld-devicemodel.rst
Co-Authored-By: dbkinder <david.b.kinder@intel.com>
2018-12-12 08:57:16 -08:00
Geoffroy Van Cutsem
5aedc8f4aa Update doc/developer-guides/hld/hld-devicemodel.rst
Co-Authored-By: dbkinder <david.b.kinder@intel.com>
2018-12-12 08:57:16 -08:00
Geoffroy Van Cutsem
e7e8ce63f2 Update doc/developer-guides/hld/hld-devicemodel.rst
Co-Authored-By: dbkinder <david.b.kinder@intel.com>
2018-12-12 08:57:16 -08:00
Geoffroy Van Cutsem
2454289400 Update doc/developer-guides/hld/hld-devicemodel.rst
Co-Authored-By: dbkinder <david.b.kinder@intel.com>
2018-12-12 08:57:16 -08:00
Geoffroy Van Cutsem
edd06fe928 Update doc/developer-guides/hld/hld-devicemodel.rst
Co-Authored-By: dbkinder <david.b.kinder@intel.com>
2018-12-12 08:57:16 -08:00
Geoffroy Van Cutsem
1ef6b657fd Update doc/developer-guides/hld/hld-devicemodel.rst
Co-Authored-By: dbkinder <david.b.kinder@intel.com>
2018-12-12 08:57:16 -08:00
Geoffroy Van Cutsem
8b13bf3f7c Update doc/developer-guides/hld/hld-devicemodel.rst
Co-Authored-By: dbkinder <david.b.kinder@intel.com>
2018-12-12 08:57:16 -08:00
Geoffroy Van Cutsem
7446089d80 Update doc/developer-guides/hld/hld-devicemodel.rst
Co-Authored-By: dbkinder <david.b.kinder@intel.com>
2018-12-12 08:57:16 -08:00
Geoffroy Van Cutsem
666c97b0d7 Update doc/developer-guides/hld/hld-devicemodel.rst
Co-Authored-By: dbkinder <david.b.kinder@intel.com>
2018-12-12 08:57:16 -08:00
Geoffroy Van Cutsem
a21c3ca3eb Update doc/developer-guides/hld/hld-devicemodel.rst
Co-Authored-By: dbkinder <david.b.kinder@intel.com>
2018-12-12 08:57:16 -08:00
David B. Kinder
7bcd7054e5 doc: additional DM parameter documentation
Update the device model HLD with additional parameter documentation

Tracked-On: #2021

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-12-12 08:57:16 -08:00
David B. Kinder
fe1ace4f56 doc: fix doc misspellings
Fix documentation misspellings missed during the regular review.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-12-05 17:07:39 -08:00
Li, Fei1
5fd6021dee doc: hv: add comments to timer APIs for documentation
This patch adds more comment to describe functions that are
interfaces to the other modules in the hypervisor. The comments
are in doxygen-style for document generation.

Tracked-On: #1595
Signed-off-by: Li, Fei1 <fei1.li@intel.com>
2018-12-04 15:09:47 +08:00
David B. Kinder
2dbb0cbafc doc: fix citation references in modularity doc
Modularity Design doc had replicated references to citatation docs.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-12-03 21:04:23 -08:00
Junjie Mao
e2a8989ff4 doc: add a document on considerations and current status of hypervisor modularization
To kick off the efforts on modularization, this patch introduces a document
describing the goals and general principles of modular design as well as a brief
introduction on the current status of component/module decomposition.

A detailed assignment of source files to components will be added in the future.

v2 -> v3:

* Expand mailing list address in the doc

v1 -> v2:

* Add more description on complexity measures, cyclic dependency avoidance, and
  the reverse dependency of boot on hypervisor initialzation.
* Fix typos.

Tracked-On: #1842
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
2018-12-03 20:49:28 -08:00
Li, Fei1
a0582c99cf hv: trusty: refine trusty memory region mapping
Now it's using the memory reserve by hypervisor. So there's not
necessaty to map or ummap this region from SOS.

Tracked-On: #1942
Signed-off-by: Li, Fei1 <fei1.li@intel.com>
2018-11-30 16:49:27 +08:00
Mingqiang Chi
5dcfc1336b hv:Rename ptdev to ptirq for some APIs
-- Rename the fowllowing APIs:
  ptdev_intx_pin_remap --> ptirq_intx_pin_remap
  ptdev_msix_remap  --> ptirq_msix_remap
  ptdev_add_intx_remapping --> ptirq_add_intx_remapping
  ptdev_remove_intx_remapping --> ptirq_remove_intx_remapping
  ptdev_add_msix_remapping --> ptirq_add_msix_remapping
  ptdev_remove_msix_remapping --> ptirq_remove_msix_remapping
  ptdev_intx_ack  --> ptirq_intx_ack
  ptdev_lookup_entry_by_sid --> ptirq_lookup_entry_by_sid
  ptdev_lookup_entry_by_vpin --> ptirq_lookup_entry_by_vpin
  ptdev_build_physical_msi --> ptirq_build_physical_msi
  ptdev_build_physical_rte --> ptirq_build_physical_rte
  alloc_entry   --> ptirq_alloc_entry
  release_entry --> ptirq_release_one_entry
  ptdev_activate_entry --> ptirq_activate_entry
  ptdev_deactivate_entry --> ptirq_deactivate_entry
  ptdev_intr_handle_irq --> ptirq_handle_intx
  ptdev_softirq --> ptirq_softirq
  ptdev_enqueue_softirq --> ptirq_enqueue_softirq
  ptdev_dequeue_softirq --> ptirq_dequeue_softirq
  get_vm_ptdev_intr_data --> ptirq_get_intr_data
  alloc_ptdev_entry_id --> ptirq_alloc_entry_id
  ptdev_intr_delay_callback --> ptirq_intr_delay_callback
  ptdev_dequeue_softirq --> ptirq_dequeue_softirq
  ptdev_interrupt_handler --> ptirq_interrupt_handler

-- Merge 'ptdev_release_all_entries' and 'release_all_entries'
   to 'ptirq_release_all_entries'

v2-->v3:
   Rename ptirq_release_one_entry to ptirq_release_entry
v1-->v2:
   still use ptdev_init instead of ptirq_init

Tracked-On: #861
Signed-off-by: Mingqiang Chi <mingqiang.chi@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
2018-11-30 13:27:49 +08:00
Binbin Wu
fe08a44e83 hv: doc: use doxygen-generated API docs in HLD for passthru
This patch adds vtd.h to the input of doxygen and replaces hard-coded API docs
with doxygen-generated ones.

Tracked-On: #1595
Signed-off-by: Binbin Wu <binbin.wu@intel.com>
Reviewed-by: Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com>
2018-11-21 09:27:51 +08:00
Mingqiang Chi
9a009bcef2 hv:Replace dynamic memory with static for mmio
-- Config MAX_EMULATED_MMIO_REGIONS 16 in Kconfig
-- Add emulated mmio array and emulated mmio regions
   in vm structure
-- Remove mmio list in vm structure
-- Remove unregister_mmio_emulation_handler and
   vioapic_cleanup APIs

Tracked-On: #861
Signed-off-by: Mingqiang Chi <mingqiang.chi@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
2018-11-13 11:52:48 +08:00
Geoffroy Van Cutsem
33137dc9fb Documentation: adjust "Tracked-On" capitalization in documentation
Update the capitalization of "Tracked-On" in the documentation.
"Tracked-on" should work but it throws a warning so it's better
to make the documentation focus on using "Tracked-On" only.

Signed-off-by: Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com>
2018-11-12 09:47:57 -08:00
Mingqiang Chi
73530055b6 hv:Replace dynamic memory with static for port io
-- Add emulated port io index
-- Add emulated pio array in vm structure
-- Remove port list in vm structure
-- Remove free_io_emulation_resource/register_io_handler/
   create_io_handler APIs

v2-->v3:
 -- not add 'is_emulated', check len == 0U
 -- Check if io_read/io_write handler is NULL before calling
 -- Replace ENUM with MACRO for emulated pio index to avoid
    MISRA-C violations

v1-->v2:
  -- Remove EMUL_PIO_NUM in Kconfig, add emulated pio index
     for PIC/PCI/UART/RTC/PM

Tracked-On: #861
Signed-off-by: Mingqiang Chi <mingqiang.chi@intel.com>
Reviewed-by: Jason Chen CJ <jason.cj.chen@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
2018-11-09 13:05:04 +08:00
Minggui Cao
ab5572bdb6 doc: explain intr storm monitor params in acrn-dm
add the introduction of interrupt storm monitor params in acrn-dm
commond lines.

Signed-off-by: Minggui Cao <minggui.cao@intel.com>
2018-11-08 16:50:15 -08:00
David B. Kinder
44ce3a664f doc: update HLD Trace/Log
Transcode, edit, and upload HLD 0.7 section 9 (Trace/Log)

Tracked-on: #1738

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-11-06 16:14:49 -08:00
David B. Kinder
27fffb96b9 doc: update HLD Power Management
Transcode, edit, and upload HLD 0.7 section 8 (Power Management)

Tracked-on: #1736

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-11-06 13:51:35 -08:00
David B. Kinder
b3d21683de doc: update HLD VM Management
Transcode, edit, and upload HLD 0.7 section 7 (VM Management)

Tracked-on: #1734

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-11-06 12:23:25 -08:00
David B. Kinder
dfcc06df30 doc: update HLD Virtio Devices
Transcode, edit, and upload HLD 0.7 section 6.5 (Supported Virtio
Devices), merging with existing reviewed content.

Tracked-on: #1732

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-11-06 11:37:29 -08:00