Commit Graph

362 Commits

Author SHA1 Message Date
Amy Reyes 6023388e79 doc: terminology cleanup in IOC virt
- Replace SOS or Service OS with Service VM
- Replace UOS or User OS with User VM
- Clean up some of the grammar

Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-11-11 15:29:34 -08:00
Amy Reyes 33a205c913 doc: terminology cleanup in trusty doc
- Replace SOS or Service OS with Service VM
- Replace UOS or User OS with User VM
- Clean up some of the grammar

Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-11-10 13:09:07 -08:00
Amy Reyes e66d65152c doc: terminology cleanup in What Is ACRN, HLD intro
- Replace UOS or User OS with User VM
- Clean up some of the grammar

Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-11-09 14:01:17 -08:00
David B. Kinder 6ae241d398 doc: fix git clone and misspelling
It's recommended we always use the .git extension when referring to the
git repo when cloning.  Fix that in the GSG.

Also, fix a misspelling in the hld-power-management doc.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2021-11-09 09:55:59 -08:00
Amy Reyes 2ae8a468f9 Update AGL and TME links per feedback
Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-11-08 15:31:41 -08:00
Amy Reyes 812cd3e6de doc: terminology cleanup in HLD security
- Replace SOS or Service OS with Service VM
- Replace UOS or User OS with User VM
- Clean up some of the grammar

Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-11-08 15:31:41 -08:00
Amy Reyes fe6adb606c Updated per feedback
Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-11-08 11:04:00 -08:00
Amy Reyes 47a3912e7c Updated per feedback
Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-11-08 11:04:00 -08:00
Amy Reyes 7ac09dda43 doc: terminology cleanup in HLD overview
- Replace SOS or Service OS with Service VM
- Replace UOS or User OS with User VM
- Replace platform names with link to Support Hardware page
- Clean up some of the grammar

Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-11-08 11:04:00 -08:00
Amy Reyes 2fbe9ccb42 Updated per feedback
Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-11-08 11:02:26 -08:00
Amy Reyes dfe18717ed doc: terminology cleanup in HLD startup
- Replace SOS or Service OS with Service VM
- Replace UOS or User OS with User VM
- Clean up some of the grammar

Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-11-08 11:02:26 -08:00
Amy Reyes a11c4592c3 Updated per feedback
Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-11-08 11:00:30 -08:00
Amy Reyes b662ea1f08 doc: terminology cleanup in HLD virtio
- Replace SOS or Service OS with Service VM
- Replace UOS or User OS with User VM
- Replace VHM with HSM
- Clean up some of the grammar

Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-11-08 11:00:30 -08:00
Amy Reyes 602a380e03 doc: Update VT-d spec link
Publisher of this document confirmed that VT-d spec link should be updated, and the existing link will be EOL.

Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-11-08 10:56:12 -08:00
Liu Long 3f4ea38158 ACRN: misc: Unify terminology for service vm/user vm
Rename SOS_VM type to SERVICE_VM
rename UOS to User VM in XML description
rename uos_thread_pid to user_vm_thread_pid
rename devname_uos to devname_user_vm
rename uosid to user_vmid
rename UOS_ACK to USER_VM_ACK
rename SOS_VM_CONFIG_CPU_AFFINITY to SERVICE_VM_CONFIG_CPU_AFFINITY
rename SOS_COM to SERVICE_VM_COM
rename SOS_UART1_VALID_NUM" to SERVICE_VM_UART1_VALID_NUM
rename SOS_BOOTARGS_DIFF to SERVICE_VM_BOOTARGS_DIFF
rename uos to user_vm in launch script and xml

Tracked-On: #6744
Signed-off-by: Liu Long <long.liu@linux.intel.com>
Reviewed-by: Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com>
2021-11-02 10:00:55 +08:00
Amy Reyes 6d61c2dfff Updated per feedback
Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-10-28 13:32:11 -07:00
Amy Reyes d868f9fece doc: terminology cleanup in hv-vt-d.rst
- Replace SOS with Service VM
- Replace User OS with User VM
- Clean up some of the grammar

Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-10-28 13:32:11 -07:00
Amy Reyes ca32ae7e3d doc: terminology cleanup in hv-dev-passthrough.rst
- Change UOS and SOS to User VM and Service VM, respectively
- Change guest to VM or similar depending on context
- Clean up some of the grammar

Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-10-20 11:00:40 -07:00
David B. Kinder 82853a53e1 doc: more scenario name fixes
Update logical partition to simply partitioned.

Remaining references to logical partition are because the documentation
is validated for releases prior to the scenario renaming.  When those
are updated to be tested with a newer release, we'll update the
documentation accordingly.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2021-10-14 07:54:30 -07:00
Amy Reyes 538d497981 Address review feedback in hld-splitlock.rst
Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-10-11 13:01:50 -07:00
Amy Reyes b9cad70614 doc: Change "configuration tool" to "ACRN configurator tool"
- Change "configuration tool" to "ACRN configurator tool" to match the tool's UI
- Change "configuration toolset" to "ACRN configurator tool" in cases that clearly refer to the configurator and not the entire toolset, update cross-ref

Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-10-11 13:01:50 -07:00
David B. Kinder 8ccb0d3e74 doc: missed one more VHM in images
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2021-09-30 14:18:04 -07:00
David B. Kinder b81153145d doc: update images with VHM to use HSM
Change references to VHM to HSM (Hypervisor Service Module) in images.
While in these files, update SOS (to Service VM) and UOS (to User VM) as
well.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2021-09-30 08:45:46 -07:00
David B. Kinder 824d4a21cb doc: remove unreferenced images
Over time, and after deleting or moving documents around, we've left
behind quite the collection of unreferenced images.  It's time to clean
them out of the doc folders.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2021-09-22 16:29:57 -07:00
David B. Kinder 6d352ba4e6 doc: remove remaining GVT-g documentation
When GVT-g support was removed from ACRN some documentation changes were
missed. Delete the GVT-g HLD docs and the images it used.  Also fix
references in the old release notes so they don't depend on this deleted
document.  (The original release notes are still in the archived release
docs.)

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2021-09-22 16:08:14 -07:00
David B. Kinder 9c1c6b80a5 doc: finish renaming vmh to hsm
Fixed some additional doc references missed in PR #6283

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2021-09-21 11:18:37 -07:00
David B. Kinder 0d03224070 doc: fix mispellings and formatting
* General scan for misspellings, "smart quotes", and formatting errors
  missed during regular review. Also removed used of "please".

* Fix old XML examples that had desc="..." comments. These comments were
  moved to to xsd files instead of being in the XML files themselves.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2021-09-21 10:46:12 -07:00
David B. Kinder 4315ae26b6 doc: updated What is ACRN introduction
* Update and simplify our What is ACRN document.
* Removed SDC disussion and out-of-date best known configuration
  descriptions and scenario block diagrams
* Removed I/O Mediator discussion from "What is ACRN" and move
  referenced label to content in the HLD overview (that was duplicated in
  "What is ACRN")
* Updated images for scenarios and removed obsolete images
* Add references to new overview docs and GSG
* Add general description of VMs in example scenarios

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2021-09-18 15:24:46 -07:00
David B. Kinder 306d624795 doc: Add project CONTRIBUTING repo page
Summarize the ACRN contributing guidelines (fully documented in a
separate document) and add to the top level of our project repo (as
expected by GitHub and our Technical Steering Committee)

Also, tweak the mailing list reference to recommend acrn-users instead
of acrn-dev

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2021-09-17 19:18:34 -07:00
Amy Reyes c9495a827b doc: Remove empty section marked "TBD"
Removed the Porting and Adaptation to Different Platforms section in hv-ioc-virt.rst, because it was blank.

Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-09-13 10:20:40 -07:00
Geoffroy Van Cutsem f45344b6bc doc: fix broken links to network scripts in HLD
Fix broken links in the Virtio-Net HLD that point at the network
scripts in the source code repository.

Tracked-On: #6542
Signed-off-by: Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com>
2021-09-03 10:27:04 -07:00
amyreye f46f712f31 doc: remove hld-vsbl.rst Virtual Slim-Bootloader HLD
Per Nanlin, we don't need this document.

It is blank and never contained content.

Signed-off-by: amyreye <amy.reyes@intel.com>
2021-08-25 17:01:53 -07:00
Liu, Hang1 3964167774 doc:resolve the mismatch between doc and code
Default e820 mem map in hld-devicemodel.rst is
mismatched with sw_load_common.c,update the doc
to align with code.

Signed-off-by: Liu, Hang1 <hang1.liu@intel.com>
2021-08-18 09:15:38 -07:00
Shuo A Liu 7947b4dae8 doc: Adapt documents to new HSM driver
Tracked-On: #6282
Signed-off-by: Shuo A Liu <shuo.a.liu@intel.com>
2021-07-15 11:53:54 +08:00
Shuo A Liu 4c9e9b9e4a doc: Change VHM to HSM in documentations
Mainly do the renaming(VHM->HSM) in the Doc.

Tracked-On: #6282
Signed-off-by: Shuo A Liu <shuo.a.liu@intel.com>
2021-07-15 11:53:54 +08:00
Shuo A Liu 107cae316a hv: dm: Use new ioctl ACRN_IOCTL_SET_VCPU_REGS
struct acrn_set_vcpu_regs	->	struct acrn_vcpu_regs
struct acrn_vcpu_regs		->	struct acrn_regs
IC_SET_VCPU_REGS		->	ACRN_IOCTL_SET_VCPU_REGS

Tracked-On: #6282
Signed-off-by: Shuo A Liu <shuo.a.liu@intel.com>
2021-07-15 11:53:54 +08:00
David B. Kinder 24b555c75d doc: remove doc dependency on kerneldoc and acrn-kernel repo
We no longer need to generate API documentation for the upstreamed
gvt-g kernel additions so we can remove the doc generation dependency on
the acrn-kernel repo (and all use of the kerneldoc extension). We also
remove GVT-g API documentation and porting guide that are obsolete with
ACRN v2.6 and referenced this API documentation.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2021-07-14 18:56:07 -07:00
Kunhui-Li 294f38212e config_tools: clean up the board folders
1. Remove apl-up2, apl-up2-n3350, apl-mrb, nuc6cayh board
   folders from the latest code base.
2. Copy tgl-rvp.xml to generic_board.xml.
3. Update the related documentation because we remove apl-up2,
   apl-up2-n3350, apl-mrb, nuc6cayh board folders.

Tracked-On: #6175

Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
2021-06-20 14:36:34 -07:00
David B. Kinder 9c228dafce doc: clarify doc guidelines
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2021-06-20 14:21:33 -07:00
David B. Kinder ac88793c3b doc: update TCC feature names in hld overview
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2021-06-20 14:17:50 -07:00
David B. Kinder 4ea0d49a74 doc: update doc guidlines for ACRN config options
Explain how ACRN configuration options are documented and generated

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>

Tracked-On: #5911
2021-06-10 19:03:52 -04:00
Liang Yi 400d31916a doc: update timer HLD doc after modularization
Replace rdstc() and get_tsc_khz() with their architectural agnostic
counterparts cpu_ticks() and cpu_tickrate().

Tracked-On: #5920
Signed-off-by: Yi Liang <yi.liang@intel.com>
2021-06-09 17:11:25 -04:00
David B. Kinder 42dc49902b doc: add enabling PTM tutorial and PTM hld discussion
Tracked-On: #5915

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2021-06-09 17:10:34 -04:00
Shuo A Liu 387ea23961 hv: Rename get_ept_entry() to get_eptp()
get_ept_entry() actually returns the EPTP of a VM. So rename it to
get_eptp() for readability.

Tracked-On: #5923
Signed-off-by: Shuo A Liu <shuo.a.liu@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
2021-06-09 10:07:05 +08:00
Peter Fang b068656e71 doc: add documentation for allow_trigger_s5 in pm_notify_channel
Tracked-On: #6034
Signed-off-by: Peter Fang <peter.fang@intel.com>
2021-05-21 12:08:24 -04:00
Benjamin Fitch 2c4249fb96 doc: copy editing in the hld topics
Signed-off-by: Benjamin Fitch <benjamin.fitch@intel.com>
2021-05-20 09:15:35 -07:00
Yonghua Huang 32d6a72ea2 doc: clean legacy software SRAM names
psram is legacy name of SSRAM, rename it to ssram

Signed-off-by: Yonghua Huang <yonghua.huang@intel.com>
2021-05-17 15:34:57 +08:00
Junjie Mao ea4eadf0a5 hv: hypercalls: refactor permission-checking and dispatching logic
The current permission-checking and dispatching mechanism of hypercalls is
not unified because:

  1. Some hypercalls require the exact vCPU initiating the call, while the
     others only need to know the VM.
  2. Different hypercalls have different permission requirements: the
     trusty-related ones are enabled by a guest flag, while the others
     require the initiating VM to be the Service OS.

Without a unified logic it could be hard to scale when more kinds of
hypercalls are added later.

The objectives of this patch are as follows.

  1. All hypercalls have the same prototype and are dispatched by a unified
     logic.
  2. Permissions are checked by a unified logic without consulting the
     hypercall ID.

To achieve the first objective, this patch modifies the type of the first
parameter of hcall_* functions (which are the callbacks implementing the
hypercalls) from `struct acrn_vm *` to `struct acrn_vcpu *`. The
doxygen-style documentations are updated accordingly.

To achieve the second objective, this patch adds to `struct hc_dispatch` a
`permission_flags` field which specifies the guest flags that must ALL be
set for a VM to be able to invoke the hypercall. The default value (which
is 0UL) indicates that this hypercall is for SOS only. Currently only the
`permission_flag` of trusty-related hypercalls have the non-zero value
GUEST_FLAG_SECURE_WORLD_ENABLED.

With `permission_flag`, the permission checking logic of hypercalls is
unified as follows.

  1. General checks
     i. If the VM is neither SOS nor having any guest flag that allows
        certain hypercalls, it gets #UD upon executing the `vmcall`
        instruction.
    ii. If the VM is allowed to execute the `vmcall` instruction, but
        attempts to execute it in ring 1, 2 or 3, the VM gets #GP(0).
  2. Hypercall-specific checks
     i. If the hypercall is for SOS (i.e. `permission_flag` is 0), the
        initiating VM must be SOS and the specified target VM cannot be a
        pre-launched VM. Otherwise the hypercall returns -EINVAL without
        further actions.
    ii. If the hypercall requires certain guest flags, the initiating VM
        must have all the required flags. Otherwise the hypercall returns
        -EINVAL without further actions.
   iii. A hypercall with an unknown hypercall ID makes the hypercall
        returns -EINVAL without further actions.

The logic above is different from the current implementation in the
following aspects.

  1. A pre-launched VM now gets #UD (rather than #GP(0)) when it attempts
     to execute `vmcall` in ring 1, 2 or 3.
  2. A pre-launched VM now gets #UD (rather than the return value -EPERM)
     when it attempts to execute a trusty hypercall in ring 0.
  3. The SOS now gets the return value -EINVAL (rather than -EPERM) when it
     attempts to invoke a trusty hypercall.
  4. A post-launched VM with trusty support now gets the return value
     -EINVAL (rather than #UD) when it attempts to invoke a non-trusty
     hypercall or an invalid hypercall.

v1 -> v2:
 - Update documentation that describe hypercall behavior.
 - Fix Doxygen warnings

Tracked-On: #5924
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
2021-05-12 13:43:41 +08:00
Benjamin Fitch 8c8df1afb9 doc: copy edits in the developer reference
Signed-off-by: Benjamin Fitch <benjamin.fitch@intel.com>
2021-05-10 14:59:26 -07:00
David B. Kinder f596b6df13 doc: tweaks for latexpdf build
Update missing captions on figures to remove remaining broken references
during latexpdf building.  Also, require doing a "make html" before
doing a "make latexpdf" to build all the artifacts needed for running
the latexpdf build.  (We might change that later if needed.)

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2021-04-22 11:12:07 -07:00