diff options
| author | Wei Liu <wei.liu2@citrix.com> | 2012-04-12 10:01:43 +0000 |
|---|---|---|
| committer | Stefano Stabellini <stefano.stabellini@eu.citrix.com> | 2012-04-13 17:34:08 +0000 |
| commit | f1dbf015dfb0aa7f66f710a1f1bc58b662951de2 (patch) | |
| tree | 3bc3d4c32d908a5dafea56eb1f39dd7440b2bc0f | |
| parent | 7672725d41d1a04195affc1a7bd5676ba6314b14 (diff) | |
| download | focaccia-qemu-f1dbf015dfb0aa7f66f710a1f1bc58b662951de2.tar.gz focaccia-qemu-f1dbf015dfb0aa7f66f710a1f1bc58b662951de2.zip | |
Xen: basic HVM MSI injection support.
Signed-off-by: Wei Liu <wei.liu2@citrix.com> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
| -rw-r--r-- | hw/xen.h | 1 | ||||
| -rw-r--r-- | xen-all.c | 5 | ||||
| -rw-r--r-- | xen-stub.c | 4 |
3 files changed, 10 insertions, 0 deletions
diff --git a/hw/xen.h b/hw/xen.h index b46879c6f7..e5926b7b8a 100644 --- a/hw/xen.h +++ b/hw/xen.h @@ -34,6 +34,7 @@ static inline int xen_enabled(void) int xen_pci_slot_get_pirq(PCIDevice *pci_dev, int irq_num); void xen_piix3_set_irq(void *opaque, int irq_num, int level); void xen_piix_pci_write_config_client(uint32_t address, uint32_t val, int len); +void xen_hvm_inject_msi(uint64_t addr, uint32_t data); void xen_cmos_set_s3_resume(void *opaque, int irq, int level); qemu_irq *xen_interrupt_controller_init(void); diff --git a/xen-all.c b/xen-all.c index 3e6de417ec..abd2b2d7a1 100644 --- a/xen-all.c +++ b/xen-all.c @@ -122,6 +122,11 @@ void xen_piix_pci_write_config_client(uint32_t address, uint32_t val, int len) } } +void xen_hvm_inject_msi(uint64_t addr, uint32_t data) +{ + xc_hvm_inject_msi(xen_xc, xen_domid, addr, data); +} + static void xen_suspend_notifier(Notifier *notifier, void *data) { xc_set_hvm_param(xen_xc, xen_domid, HVM_PARAM_ACPI_S_STATE, 3); diff --git a/xen-stub.c b/xen-stub.c index 9ea02d435e..8ff2b79ac6 100644 --- a/xen-stub.c +++ b/xen-stub.c @@ -29,6 +29,10 @@ void xen_piix_pci_write_config_client(uint32_t address, uint32_t val, int len) { } +void xen_hvm_inject_msi(uint64_t addr, uint32_t data) +{ +} + void xen_cmos_set_s3_resume(void *opaque, int irq, int level) { } |