Difference between revisions of "Hypercall"

From Xen
m (Removed superfluous <nowiki></nowiki> tag pairs.)
(link to hypercall docs)
 
Line 8: Line 8:
 
A hypercall is to a syscall what a [[hypervisor]] is to an OS. Alternatively, a hypercall is to a hypervisor what a syscall is to a kernel. A hypercall is a software trap from a [[domain]] to the hypervisor, just as a syscall is a software trap from an application to the kernel. Domains will use hypercalls to request privileged operations like updating pagetables. Like a syscall, the hypercall is synchronous, but the return path from the hypervisor to the domain uses event channels. An event channel is a queue of asynchronous notifications, and notify of the same sorts of events that interrupts notify on native hardware. When a domain with pending events in its queue is scheduled, the OS's event-callback handler is called to take appropriate action.
 
A hypercall is to a syscall what a [[hypervisor]] is to an OS. Alternatively, a hypercall is to a hypervisor what a syscall is to a kernel. A hypercall is a software trap from a [[domain]] to the hypervisor, just as a syscall is a software trap from an application to the kernel. Domains will use hypercalls to request privileged operations like updating pagetables. Like a syscall, the hypercall is synchronous, but the return path from the hypervisor to the domain uses event channels. An event channel is a queue of asynchronous notifications, and notify of the same sorts of events that interrupts notify on native hardware. When a domain with pending events in its queue is scheduled, the OS's event-callback handler is called to take appropriate action.
  
See <code>xen/include/public/xen.h</code> in the Xen sources.
+
See <code>xen/include/public/xen.h</code> in the Xen sources and the
 +
[http://xenbits.xen.org/docs/unstable/hypercall/index.html Xen hypercall interface documentation]
  
 
[[Category:Xen]]
 
[[Category:Xen]]
 
[[Category:Glossary]]
 
[[Category:Glossary]]

Latest revision as of 18:57, 8 November 2013


A hypercall is to a syscall what a hypervisor is to an OS. Alternatively, a hypercall is to a hypervisor what a syscall is to a kernel. A hypercall is a software trap from a domain to the hypervisor, just as a syscall is a software trap from an application to the kernel. Domains will use hypercalls to request privileged operations like updating pagetables. Like a syscall, the hypercall is synchronous, but the return path from the hypervisor to the domain uses event channels. An event channel is a queue of asynchronous notifications, and notify of the same sorts of events that interrupts notify on native hardware. When a domain with pending events in its queue is scheduled, the OS's event-callback handler is called to take appropriate action.

See xen/include/public/xen.h in the Xen sources and the Xen hypercall interface documentation