forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/lin…
…ux/kernel/git/rusty/linux Pull virtio updates from Rusty Russell: "OK, this has the big virtio 1.0 implementation, as specified by OASIS. On top of tht is the major rework of lguest, to use PCI and virtio 1.0, to double-check the implementation. Then comes the inevitable fixes and cleanups from that work" * tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: (80 commits) virtio: don't set VIRTIO_CONFIG_S_DRIVER_OK twice. virtio_net: unconditionally define struct virtio_net_hdr_v1. tools/lguest: don't use legacy definitions for net device in example launcher. virtio: Don't expose legacy net features when VIRTIO_NET_NO_LEGACY defined. tools/lguest: use common error macros in the example launcher. tools/lguest: give virtqueues names for better error messages tools/lguest: more documentation and checking of virtio 1.0 compliance. lguest: don't look in console features to find emerg_wr. tools/lguest: don't start devices until DRIVER_OK status set. tools/lguest: handle indirect partway through chain. tools/lguest: insert driver references from the 1.0 spec (4.1 Virtio Over PCI) tools/lguest: insert device references from the 1.0 spec (4.1 Virtio Over PCI) tools/lguest: rename virtio_pci_cfg_cap field to match spec. tools/lguest: fix features_accepted logic in example launcher. tools/lguest: handle device reset correctly in example launcher. virtual: Documentation: simplify and generalize paravirt_ops.txt lguest: remove NOTIFY call and eventfd facility. lguest: remove NOTIFY facility from demonstration launcher. lguest: use the PCI console device's emerg_wr for early boot messages. lguest: always put console in PCI slot #1. ...
- Loading branch information
Showing
43 changed files
with
3,367 additions
and
1,605 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
Paravirt_ops | ||
============ | ||
|
||
Linux provides support for different hypervisor virtualization technologies. | ||
Historically different binary kernels would be required in order to support | ||
different hypervisors, this restriction was removed with pv_ops. | ||
Linux pv_ops is a virtualization API which enables support for different | ||
hypervisors. It allows each hypervisor to override critical operations and | ||
allows a single kernel binary to run on all supported execution environments | ||
including native machine -- without any hypervisors. | ||
|
||
pv_ops provides a set of function pointers which represent operations | ||
corresponding to low level critical instructions and high level | ||
functionalities in various areas. pv-ops allows for optimizations at run | ||
time by enabling binary patching of the low-ops critical operations | ||
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. | ||
|
||
- 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. | ||
|
||
- 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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7302,7 +7302,7 @@ M: Alok Kataria <[email protected]> | |
M: Rusty Russell <[email protected]> | ||
L: [email protected] | ||
S: Supported | ||
F: Documentation/ia64/paravirt_ops.txt | ||
F: Documentation/virtual/paravirt_ops.txt | ||
F: arch/*/kernel/paravirt* | ||
F: arch/*/include/asm/paravirt.h | ||
|
||
|
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.