Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 

Xen 3.0 Virtualization Interface Guide
Prev Home Next

5.1 Hypercall interface


event_channel_op(evtchn_op_t *op)

The event channel operation hypercall is used for all operations on event channels / ports. Operations are distinguished by the value of the cmd field of the op structure. The possible commands are described below:

EVTCHNOP_alloc_unbound
Allocate a new event channel port, ready to be connected to by a remote domain.
  • Specified domain must exist.
  • A free port must exist in that domain.
Unprivileged domains may only allocate their own ports, privileged domains may also allocate ports in other domains.
EVTCHNOP_bind_interdomain
Bind an event channel for interdomain communications.
  • Caller domain must have a free port to bind.
  • Remote domain must exist.
  • Remote port must be allocated and currently unbound.
  • Remote port must be expecting the caller domain as the ``remote''.
EVTCHNOP_bind_virq
Allocate a port and bind a VIRQ to it.
  • Caller domain must have a free port to bind.
  • VIRQ must be valid.
  • VCPU must exist.
  • VIRQ must not currently be bound to an event channel.
EVTCHNOP_bind_ipi
Allocate and bind a port for notifying other virtual CPUs.
  • Caller domain must have a free port to bind.
  • VCPU must exist.
EVTCHNOP_bind_pirq
Allocate and bind a port to a real IRQ.
  • Caller domain must have a free port to bind.
  • PIRQ must be within the valid range.
  • Another binding for this PIRQ must not exist for this domain.
  • Caller must have an available port.
EVTCHNOP_close
Close an event channel (no more events will be received).
  • Port must be valid (currently allocated).
EVTCHNOP_send
Send a notification on an event channel attached to a port.
  • Port must be valid.
  • Only valid for Interdomain, IPI or Allocated Unbound ports.
EVTCHNOP_status
Query the status of a port; what kind of port, whether it is bound, what remote domain is expected, what PIRQ or VIRQ it is bound to, what VCPU will be notified, etc. Unprivileged domains may only query the state of their own ports. Privileged domains may query any port.
EVTCHNOP_bind_vcpu
Bind event channel to a particular VCPU - receive notification upcalls only on that VCPU.
  • VCPU must exist.
  • Port must be valid.
  • Event channel must be either: allocated but unbound, bound to an interdomain event channel, bound to a PIRQ.

Xen 3.0 Virtualization Interface Guide
Prev Home Next

 
 
  Published under the terms of the GNU General Public License Design by Interspire