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
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Mail Systems
Eclipse Documentation

How To Guides
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
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:

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.
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''.
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.
Allocate and bind a port for notifying other virtual CPUs.
  • Caller domain must have a free port to bind.
  • VCPU must exist.
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.
Close an event channel (no more events will be received).
  • Port must be valid (currently allocated).
Send a notification on an event channel attached to a port.
  • Port must be valid.
  • Only valid for Interdomain, IPI or Allocated Unbound ports.
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.
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