]>
Commit | Line | Data |
---|---|---|
e37630ca AL |
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 | */ | |
23327f75 | 9 | #include <inttypes.h> |
e37630ca | 10 | |
41445300 AP |
11 | #include "qemu-common.h" |
12 | ||
e37630ca AL |
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 | ||
3285cf4f AP |
23 | extern int xen_allowed; |
24 | ||
25 | static inline int xen_enabled(void) | |
26 | { | |
27 | #ifdef CONFIG_XEN | |
28 | return xen_allowed; | |
29 | #else | |
30 | return 0; | |
31 | #endif | |
32 | } | |
33 | ||
41445300 AP |
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); | |
37 | ||
9c11a8ac AP |
38 | qemu_irq *xen_interrupt_controller_init(void); |
39 | ||
3285cf4f | 40 | int xen_init(void); |
29d3ccde AP |
41 | int xen_hvm_init(void); |
42 | void xen_vcpu_init(void); | |
43 | ||
44 | #if defined(CONFIG_XEN) && CONFIG_XEN_CTRL_INTERFACE_VERSION < 400 | |
45 | # define HVM_MAX_VCPUS 32 | |
46 | #endif | |
3285cf4f | 47 | |
e37630ca | 48 | #endif /* QEMU_HW_XEN_H */ |