Commit Graph

95 Commits

Author SHA1 Message Date
David B. Kinder b0deb1b5bd doc: add support for kerneldoc API tools
Some ACRN kernel components are using the API documentation methods of
the Linux kernel.  While they use Sphinx for generating their
documentation, they don't use doxygen to collect the API information as
we do for the rest of the project.  Instead, they use their own tools
called "kerneldoc".  This PR incorporates those tools into our
documentation build process.

There is a prescribed directory structure for this to work: that the
acrn-hypervisor and acrn-kernel repos are cloned to sibling folders,
e.g.:

    projectacrn
       acrn-hypervisor
       acrn-kernel

so that documentation references from acrn_hypervisor/doc can access the
source code in ../../acrn-kernel to do the kerneldoc processing.  A full
display of the kerneldoc API material for a source file in the
acrn-kernel tree can be done using a sphinx extension directive:

    .. kernel-doc:: /tools/virtio/linux/scatterlist.h

where the assumed root of these file references is ../../acrn-kernel.

The format for kerneldoc comments is documented in
https://www.kernel.org/doc/html/latest/doc-guide/kernel-doc.html and
references to kerneldoc API material in .rst files is documented in
https://www.kernel.org/doc/html/latest/doc-guide/kernel-doc.html#including-kernel-doc-comments

Without options, the kernel-doc directive includes all documentation
comments from the source file. With options, you can display subsets of
these comments.

The intention is to limit use of kerneldoc comments to the acrn-kernel
repo and not use them elsewhere within the ACRN project (where doxygen
comments are expected.)

While I'd prefer NOT to include the kerneldoc perl script here (it is
already in the acrn-kernel/sphinx folder), I don't want to create a
dependency on the acrn-kernel folder existing for documentation
generation, but this might be unavoidable once we have part of the API
material coming from there.  We can update this in a later PR.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-07-04 18:26:44 -07:00
David B. Kinder 05d2558f9f doc: move graphviz material to developer-guides
Rather than a "tutorial", it was suggested to move the graphviz
information to the devleoper-guides, along with the documentation
guidelines.  Makes sense.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-07-03 09:48:19 -07:00
Miguel Bernal Marin 5d94e9bbf0 Documentation: fix set up a static IP tutorial
Clear Linux is a stateless system, also systemd.

https://clearlinux.org/features/stateless

This tutorial advice to modify a file in /usr/lib which is used by vendors.
Instead of that, this commit advice to use the local administration
network directory at /etc/systemd/network.

See more reference using:

man systemd.network

Fixes: 25eae47836 ("Documentation: add tutorial to set up a static IP address")
Signed-off-by: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com>
2018-07-03 09:47:23 -07:00
Geoffroy Van Cutsem 25eae47836 Documentation: add tutorial to set up a static IP address
Add a tutorial on how to change the default configuration that
uses DHCP and assign a static IP address to the system.

Signed-off-by: Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com>
2018-06-29 10:48:36 -07:00
Geoffroy Van Cutsem 92d0f3c66b Documentation: fix minor rendering issue in GSG
Fix a minor rendering issue in the Getting Started Guide where a
code-block is not appearing as such.

Signed-off-by: Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com>
2018-06-29 10:43:03 -07:00
David B. Kinder 3965593df6 doc: reorganize documentation
We've been expanding documentation, and now need to organize things a bit
cleaner and separate content into new major folders: Introduction, Getting
Started, User Guides, Developer Guides, Tutorials, and Release notes..

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-06-28 22:36:13 -07:00
Li, Fei1 652e37e908 dm: use hugetlb by default
use hugetlb to set vm memory by default.

Signed-off-by: Li, Fei1 <fei1.li@intel.com>
2018-06-29 13:11:48 +08:00
Geoffroy Van Cutsem 5892b98dbd Getting Started Guide: update build dependencies and tools
Add some basic development tools needed to build the ACRN project.
These were not specifically called out (although most likely
already installed in any development system).

Signed-off-by: Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com>
2018-06-22 08:05:37 -07:00
David B. Kinder 287fc4cb7f doc: add hypervisor kconfig option reference
Modify the Zephyr project script for creating documentation from Kconfig
files to generate the hypervisor option configuration docs. While Zephyr
uses a modified version of kconfiglib, we can use the standard
kconfiglib from Pypi (added to the requirements.txt file).

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-06-15 15:20:43 -07:00
David B. Kinder 37f33fd389 doc: update doc building tools versions
The latest versions of Sphinx and Breathe work well together so we're
updating the requirements.txt installation information (and
documentation) to use the latest versions of these tools.

Fixes: #395
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-06-15 11:58:58 -07:00
Junjie Mao 3d0c6cbc00 doc: add steps for modifying configs and generating defconfigs
This patch adds two sections which describe how configurations can be modified
and how minimized configurations can be generated.

Also switch prerequisite python version from 2 to 3 since menuconfig.py is
python3 only.

v1 -> v2:

    * Add the link to EPEL.
    * Rename minimalconfig to savedefconfig in the guide.
    * Split the step using a defconfig from those generating a defconfig.

Signed-off-by: Junjie Mao <junjie.mao@intel.com>
Acked-by: Anthony Xu <anthony.xu@intel.com>
Acked-by: Geoffroy VanCutsem <geoffroy.vancutsem@intel.com>
2018-06-15 15:50:09 +08:00
Geoffroy Van Cutsem d28d79d776 Documentation build: eliminate warning from doxygen
On some system, the current doxygen configuration file will
generate a warning if CLANG_ASSISTED_PARSING was not enbabled
at compile time.

This is not used but the simple fact it's listed in the
configuration file (turned off) still generates the warning. So
comment out the option altogether to get a clean log output.

Signed-off-by: Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com>
2018-06-15 13:32:08 +08:00
Geoffroy Van Cutsem 2425583c6b Build system: add target to build documentation
This patch adds a new target to build the documentation
from the top-level directory. Here is how to use it (from
the top-level source directory):
   $ make doc
Or
   $ make O=build-test doc

To clean all documentation build artefacts, simply call
   $ make clean
Or
   $ make O=build-test clean

Calling 'make' with no arguments will *not* build the
documentation by default.

Signed-off-by: Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com>
2018-06-15 13:32:08 +08:00
Geoffroy Van Cutsem 0dd3f8dbe6 Documentation Makefile: rename $(O) into $(OPTS)
This patch renames $(O) used in the documentation Makefile
(doc/Makefile) into $(OPTS) in order to avoid a namespace
conflict with $(O) used in the top-level Makefile.

This is in preparation to a new target called 'doc' that will
allow to build the documentation directly from the top-level
Makefile. This is required in order *not* to break setting a
specific build directory, e.g. 'make O=build-test'.

Signed-off-by: Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com>
2018-06-15 13:32:08 +08:00
David B. Kinder a167f44e93 doc: add graphviz installation instructions
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-06-14 16:17:54 -07:00
Tan Shen Joon aead61f2fb update documentation for acrnbridge
This update is to reflect the changes for acrnbridge to start
with systemd-networkd instead of running a script.

Signed-off-by: Tan Shen Joon <shen.joon.tan@intel.com>
2018-06-13 06:59:45 -07:00
David B. Kinder 467e65a268 doc: add some docs about graphviz for drawings
Add some practical examples and pointers to additional information about
using graphviz.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-06-12 11:44:47 -07:00
David B. Kinder 44293a42ab doc: use graphviz for intro boot-flow diagram
Trying out the graphviz capability rather than using static images that
we can't easily modify.  Also updated the site logo that was too wide.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-06-11 13:09:40 -07:00
Junjie Mao ce061d3b32 doc: add python and Kconfiglib as prerequisite development tools
v4 -> v5:

    * No changes.

v3 -> v4:

    * No changes.

v2 -> v3:

    * Update the guide before introducing the actual code.

v1 -> v2:

    * Add guides on installing pip and kconfiglib.

Signed-off-by: Junjie Mao <junjie.mao@intel.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Reviewed-by: Zhao Yakui <yakui.zhao@intel.com>
2018-06-08 17:21:13 +08:00
David B. Kinder d1e281f6eb doc: add graphviz extension
graphviz lets us create graphic images via a text language rather than
creating drawings in other tools (eliminating the need to keep the
sources for the images available, such as a powerpoint file).

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-06-06 15:12:31 -07:00
David B. Kinder ba7b4c7611 doc: adjust known issues pattern
Changes to the nested unnamed unions in type definitions require a tweak
to the pattern matching used to detect known issues reported by the API
doc generation.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-05-30 13:01:48 -07:00
David B. Kinder 50324e5876 doc: fix tools docs formatting and clarity
This continues the editing from PR #276 with formatting and clarity
edits to have these tool documents blend in with the rest of the ACRN
documentation.  It also builds on PR #307 that set up the doc build
infrastructure to allow leaving these tool docs within the tools/
folder.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-05-30 10:36:31 -07:00
David B. Kinder adcfe03482 doc: tweak to GSG to fix code-block
Sphinx was complaining about a missing argument, and fixed some trailing
spaces.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-05-30 06:26:18 -07:00
Geoffroy Van Cutsem c50db02881 Getting Started Guide: update (and simplify) GSG
Update the Getting Started Guide to remove some instructions that
are now obsolete and add details of the cmdline parameters that
can be passed to the ACRN hypervisor (EFI), namely:
* bootloader=
* uart=

The wording of the GSG has been made less specific to the NUC
platform so we can refer to it for new platform being supported
without causing confusion to the reader

Signed-off-by: Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com>
2018-05-29 16:37:06 -07:00
Geoffroy Van Cutsem 4adea0c15b Getting Started Guide for the UP2 board
Fix formatting and adhere to the recommendations published by
the documentation owner when writing reST documents.

Simplify the instructions by referencing the main Getting Started
Guide. This is now possible with the latest code since what
required us to modify the source code and build the components
are now parameters we can set when installing ACRN. This
simplifies the instructions *a lot*.

Signed-off-by: Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com>
2018-05-29 16:37:06 -07:00
Geoffroy Van Cutsem 81a2496218 Getting Started Guide: add build instructions for the ACRN tools
This adds basic information about the new ACRN tools that have
been integrated in the the acrn-hypervisor repo (under tools/).

It also adds the build dependencies for those tools in the
different development environment that we reference.

Signed-off-by: Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com>
2018-05-29 16:36:19 -07:00
David B. Kinder d57ced490b doc: add doc build infrastructure for tools
The tools documentation is maintained within the tools folder and
outside of the doc folder. We need to temporarily pull that content
within the doc folder for generating the documentation set. (We're using
a script developed for the Zephyr project for just this purpose.)

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-05-29 14:23:32 -07:00
Miguel Bernal Marin a28c75f5ed doc: fix references from scripts
The sambles scripts where moved to another directory but did not update
all the references in the documentation.

Fixes: 977d48d550 ("hypervisor: install acrn.efi to /usr/lib")
Fixes: 9563e248b7 ("samples: move samples to specifi platform diretory")

Signed-off-by: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com>
2018-05-25 13:46:11 -07:00
David B. Kinder 91f7391ad8 doc: move DM memory setup to GSG
DM memory allocation mechanism is better placed in the Getting Started
material, so move it there from the primer.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-05-25 10:04:32 +08:00
Kien Dinh 6e1582452d doc: Getting Started Guide for UP2 board
Signed-off-by: Kien Dinh <kien.t.dinh@intel.com>
2018-05-25 10:04:01 +08:00
Miguel Bernal Marin 977d48d550 hypervisor: install acrn.efi to /usr/lib
acrn.efi is a binary and need to be installed to /usr/lib instead of
/usr/share.

Suggested-by: Arzhan Kinzhalin <arzhan.i.kinzhalin@intel.com>
Signed-off-by: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com>
2018-05-24 19:34:49 +08:00
Miguel Bernal Marin 9563e248b7 samples: move samples to specifi platform diretory
Move the platform apl-mrb samples to devicemodel samples directory.
Add the install target to the missing samples files and re-organize the
samples directory structure to have nuc and apl-mrb samples.

Suggested-by: Arzhan Kinzhalin <arzhan.i.kinzhalin@intel.com>
Signed-off-by: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com>
2018-05-24 19:34:49 +08:00
David B. Kinder 6d63cb3cba doc: fix error in custom CSS file
Typo caused some styles to be missed

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-05-23 09:05:22 -07:00
David B. Kinder d11729d9d8 doc: add doc contributing guide, plus cleanup
Add documentation contributing information with project specific
recommentations along with some common reST and Sphinx constructs.
Reorganize contributing section to fit this new doc in.

Also

* Cleanup stray file (CODEOWNERS) from when docs were in their own repo.
* Remove licensing footer on generated pages (not really needed).
* Pull replacement strings into substitutions.txt for easier management.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-05-23 08:44:56 -07:00
David B. Kinder 7a09c81b10 doc: fix primer reST errors, update folder layout
Remove UEFI boot material that was causing doc build to fail (seems to
be a duplicate of material in the Getting Started Guide anyway)

Fix reST formatting for the DM memory allocation section.

Update folder layout description

Fixes: #202

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-05-22 11:39:30 +08:00
David B. Kinder e2b3ab5205 doc: remove stray doc backup file
Remove stray .sav file that got checked in by mistake.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-05-18 10:54:11 +08:00
Tonny Tzeng e2b7f3ca91 doc: link the Android guest to Celadon
Signed-off-by: Tonny Tzeng tonny.tzeng@intel.com
2018-05-17 13:56:01 +08:00
Jason Chen CJ ab0ba5f520 Doc: add UEFI boot chapter in primer
add UEFI boot chapter in primer.

Signed-off-by: Jason Chen CJ <jason.cj.chen@intel.com>
2018-05-17 11:33:18 +08:00
Geoffroy Van Cutsem 6fc5116776 Documentation: update the contributing guide to use new LICENSE file
Update the "Contributing Guidelines" document to point at the
top-level LICENSE file that was created after the merger of
the three acrn-{hypervisor,devicemodel,documentation} repositories

Signed-off-by: Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com>
2018-05-15 18:03:33 +08:00
David B. Kinder ec0d7e0e1e doc: update doc building howto
Post-merge, the doc building instructions need an update to reflect the
new diretory structure.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-05-15 18:03:33 +08:00
David B. Kinder f8861806f0 doc: post-merge changes to docs
Documentation updates were needed to account for changes caused by the
recent merging of the three acrn-hypervisor, acrn-devicemodel, and
acrn-documentation repos.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-05-15 18:03:33 +08:00
Geoffroy Van Cutsem 12fb4b0584 doc: Adjust various scripts accordingly
Signed-off-by: Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com>
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-05-15 18:02:07 +08:00
Jack Ren 60c07fba51 add .gitignore
Signed-off-by: Jack Ren <jack.ren@intel.com>
2018-05-15 17:41:53 +08:00
David B. Kinder 8a73718af3 doc: add use of GitHub issues
We've enabled GitHub issues for submitting and tracking bug and
enhancement requests for the project.  Add some documentation about how
to use issues and what to expect.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-05-15 17:25:58 +08:00
David B. Kinder 7dd647672c doc: GSG formating fix, RTD theme tweak
Fix some formatting problems with a recent GSG update.  Tweak the
custom CSS to adjust code block (and code literal) colors.  Update
Makefile to document doc build options for pulling source from the other
repos and for publishing targets.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-05-15 17:25:58 +08:00
Geoffroy Van Cutsem c3b1d0c436 Getting Started Guide: update to reflect the new boot flow
The boot process has changed a bit and the ACRN hypervisor is now
directly loaded by the platform EFI firmware. This commit reflects
those changes and also reference a newer version of Clearlinux that
includes the ACRN hypervisor that has these changes in.

Signed-off-by: Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com>
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-05-15 17:25:58 +08:00
David B. Kinder e35874cae1 doc: introduce howto area for technical notes
Tech note articles about technology and process tips now have a place in
the ACRN documentaion.

Move the doc process documention into this new area, and add a
placeholder for tech tips for now.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-05-15 17:25:57 +08:00
David B. Kinder e0a45e8c0f doc: fix doc build processing
Some assumptioins about the doc build process were removed to make it
easier for contributors to build local version of the docs.  Assumption
now is that acrn-hypervisor and acrn-devicemodel content is up to date
rather than pulling from upstream on every build.

make pullsource    will do an upstream pull manually
make html          generates local docs

Also fixed broken link in the README.md file (moved the tech doc root)

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-05-15 17:25:57 +08:00
David B. Kinder 66332aca00 doc: doxygen improvements and known issues hiding
Include more doxygen info, flag undocumented material, update
.known_issues matching for known doxygen/sphinx issues

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-05-15 17:25:54 +08:00
David B. Kinder b997e590f2 doc: add support for publishing versioned docs
add navigation to (manually) maintained list (in conf.py) of versioned
docs, and update generating and publishing processes to be
version-aware.

Adds a file to redirect root references to /latest folder now (since we
can't update the server redirects).  Might break some links to pages
within the site from external sites.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-05-15 17:25:54 +08:00