Annotation of qemu/hw/xen.h, revision 1.1.1.4

1.1       root        1: #ifndef QEMU_HW_XEN_H
                      2: #define QEMU_HW_XEN_H 1
                      3: /*
                      4:  * public xen header
                      5:  *   stuff needed outside xen-*.c, i.e. interfaces to qemu.
                      6:  *   must not depend on any xen headers being present in
                      7:  *   /usr/include/xen, so it can be included unconditionally.
                      8:  */
                      9: #include <inttypes.h>
                     10: 
1.1.1.2   root       11: #include "qemu-common.h"
                     12: 
1.1       root       13: /* xen-machine.c */
                     14: enum xen_mode {
                     15:     XEN_EMULATE = 0,  // xen emulation, using xenner (default)
                     16:     XEN_CREATE,       // create xen domain
                     17:     XEN_ATTACH        // attach to xen domain created by xend
                     18: };
                     19: 
                     20: extern uint32_t xen_domid;
                     21: extern enum xen_mode xen_mode;
                     22: 
1.1.1.2   root       23: extern int xen_allowed;
                     24: 
                     25: static inline int xen_enabled(void)
                     26: {
1.1.1.3   root       27: #if defined(CONFIG_XEN_BACKEND) && !defined(CONFIG_NO_XEN)
1.1.1.2   root       28:     return xen_allowed;
                     29: #else
                     30:     return 0;
                     31: #endif
                     32: }
                     33: 
                     34: int xen_pci_slot_get_pirq(PCIDevice *pci_dev, int irq_num);
                     35: void xen_piix3_set_irq(void *opaque, int irq_num, int level);
                     36: void xen_piix_pci_write_config_client(uint32_t address, uint32_t val, int len);
1.1.1.4 ! root       37: void xen_hvm_inject_msi(uint64_t addr, uint32_t data);
1.1.1.2   root       38: void xen_cmos_set_s3_resume(void *opaque, int irq, int level);
                     39: 
                     40: qemu_irq *xen_interrupt_controller_init(void);
                     41: 
                     42: int xen_init(void);
                     43: int xen_hvm_init(void);
                     44: void xen_vcpu_init(void);
                     45: void xenstore_store_pv_console_info(int i, struct CharDriverState *chr);
                     46: 
                     47: #if defined(NEED_CPU_H) && !defined(CONFIG_USER_ONLY)
1.1.1.4 ! root       48: struct MemoryRegion;
        !            49: void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size,
        !            50:                    struct MemoryRegion *mr);
1.1.1.2   root       51: #endif
                     52: 
1.1.1.4 ! root       53: struct MemoryRegion;
        !            54: void xen_register_framebuffer(struct MemoryRegion *mr);
        !            55: 
1.1.1.2   root       56: #if defined(CONFIG_XEN) && CONFIG_XEN_CTRL_INTERFACE_VERSION < 400
                     57: #  define HVM_MAX_VCPUS 32
                     58: #endif
                     59: 
1.1.1.4 ! root       60: static inline int xen_msi_support(void)
        !            61: {
        !            62: #if defined(CONFIG_XEN_CTRL_INTERFACE_VERSION) \
        !            63:     && CONFIG_XEN_CTRL_INTERFACE_VERSION >= 420
        !            64:     return xen_enabled();
        !            65: #else
        !            66:     return 0;
        !            67: #endif
        !            68: }
        !            69: 
1.1       root       70: #endif /* QEMU_HW_XEN_H */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.