From: Luke Nowakowski-Krijger <[email protected]>
Converted a few documents in virtual and virtual/kvm to .rst format.
Also added toctree hooks to newly added files.
Adding hooks to the main doc tree should be in another patch series
once there are more files in the directory.
Changes in v3:
Documentation: kvm: Convert cpuid.txt to .rst
+ Added extra table entries that were in updated cpuid.txt
Changes in v2:
Documentation: kvm: Convert cpuid.txt to .rst
+ added updated Author email address
+ changed table to simpler format
- removed function bolding from v1
Documentation: virtual: Add toctree hooks
- Removed vcpu-request from hooks that was added in v1
Chanes in v1:
Documentation: kvm: Convert cpuid.txt to .rst
+ Converted doc to .rst format
Documentation: virtual: Convert paravirt_ops.txt to .rst
+ Converted doc to .rst format
Documentation: virtual: Add toctree hooks
+ Added index.rst file in virtual directory
+ Added index.rst file in virtual/kvm directory
Luke Nowakowski-Krijger (3):
Documentation: virtual: Convert paravirt_ops.txt to .rst
Documentation: kvm: Convert cpuid.txt to .rst
Documentation: virtual: Add toctree hooks
Documentation/virtual/index.rst | 18 ++
.../virtual/kvm/{cpuid.txt => cpuid.rst} | 162 ++++++++++--------
Documentation/virtual/kvm/index.rst | 11 ++
.../{paravirt_ops.txt => paravirt_ops.rst} | 19 +-
4 files changed, 129 insertions(+), 81 deletions(-)
create mode 100644 Documentation/virtual/index.rst
rename Documentation/virtual/kvm/{cpuid.txt => cpuid.rst} (13%)
create mode 100644 Documentation/virtual/kvm/index.rst
rename Documentation/virtual/{paravirt_ops.txt => paravirt_ops.rst} (65%)
--
2.20.1
From: Luke Nowakowski-Krijger <[email protected]>
Convert paravirt_opts.txt to .rst format to be able to be parsed by
sphinx.
Made some minor spacing and formatting corrections to make defintions
much more clear and easy to read. Added default kernel license to the
document.
Signed-off-by: Luke Nowakowski-Krijger <[email protected]>
---
Changes since v3:
none
Changes since v2:
none
Changes since v1:
+ Converted doc to .rst format
.../{paravirt_ops.txt => paravirt_ops.rst} | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
rename Documentation/virtual/{paravirt_ops.txt => paravirt_ops.rst} (65%)
diff --git a/Documentation/virtual/paravirt_ops.txt b/Documentation/virtual/paravirt_ops.rst
similarity index 65%
rename from Documentation/virtual/paravirt_ops.txt
rename to Documentation/virtual/paravirt_ops.rst
index d4881c00e339..6b789d27cead 100644
--- a/Documentation/virtual/paravirt_ops.txt
+++ b/Documentation/virtual/paravirt_ops.rst
@@ -1,3 +1,6 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+============
Paravirt_ops
============
@@ -18,15 +21,15 @@ at boot time.
pv_ops operations are classified into three categories:
- simple indirect call
- These operations correspond to high level functionality where it is
- known that the overhead of indirect call isn't very important.
+ These operations correspond to high level functionality where it is
+ known that the overhead of indirect call isn't very important.
- indirect call which allows optimization with binary patch
- Usually these operations correspond to low level critical instructions. They
- are called frequently and are performance critical. The overhead is
- very important.
+ Usually these operations correspond to low level critical instructions. They
+ are called frequently and are performance critical. The overhead is
+ very important.
- a set of macros for hand written assembly code
- Hand written assembly codes (.S files) also need paravirtualization
- because they include sensitive instructions or some of code paths in
- them are very performance critical.
+ Hand written assembly codes (.S files) also need paravirtualization
+ because they include sensitive instructions or some of code paths in
+ them are very performance critical.
--
2.20.1
From: Luke Nowakowski-Krijger <[email protected]>
Added toctree hooks for indexing. Hooks added only for newly added
files.
The hook for the top of the tree will be added in a later patch series
when a few more substantial changes have been added.
Signed-off-by: Luke Nowakowski-Krijger <[email protected]>
---
Changes since v3:
none
Changes since v2:
- Removed vcpu-request from hooks that was added in v1
Changes since v1:
+ Added index.rst file in virtual directory
+ Added index.rst file in virtual/kvm directory
Documentation/virtual/index.rst | 18 ++++++++++++++++++
Documentation/virtual/kvm/index.rst | 11 +++++++++++
2 files changed, 29 insertions(+)
create mode 100644 Documentation/virtual/index.rst
create mode 100644 Documentation/virtual/kvm/index.rst
diff --git a/Documentation/virtual/index.rst b/Documentation/virtual/index.rst
new file mode 100644
index 000000000000..19c9fa2266f4
--- /dev/null
+++ b/Documentation/virtual/index.rst
@@ -0,0 +1,18 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+===========================
+Linux Virtual Documentation
+===========================
+
+.. toctree::
+ :maxdepth: 2
+
+ kvm/index
+ paravirt_ops
+
+.. only:: html and subproject
+
+ Indices
+ =======
+
+ * :ref:`genindex`
diff --git a/Documentation/virtual/kvm/index.rst b/Documentation/virtual/kvm/index.rst
new file mode 100644
index 000000000000..0b206a06f5be
--- /dev/null
+++ b/Documentation/virtual/kvm/index.rst
@@ -0,0 +1,11 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+===
+KVM
+===
+
+.. toctree::
+ :maxdepth: 2
+
+ amd-memory-encryption
+ cpuid
--
2.20.1
From: Luke Nowakowski-Krijger <[email protected]>
Convert cpuid.txt to .rst format to be parsable by sphinx.
Change format and spacing to make function definitions and return values
much more clear. Also added a table that is parsable by sphinx and makes
the information much more clean. Updated Author email to their new
active email address. Added license identifier with the consent of the
author.
Signed-off-by: Luke Nowakowski-Krijger <[email protected]>
---
Changes since v3:
+ added table entries that were in updated cpuid.txt
Changes since v2:
+ added updated Author email address
+ changed table to simpler format
- removed function bolding from v1
Changes since v1:
+ Converted doc to .rst format
.../virtual/kvm/{cpuid.txt => cpuid.rst} | 162 ++++++++++--------
1 file changed, 89 insertions(+), 73 deletions(-)
rename Documentation/virtual/kvm/{cpuid.txt => cpuid.rst} (13%)
diff --git a/Documentation/virtual/kvm/cpuid.txt b/Documentation/virtual/kvm/cpuid.rst
similarity index 13%
rename from Documentation/virtual/kvm/cpuid.txt
rename to Documentation/virtual/kvm/cpuid.rst
index 2bdac528e4a2..01b081f6e7ea 100644
--- a/Documentation/virtual/kvm/cpuid.txt
+++ b/Documentation/virtual/kvm/cpuid.rst
@@ -1,6 +1,10 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+==============
KVM CPUID bits
-Glauber Costa <[email protected]>, Red Hat Inc, 2010
-=====================================================
+==============
+
+:Author: Glauber Costa <[email protected]>
A guest running on a kvm host, can check some of its features using
cpuid. This is not always guaranteed to work, since userspace can
@@ -10,10 +14,14 @@ a guest.
KVM cpuid functions are:
function: KVM_CPUID_SIGNATURE (0x40000000)
-returns : eax = 0x40000001,
- ebx = 0x4b4d564b,
- ecx = 0x564b4d56,
- edx = 0x4d.
+
+returns::
+
+ eax = 0x40000001
+ ebx = 0x4b4d564b
+ ecx = 0x564b4d56
+ edx = 0x4d
+
Note that this value in ebx, ecx and edx corresponds to the string "KVMKVMKVM".
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.
@@ -21,71 +29,79 @@ Note also that old hosts set eax value to 0x0. This should
be interpreted as if the value was 0x40000001.
This function queries the presence of KVM cpuid leafs.
-
function: define KVM_CPUID_FEATURES (0x40000001)
-returns : ebx, ecx
- eax = an OR'ed group of (1 << flag), where each flags is:
-
-
-flag || value || meaning
-=============================================================================
-KVM_FEATURE_CLOCKSOURCE || 0 || kvmclock available at msrs
- || || 0x11 and 0x12.
-------------------------------------------------------------------------------
-KVM_FEATURE_NOP_IO_DELAY || 1 || not necessary to perform delays
- || || on PIO operations.
-------------------------------------------------------------------------------
-KVM_FEATURE_MMU_OP || 2 || deprecated.
-------------------------------------------------------------------------------
-KVM_FEATURE_CLOCKSOURCE2 || 3 || kvmclock available at msrs
- || || 0x4b564d00 and 0x4b564d01
-------------------------------------------------------------------------------
-KVM_FEATURE_ASYNC_PF || 4 || async pf can be enabled by
- || || writing to msr 0x4b564d02
-------------------------------------------------------------------------------
-KVM_FEATURE_STEAL_TIME || 5 || steal time can be enabled by
- || || writing to msr 0x4b564d03.
-------------------------------------------------------------------------------
-KVM_FEATURE_PV_EOI || 6 || paravirtualized end of interrupt
- || || handler can be enabled by writing
- || || to msr 0x4b564d04.
-------------------------------------------------------------------------------
-KVM_FEATURE_PV_UNHALT || 7 || guest checks this feature bit
- || || before enabling paravirtualized
- || || spinlock support.
-------------------------------------------------------------------------------
-KVM_FEATURE_PV_TLB_FLUSH || 9 || guest checks this feature bit
- || || before enabling paravirtualized
- || || tlb flush.
-------------------------------------------------------------------------------
-KVM_FEATURE_ASYNC_PF_VMEXIT || 10 || paravirtualized async PF VM exit
- || || can be enabled by setting bit 2
- || || when writing to msr 0x4b564d02
-------------------------------------------------------------------------------
-KVM_FEATURE_PV_SEND_IPI || 11 || guest checks this feature bit
- || || before using paravirtualized
- || || send IPIs.
-------------------------------------------------------------------------------
-KVM_FEATURE_PV_POLL_CONTROL || 12 || host-side polling on HLT can
- || || be disabled by writing
- || || to msr 0x4b564d05.
-------------------------------------------------------------------------------
-KVM_FEATURE_PV_SCHED_YIELD || 13 || guest checks this feature bit
- || || before using paravirtualized
- || || sched yield.
-------------------------------------------------------------------------------
-KVM_FEATURE_CLOCKSOURCE_STABLE_BIT || 24 || host will warn if no guest-side
- || || per-cpu warps are expected in
- || || kvmclock.
-------------------------------------------------------------------------------
-
- edx = an OR'ed group of (1 << flag), where each flags is:
-
-
-flag || value || meaning
-==================================================================================
-KVM_HINTS_REALTIME || 0 || guest checks this feature bit to
- || || determine that vCPUs are never
- || || preempted for an unlimited time,
- || || allowing optimizations
-----------------------------------------------------------------------------------
+
+returns::
+
+ ebx, ecx
+ eax = an OR'ed group of (1 << flag)
+
+where ``flag`` is defined as below:
+
+================================= =========== ================================
+flag value meaning
+================================= =========== ================================
+KVM_FEATURE_CLOCKSOURCE 0 kvmclock available at msrs
+ 0x11 and 0x12
+
+KVM_FEATURE_NOP_IO_DELAY 1 not necessary to perform delays
+ on PIO operations
+
+KVM_FEATURE_MMU_OP 2 deprecated
+
+KVM_FEATURE_CLOCKSOURCE2 3 kvmclock available at msrs
+
+ 0x4b564d00 and 0x4b564d01
+KVM_FEATURE_ASYNC_PF 4 async pf can be enabled by
+ writing to msr 0x4b564d02
+
+KVM_FEATURE_STEAL_TIME 5 steal time can be enabled by
+ writing to msr 0x4b564d03
+
+KVM_FEATURE_PV_EOI 6 paravirtualized end of interrupt
+ handler can be enabled by
+ writing to msr 0x4b564d04
+
+KVM_FEATURE_PV_UNHAULT 7 guest checks this feature bit
+ before enabling paravirtualized
+ spinlock support
+
+KVM_FEATURE_PV_TLB_FLUSH 9 guest checks this feature bit
+ before enabling paravirtualized
+ tlb flush
+
+KVM_FEATURE_ASYNC_PF_VMEXIT 10 paravirtualized async PF VM EXIT
+ can be enabled by setting bit 2
+ when writing to msr 0x4b564d02
+
+KVM_FEATURE_PV_SEND_IPI 11 guest checks this feature bit
+ before enabling paravirtualized
+ sebd IPIs
+
+KVM_FEATURE_PV_POLL_CONTROL 12 host-side polling on HLT can
+ be disabled by writing
+ to msr 0x4b564d05.
+
+KVM_FEATURE_PV_SCHED_YIELD 13 guest checks this feature bit
+ before using paravirtualized
+ sched yield.
+
+KVM_FEATURE_CLOCSOURCE_STABLE_BIT 24 host will warn if no guest-side
+ per-cpu warps are expeced in
+ kvmclock
+================================= =========== ================================
+
+::
+
+ edx = an OR'ed group of (1 << flag)
+
+Where ``flag`` here is defined as below:
+
+================== ============ =================================
+flag value meaning
+================== ============ =================================
+KVM_HINTS_REALTIME 0 guest checks this feature bit to
+ determine that vCPUs are never
+ preempted for an unlimited time
+ allowing optimizations
+================== ============ =================================
--
2.20.1