const struct grub_arc_component * (*getpeer) (const struct grub_arc_component *comp);
const struct grub_arc_component * (*getchild) (const struct grub_arc_component *comp);
void *getparent;
-
+
/* 0x30. */
void *getconfigurationdata;
void *addchild;
void *setfileinformation;
void *flushallcaches;
void *testunicodecharacter;
-
+
/* 0x90. */
struct grub_arc_display_status * (*getdisplaystatus) (grub_arc_fileno_t fileno);
};
EXPORT_FUNC (grub_video_bitmap_create_scaled) (struct grub_video_bitmap **dst,
int dst_width, int dst_height,
struct grub_video_bitmap *src,
- enum
+ enum
grub_video_bitmap_scale_method
scale_method);
#define GRUB_UTF16_LOWER_SURROGATE(code) \
(0xDC00 | (((code) - GRUB_UCS2_LIMIT) & 0x3ff))
-/* Process one character from UTF8 sequence.
+/* Process one character from UTF8 sequence.
At beginning set *code = 0, *count = 0. Returns 0 on failure and
1 on success. *count holds the number of trailing bytes. */
static inline int
grub_uint32_t code);
const grub_uint32_t *
-grub_unicode_get_comb_start (const grub_uint32_t *str,
+grub_unicode_get_comb_start (const grub_uint32_t *str,
const grub_uint32_t *cur);
#endif
#include <grub/err.h>
#include <grub/mm.h>
-typedef enum
+typedef enum
{
GPG_ERR_NO_ERROR,
GPG_ERR_BAD_MPI,
typedef gpg_err_code_t gcry_err_code_t;
#define gcry_error_t gcry_err_code_t
#if 0
-enum gcry_cipher_modes
+enum gcry_cipher_modes
{
GCRY_CIPHER_MODE_NONE = 0, /* Not yet specified. */
GCRY_CIPHER_MODE_ECB = 1, /* Electronic codebook. */
grub_crypto_cbc_decrypt (grub_crypto_cipher_handle_t cipher,
void *out, const void *in, grub_size_t size,
void *iv);
-void
+void
grub_cipher_register (gcry_cipher_spec_t *cipher);
void
grub_cipher_unregister (gcry_cipher_spec_t *cipher);
-void
+void
grub_md_register (gcry_md_spec_t *digest);
-void
+void
grub_md_unregister (gcry_md_spec_t *cipher);
extern struct gcry_pk_spec *grub_crypto_pk_dsa;
int y4, ay;
const grub_uint16_t monthssum[12]
= { 0,
- 31,
+ 31,
31 + 28,
31 + 28 + 31,
31 + 28 + 31 + 30,
- 31 + 28 + 31 + 30 + 31,
+ 31 + 28 + 31 + 30 + 31,
31 + 28 + 31 + 30 + 31 + 30,
31 + 28 + 31 + 30 + 31 + 30 + 31,
31 + 28 + 31 + 30 + 31 + 30 + 31 + 31,
#endif
typedef enum
- {
+ {
GRUB_DISK_PULL_NONE,
GRUB_DISK_PULL_REMOVABLE,
GRUB_DISK_PULL_RESCAN,
struct grub_diskfilter_segment {
grub_uint64_t start_extent;
grub_uint64_t extent_count;
- enum
+ enum
{
GRUB_DISKFILTER_STRIPED = 0,
GRUB_DISKFILTER_MIRROR = 1,
GRUB_DISKFILTER_RAID4 = 4,
- GRUB_DISKFILTER_RAID5 = 5,
+ GRUB_DISKFILTER_RAID5 = 5,
GRUB_DISKFILTER_RAID6 = 6,
GRUB_DISKFILTER_RAID10 = 10,
} type;
#endif
#else
#ifdef __APPLE__
-#define GRUB_MOD_SECTION(x) _ ## x , _ ##x
+#define GRUB_MOD_SECTION(x) _ ## x , _ ##x
#else
#define GRUB_MOD_SECTION(x) . ## x
#endif
struct grub_efi_sal_system_table_purge_translation_coherence
{
grub_uint8_t type;
- grub_uint8_t reserved[3];
+ grub_uint8_t reserved[3];
grub_uint32_t ndomains;
grub_uint64_t coherence;
};
};
typedef struct grub_efi_edid_override grub_efi_edid_override_t;
-
+
struct grub_efi_active_edid
{
EXPORT_FUNC (grub_efi_compare_device_paths) (const grub_efi_device_path_t *dp1,
const grub_efi_device_path_t *dp2);
-extern void (*EXPORT_VAR(grub_efi_net_config)) (grub_efi_handle_t hnd,
+extern void (*EXPORT_VAR(grub_efi_net_config)) (grub_efi_handle_t hnd,
char **device,
char **path);
grub_gfxmenu_view_redraw (grub_gfxmenu_view_t view,
const grub_video_rect_t *region);
-void
+void
grub_gfxmenu_clear_timeout (void *data);
-void
+void
grub_gfxmenu_print_timeout (int timeout, void *data);
void
grub_gfxmenu_set_chosen_entry (int entry, void *data);
struct grub_hfsplus_key_internal *key,
int (*compare_keys) (struct grub_hfsplus_key *keya,
struct grub_hfsplus_key_internal *keyb),
- struct grub_hfsplus_btnode **matchnode,
+ struct grub_hfsplus_btnode **matchnode,
grub_off_t *keyoffset);
grub_err_t
grub_mac_bless_inode (grub_device_t dev, grub_uint32_t inode, int is_dir,
const char *filename,
grub_addr_t *kern_end);
-grub_err_t grub_bsd_add_meta (grub_uint32_t type,
+grub_err_t grub_bsd_add_meta (grub_uint32_t type,
const void *data, grub_uint32_t len);
grub_err_t grub_freebsd_add_meta_module (const char *filename, const char *type,
int argc, char **argv,
grub_uint32_t bootsect_kludge; /* obsolete */
grub_uint16_t heap_end_ptr; /* Free memory after setup end */
grub_uint8_t ext_loader_ver; /* Extended loader version */
- grub_uint8_t ext_loader_type; /* Extended loader type */
+ grub_uint8_t ext_loader_type; /* Extended loader type */
grub_uint32_t cmd_line_ptr; /* Points to the kernel command line */
grub_uint32_t initrd_addr_max; /* Maximum initrd address */
grub_uint32_t kernel_alignment; /* Alignment of the kernel */
*/
/* $OpenBSD: bootarg.h,v 1.11 2003/06/02 20:20:54 mickey Exp $ */
-
+
/*
* Copyright (c) 1996-1999 Michael Shalayeff
* All rights reserved.
/* Prototypes for helper functions. */
/* Call VESA BIOS 0x4f00 to get VBE Controller Information, return status. */
-grub_vbe_status_t
+grub_vbe_status_t
grub_vbe_bios_get_controller_info (struct grub_vbe_info_block *controller_info);
/* Call VESA BIOS 0x4f01 to get VBE Mode Information, return status. */
-grub_vbe_status_t
+grub_vbe_status_t
grub_vbe_bios_get_mode_info (grub_uint32_t mode,
struct grub_vbe_mode_info_block *mode_info);
/* Call VESA BIOS 0x4f03 to return current VBE Mode, return status. */
-grub_vbe_status_t
+grub_vbe_status_t
grub_vbe_bios_get_mode (grub_uint32_t *mode);
/* Call VESA BIOS 0x4f05 to set memory window, return status. */
grub_vbe_status_t
grub_vbe_bios_get_memory_window (grub_uint32_t window,
grub_uint32_t *position);
/* Call VESA BIOS 0x4f06 to set scanline length (in bytes), return status. */
-grub_vbe_status_t
+grub_vbe_status_t
grub_vbe_bios_set_scanline_length (grub_uint32_t length);
/* Call VESA BIOS 0x4f06 to return scanline length (in bytes), return status. */
-grub_vbe_status_t
+grub_vbe_status_t
grub_vbe_bios_get_scanline_length (grub_uint32_t *length);
/* Call VESA BIOS 0x4f07 to get display start, return status. */
-grub_vbe_status_t
+grub_vbe_status_t
grub_vbe_bios_get_display_start (grub_uint32_t *x,
grub_uint32_t *y);
grub_err_t grub_vbe_get_video_mode (grub_uint32_t *mode);
grub_err_t grub_vbe_get_video_mode_info (grub_uint32_t mode,
struct grub_vbe_mode_info_block *mode_info);
-grub_vbe_status_t
+grub_vbe_status_t
grub_vbe_bios_get_pm_interface (grub_uint16_t *seg, grub_uint16_t *offset,
grub_uint16_t *length);
/* OLPC / XO firmware has the cursor ON/OFF routines. */
GRUB_IEEE1275_FLAG_HAS_CURSORONOFF,
- /* Some PowerMacs claim to use 2 address cells but in fact use only 1.
+ /* Some PowerMacs claim to use 2 address cells but in fact use only 1.
Other PowerMacs claim to use only 1 and really do so. Always assume
1 address cell is used on PowerMacs.
*/
void grub_menu_register_viewer (struct grub_menu_viewer *viewer);
grub_err_t
-grub_menu_try_text (struct grub_term_output *term,
+grub_menu_try_text (struct grub_term_output *term,
int entry, grub_menu_t menu, int nested);
extern grub_err_t (*grub_gfxmenu_try_hook) (int entry, grub_menu_t menu,
#else
#endif
-#endif
+#endif
#define GRUB_MACHINE_SERIAL_PORTS { 0xb40003f8 }
-#endif
+#endif
#endif
#define GRUB_MULTIBOOT_CONSOLE_EGA_TEXT 1
-#define GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER 2
+#define GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER 2
grub_err_t
grub_multiboot_set_console (int console_type, int accepted_consoles,
#endif
#define GRUB_MULTIBOOT2_CONSOLE_EGA_TEXT 1
-#define GRUB_MULTIBOOT2_CONSOLE_FRAMEBUFFER 2
+#define GRUB_MULTIBOOT2_CONSOLE_FRAMEBUFFER 2
grub_err_t
grub_multiboot2_set_console (int console_type, int accepted_consoles,
GRUB_NET_OUR_IPV4_HEADER_SIZE = 20,
GRUB_NET_OUR_IPV6_HEADER_SIZE = 40,
GRUB_NET_OUR_MAX_IP_HEADER_SIZE = 40,
- GRUB_NET_TCP_RESERVE_SIZE = GRUB_NET_TCP_HEADER_SIZE
+ GRUB_NET_TCP_RESERVE_SIZE = GRUB_NET_TCP_HEADER_SIZE
+ GRUB_NET_OUR_IPV4_HEADER_SIZE
+ GRUB_NET_MAX_LINK_HEADER_SIZE
};
-typedef enum grub_link_level_protocol_id
+typedef enum grub_link_level_protocol_id
{
GRUB_NET_LINK_LEVEL_PROTOCOL_ETHERNET
} grub_link_level_protocol_id_t;
struct grub_net_network_level_interface;
-typedef enum grub_network_level_protocol_id
+typedef enum grub_network_level_protocol_id
{
GRUB_NET_NETWORK_LEVEL_PROTOCOL_DHCP_RECV,
GRUB_NET_NETWORK_LEVEL_PROTOCOL_IPV4,
{
struct {
grub_uint32_t base;
- int masksize;
+ int masksize;
} ipv4;
struct {
grub_uint64_t base[2];
- int masksize;
+ int masksize;
} ipv6;
};
} grub_net_network_level_netaddress_t;
typedef struct grub_net_socket *grub_net_socket_t;
-struct grub_net_app_protocol
+struct grub_net_app_protocol
{
struct grub_net_app_protocol *next;
struct grub_net_app_protocol **prev;
grub_net_arp_send_request (struct grub_net_network_level_interface *inf,
const grub_net_network_level_address_t *proto_addr);
-#endif
+#endif
GRUB_NET_ETHERTYPE_IP6 = 0x86DD,
} grub_net_ethertype_t;
-grub_err_t
+grub_err_t
send_ethernet_packet (struct grub_net_network_level_interface *inf,
struct grub_net_buff *nb,
grub_net_link_level_address_t target_addr,
grub_net_ethertype_t ethertype);
-grub_err_t
+grub_err_t
grub_net_recv_ethernet_packet (struct grub_net_buff *nb,
struct grub_net_card *card);
-#endif
+#endif
struct grub_net_buff *nb,
grub_net_ip_protocol_t proto);
-grub_err_t
+grub_err_t
grub_net_recv_icmp_packet (struct grub_net_buff *nb,
struct grub_net_network_level_interface *inf,
const grub_net_link_level_address_t *ll_src,
grub_err_t
grub_net_icmp6_send_router_solicit (struct grub_net_network_level_interface *inf);
-#endif
+#endif
struct grub_net_buff *nb);
-#endif
+#endif
get_physical_target_address (grub_relocator_chunk_t in);
grub_err_t
-grub_relocator_alloc_chunk_align (struct grub_relocator *rel,
+grub_relocator_alloc_chunk_align (struct grub_relocator *rel,
grub_relocator_chunk_t *out,
grub_phys_addr_t min_addr,
grub_phys_addr_t max_addr,
struct grub_relocator_mmap_event
{
enum {
- IN_REG_START = 0,
- IN_REG_END = 1,
- REG_BEG_START = 2,
+ IN_REG_START = 0,
+ IN_REG_END = 1,
+ REG_BEG_START = 2,
REG_BEG_END = REG_BEG_START | 1,
#if GRUB_RELOCATOR_HAVE_FIRMWARE_REQUESTS
- REG_FIRMWARE_START = 4,
+ REG_FIRMWARE_START = 4,
REG_FIRMWARE_END = REG_FIRMWARE_START | 1,
/* To track the regions already in heap. */
- FIRMWARE_BLOCK_START = 6,
+ FIRMWARE_BLOCK_START = 6,
FIRMWARE_BLOCK_END = FIRMWARE_BLOCK_START | 1,
#endif
#if GRUB_RELOCATOR_HAVE_LEFTOVERS
- REG_LEFTOVER_START = 8,
+ REG_LEFTOVER_START = 8,
REG_LEFTOVER_END = REG_LEFTOVER_START | 1,
#endif
COLLISION_START = 10,
};
};
-/* Return 0 on failure, 1 on success. The failure here
+/* Return 0 on failure, 1 on success. The failure here
can be very time-expensive, so please make sure fill events is accurate. */
#if GRUB_RELOCATOR_HAVE_FIRMWARE_REQUESTS
int grub_relocator_firmware_alloc_region (grub_phys_addr_t start,
term->gotoxy (term, pos);
}
-static inline void
-grub_term_setcolorstate (struct grub_term_output *term,
+static inline void
+grub_term_setcolorstate (struct grub_term_output *term,
grub_term_color_state state)
{
if (term->setcolorstate)
grub_setcolorstate (grub_term_color_state state)
{
struct grub_term_output *term;
-
+
FOR_ACTIVE_TERM_OUTPUTS(term)
grub_term_setcolorstate (term, state);
}
/* Turn on/off the cursor. */
-static inline void
+static inline void
grub_term_setcursor (struct grub_term_output *term, int on)
{
if (term->setcursor)
term->setcursor (term, on);
}
-static inline void
+static inline void
grub_term_cls (struct grub_term_output *term)
{
if (term->cls)
grub_unicode_shape_code (grub_uint32_t in, grub_uint8_t attr);
const grub_uint32_t *
-grub_unicode_get_comb_end (const grub_uint32_t *end,
+grub_unicode_get_comb_end (const grub_uint32_t *end,
const grub_uint32_t *cur);
#endif
/* Value is calculated/estimated in driver - some TDs should be */
/* reserved for posible concurrent control or "interrupt" transfers */
grub_size_t max_bulk_tds;
-
+
/* The next host controller. */
struct grub_usb_controller_dev *next;
};
{
grub_uint64_t soft_limit_time;
grub_uint64_t hard_limit_time;
- enum {
+ enum {
PORT_STATE_NORMAL = 0,
PORT_STATE_WAITING_FOR_STABLE_POWER = 1,
PORT_STATE_FAILED_DEVICE = 2,
struct grub_usb_device *dev;
struct grub_usb_transaction *transactions;
-
+
int last_trans;
/* Index of last processed transaction in OHCI/UHCI driver. */
grub_install_sgi_setup (const char *install_device,
const char *imgfile, const char *destname);
-int
+int
grub_install_compress_gzip (const char *src, const char *dest);
-int
+int
grub_install_compress_lzop (const char *src, const char *dest);
-int
+int
grub_install_compress_xz (const char *src, const char *dest);
void
{
GRUB_VGA_CR_HTOTAL = 0x00,
GRUB_VGA_CR_HORIZ_END = 0x01,
- GRUB_VGA_CR_HBLANK_START = 0x02,
- GRUB_VGA_CR_HBLANK_END = 0x03,
+ GRUB_VGA_CR_HBLANK_START = 0x02,
+ GRUB_VGA_CR_HBLANK_END = 0x03,
GRUB_VGA_CR_HORIZ_SYNC_PULSE_START = 0x04,
GRUB_VGA_CR_HORIZ_SYNC_PULSE_END = 0x05,
GRUB_VGA_CR_VERT_TOTAL = 0x06,
grub_video_register (grub_video_adapter_t adapter)
{
grub_video_adapter_t *p;
- for (p = &grub_video_adapter_list; *p && (*p)->prio > adapter->prio;
+ for (p = &grub_video_adapter_list; *p && (*p)->prio > adapter->prio;
p = &((*p)->next));
adapter->next = *p;
*p = adapter;
grub_uint8_t *blue,
grub_uint8_t *alpha);
-grub_err_t EXPORT_FUNC (grub_video_fill_rect) (grub_video_color_t color,
+grub_err_t EXPORT_FUNC (grub_video_fill_rect) (grub_video_color_t color,
int x, int y,
unsigned int width,
unsigned int height);
multiboot_uint32_t size;
multiboot_uint32_t entry_size;
multiboot_uint32_t entry_version;
- struct multiboot_mmap_entry entries[0];
+ struct multiboot_mmap_entry entries[0];
};
struct multiboot_vbe_info_block
multiboot_uint32_t descr_size;
multiboot_uint32_t descr_vers;
multiboot_uint8_t efi_mmap[0];
-};
+};
struct multiboot_tag_efi32_ih
{
/******************************************************************************
* xen-x86_32.h
- *
+ *
* Guest OS interface to x86 32-bit Xen.
- *
+ *
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to
* deal in the Software without restriction, including without limitation the
/******************************************************************************
* xen-x86_64.h
- *
+ *
* Guest OS interface to x86 64-bit Xen.
- *
+ *
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to
* deal in the Software without restriction, including without limitation the
/******************************************************************************
* arch-x86/xen.h
- *
+ *
* Guest OS interface to x86 Xen.
- *
+ *
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to
* deal in the Software without restriction, including without limitation the
typedef uint64_t tsc_timestamp_t; /* RDTSC timestamp */
/*
- * The following is all CPU context. Note that the fpu_ctxt block is filled
+ * The following is all CPU context. Note that the fpu_ctxt block is filled
* in by FXSAVE if the CPU has feature FXSR; otherwise FSAVE is used.
*
* Also note that when calling DOMCTL_setvcpucontext and VCPU_initialise
/******************************************************************************
* console.h
- *
+ *
* Console I/O interface for Xen guest OSes.
- *
+ *
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to
* deal in the Software without restriction, including without limitation the
/******************************************************************************
* protocols.h
- *
+ *
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to
* deal in the Software without restriction, including without limitation the
/******************************************************************************
* ring.h
- *
+ *
* Shared producer-consumer ring macros.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
/*
* Calculate size of a shared ring, given the total available space for the
* ring and indexes (_sz), and the name tag of the request/response structure.
- * A ring contains as many entries as will fit, rounded down to the nearest
+ * A ring contains as many entries as will fit, rounded down to the nearest
* power of two (so we can mask with (size-1) to loop around).
*/
#define __CONST_RING_SIZE(_s, _sz) \
/*
* Macros to make the correct C datatypes for a new kind of ring.
- *
+ *
* To make a new ring datatype, you need to have two message structures,
* let's say request_t, and response_t already defined.
*
*
* These expand out to give you a set of types, as you can see below.
* The most important of these are:
- *
+ *
* mytag_sring_t - The shared ring.
* mytag_front_ring_t - The 'front' half of the ring.
* mytag_back_ring_t - The 'back' half of the ring.
/*
* Macros for manipulating rings.
- *
- * FRONT_RING_whatever works on the "front end" of a ring: here
+ *
+ * FRONT_RING_whatever works on the "front end" of a ring: here
* requests are pushed on to the ring and responses taken off it.
- *
- * BACK_RING_whatever works on the "back end" of a ring: here
+ *
+ * BACK_RING_whatever works on the "back end" of a ring: here
* requests are taken off the ring and responses put on.
- *
- * N.B. these macros do NO INTERLOCKS OR FLOW CONTROL.
- * This is OK in 1-for-1 request-response situations where the
+ *
+ * N.B. these macros do NO INTERLOCKS OR FLOW CONTROL.
+ * This is OK in 1-for-1 request-response situations where the
* requestor (front end) never has more than RING_SIZE()-1
* outstanding requests.
*/
/*
* Notification hold-off (req_event and rsp_event):
- *
+ *
* When queueing requests or responses on a shared ring, it may not always be
* necessary to notify the remote end. For example, if requests are in flight
* in a backend, the front may be able to queue further requests without
* notifying the back (if the back checks for new requests when it queues
* responses).
- *
+ *
* When enqueuing requests or responses:
- *
+ *
* Use RING_PUSH_{REQUESTS,RESPONSES}_AND_CHECK_NOTIFY(). The second argument
* is a boolean return value. True indicates that the receiver requires an
* asynchronous notification.
- *
+ *
* After dequeuing requests or responses (before sleeping the connection):
- *
+ *
* Use RING_FINAL_CHECK_FOR_REQUESTS() or RING_FINAL_CHECK_FOR_RESPONSES().
* The second argument is a boolean return value. True indicates that there
* are pending messages on the ring (i.e., the connection should not be put
* to sleep).
- *
+ *
* These macros will set the req_event/rsp_event field to trigger a
* notification on the very next message that is enqueued. If you want to
* create batches of work (i.e., only receive a notification after several
/******************************************************************************
* xen-compat.h
- *
+ *
* Guest OS interface to Xen. Compatibility layer.
- *
+ *
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to
* deal in the Software without restriction, including without limitation the
/******************************************************************************
* xen.h
- *
+ *
* Guest OS interface to Xen.
- *
+ *
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to
* deal in the Software without restriction, including without limitation the
#define __HYPERVISOR_dom0_op __HYPERVISOR_platform_op
#endif
-/*
+/*
* VIRTUAL INTERRUPTS
- *
+ *
* Virtual interrupts that a guest OS may receive from Xen.
- *
+ *
* In the side comments, 'V.' denotes a per-VCPU VIRQ while 'G.' denotes a
* global VIRQ. The former can be bound once per VCPU and cannot be re-bound.
* The latter can be allocated only once per guest: they must initially be
* (x) encodes the PFD as follows:
* x == 0 => PFD == DOMID_SELF
* x != 0 => PFD == x - 1
- *
+ *
* Sub-commands: ptr[1:0] specifies the appropriate MMU_* command.
* -------------
* ptr[1:0] == MMU_NORMAL_PT_UPDATE:
* To deallocate the pages, the operations are the reverse of the steps
* mentioned above. The argument is MMUEXT_UNPIN_TABLE for all levels and the
* pagetable MUST not be in use (meaning that the cr3 is not set to it).
- *
+ *
* ptr[1:0] == MMU_MACHPHYS_UPDATE:
* Updates an entry in the machine->pseudo-physical mapping table.
* ptr[:2] -- Machine address within the frame whose mapping to modify.
* The frame must belong to the FD, if one is specified.
* val -- Value to write into the mapping entry.
- *
+ *
* ptr[1:0] == MMU_PT_UPDATE_PRESERVE_AD:
* As MMU_NORMAL_PT_UPDATE above, but A/D bits currently in the PTE are ORed
* with those in @val.
struct vcpu_info {
/*
* 'evtchn_upcall_pending' is written non-zero by Xen to indicate
- * a pending notification for a particular VCPU. It is then cleared
+ * a pending notification for a particular VCPU. It is then cleared
* by the guest OS /before/ checking for pending work, thus avoiding
* a set-and-check race. Note that the mask is only accessed by Xen
* on the CPU that is currently hosting the VCPU. This means that the
* 3. Virtual interrupts ('events'). A domain can bind an event-channel
* port to a virtual interrupt source, such as the virtual-timer
* device or the emergency console.
- *
+ *
* Event channels are addressed by a "port index". Each channel is
* associated with two bits of information:
* 1. PENDING -- notifies the domain that there is a pending notification
* becomes pending while the channel is masked then the 'edge' is lost
* (i.e., when the channel is unmasked, the guest must manually handle
* pending notifications as no upcall will be scheduled by Xen).
- *
+ *
* To expedite scanning of pending notifications, any 0->1 pending
* transition on an unmasked channel causes a corresponding bit in a
* per-vcpu selector word to be set. Each bit in the selector covers a