- struct vcpu_info VcpuInfo[XEN_LEGACY_MAX_VCPUS];\r
-\r
- /*\r
- * A domain can create "event channels" on which it can send and receive\r
- * asynchronous event notifications. There are three classes of event that\r
- * are delivered by this mechanism:\r
- * 1. Bi-directional inter- and intra-domain connections. Domains must\r
- * arrange out-of-band to set up a connection (usually by allocating\r
- * an unbound 'listener' port and avertising that via a storage service\r
- * such as xenstore).\r
- * 2. Physical interrupts. A domain with suitable hardware-access\r
- * privileges can bind an event-channel port to a physical interrupt\r
- * source.\r
- * 3. Virtual interrupts ('events'). A domain can bind an event-channel\r
- * port to a virtual interrupt source, such as the virtual-timer\r
- * device or the emergency console.\r
- *\r
- * Event channels are addressed by a "port index". Each channel is\r
- * associated with two bits of information:\r
- * 1. PENDING -- notifies the domain that there is a pending notification\r
- * to be processed. This bit is cleared by the guest.\r
- * 2. MASK -- if this bit is clear then a 0->1 transition of PENDING\r
- * will cause an asynchronous upcall to be scheduled. This bit is only\r
- * updated by the guest. It is read-only within Xen. If a channel\r
- * becomes pending while the channel is masked then the 'edge' is lost\r
- * (i.e., when the channel is unmasked, the guest must manually handle\r
- * pending notifications as no upcall will be scheduled by Xen).\r
- *\r
- * To expedite scanning of pending notifications, any 0->1 pending\r
- * transition on an unmasked channel causes a corresponding bit in a\r
- * per-vcpu selector word to be set. Each bit in the selector covers a\r
- * 'C INTN' in the PENDING bitfield array.\r
- */\r
- xen_ulong_t evtchn_pending[sizeof(xen_ulong_t) * 8];\r
- xen_ulong_t evtchn_mask[sizeof(xen_ulong_t) * 8];\r
-\r
- /*\r
- * Wallclock time: updated only by control software. Guests should base\r
- * their gettimeofday() syscall on this wallclock-base value.\r
- */\r
- UINT32 wc_version; /* Version counter: see vcpu_time_info_t. */\r
- UINT32 wc_sec; /* Secs 00:00:00 UTC, Jan 1, 1970. */\r
- UINT32 wc_nsec; /* Nsecs 00:00:00 UTC, Jan 1, 1970. */\r
-\r
- struct arch_shared_info arch;\r
-\r
+ struct vcpu_info VcpuInfo[XEN_LEGACY_MAX_VCPUS];\r
+\r
+ /*\r
+ * A domain can create "event channels" on which it can send and receive\r
+ * asynchronous event notifications. There are three classes of event that\r
+ * are delivered by this mechanism:\r
+ * 1. Bi-directional inter- and intra-domain connections. Domains must\r
+ * arrange out-of-band to set up a connection (usually by allocating\r
+ * an unbound 'listener' port and avertising that via a storage service\r
+ * such as xenstore).\r
+ * 2. Physical interrupts. A domain with suitable hardware-access\r
+ * privileges can bind an event-channel port to a physical interrupt\r
+ * source.\r
+ * 3. Virtual interrupts ('events'). A domain can bind an event-channel\r
+ * port to a virtual interrupt source, such as the virtual-timer\r
+ * device or the emergency console.\r
+ *\r
+ * Event channels are addressed by a "port index". Each channel is\r
+ * associated with two bits of information:\r
+ * 1. PENDING -- notifies the domain that there is a pending notification\r
+ * to be processed. This bit is cleared by the guest.\r
+ * 2. MASK -- if this bit is clear then a 0->1 transition of PENDING\r
+ * will cause an asynchronous upcall to be scheduled. This bit is only\r
+ * updated by the guest. It is read-only within Xen. If a channel\r
+ * becomes pending while the channel is masked then the 'edge' is lost\r
+ * (i.e., when the channel is unmasked, the guest must manually handle\r
+ * pending notifications as no upcall will be scheduled by Xen).\r
+ *\r
+ * To expedite scanning of pending notifications, any 0->1 pending\r
+ * transition on an unmasked channel causes a corresponding bit in a\r
+ * per-vcpu selector word to be set. Each bit in the selector covers a\r
+ * 'C INTN' in the PENDING bitfield array.\r
+ */\r
+ xen_ulong_t evtchn_pending[sizeof (xen_ulong_t) * 8];\r
+ xen_ulong_t evtchn_mask[sizeof (xen_ulong_t) * 8];\r
+\r
+ /*\r
+ * Wallclock time: updated only by control software. Guests should base\r
+ * their gettimeofday() syscall on this wallclock-base value.\r
+ */\r
+ UINT32 wc_version; /* Version counter: see vcpu_time_info_t. */\r
+ UINT32 wc_sec; /* Secs 00:00:00 UTC, Jan 1, 1970. */\r
+ UINT32 wc_nsec; /* Nsecs 00:00:00 UTC, Jan 1, 1970. */\r
+\r
+ struct arch_shared_info arch;\r