Displaying 2 results from an estimated 2 matches for "send_msi".
Did you mean:
send_msg
2009 May 20
9
[PATCH] qemu: msi irq allocation api
...te {
uint64_t ioredtbl[IOAPIC_NUM_PINS];
};
+struct msi_state {
+ uint64_t addr;
+ uint32_t data;
+};
+
static void ioapic_service(IOAPICState *s)
{
uint8_t i;
@@ -259,3 +275,52 @@ IOAPICState *ioapic_init(void)
return s;
}
+
+/* MSI/MSI-X support */
+static void ioapic_send_msi(void *opaque, int irq, int level)
+{
+ struct msi_state *state = opaque;
+ uint8_t dest = (state[irq].addr & MSI_ADDR_DEST_ID_MASK)
+ >> MSI_ADDR_DEST_ID_SHIFT;
+ uint8_t vector = ((state[irq].addr >> 32) & MSI_DATA_VECTOR_MASK)
+ >> MSI_DATA_VECTOR_...
2009 May 20
9
[PATCH] qemu: msi irq allocation api
...te {
uint64_t ioredtbl[IOAPIC_NUM_PINS];
};
+struct msi_state {
+ uint64_t addr;
+ uint32_t data;
+};
+
static void ioapic_service(IOAPICState *s)
{
uint8_t i;
@@ -259,3 +275,52 @@ IOAPICState *ioapic_init(void)
return s;
}
+
+/* MSI/MSI-X support */
+static void ioapic_send_msi(void *opaque, int irq, int level)
+{
+ struct msi_state *state = opaque;
+ uint8_t dest = (state[irq].addr & MSI_ADDR_DEST_ID_MASK)
+ >> MSI_ADDR_DEST_ID_SHIFT;
+ uint8_t vector = ((state[irq].addr >> 32) & MSI_DATA_VECTOR_MASK)
+ >> MSI_DATA_VECTOR_...