2016-09-23 17:41+0800, Peter Xu: > On Thu, Sep 22, 2016 at 11:04:30PM +0200, Radim Krčmář wrote: > > [...] > >> @@ -279,18 +280,16 @@ static void vtd_update_iotlb(IntelIOMMUState *s, >> uint16_t source_id, >> static void vtd_generate_interrupt(IntelIOMMUState *s, hwaddr mesg_addr_reg, >> hwaddr mesg_data_reg) >> { >> - hwaddr addr; >> - uint32_t data; >> + MSIMessage msi; >> >> assert(mesg_data_reg < DMAR_REG_SIZE); >> assert(mesg_addr_reg < DMAR_REG_SIZE); >> >> - addr = vtd_get_long_raw(s, mesg_addr_reg); >> - data = vtd_get_long_raw(s, mesg_data_reg); >> + msi.address = vtd_get_long_raw(s, mesg_addr_reg); >> + msi.data = vtd_get_long_raw(s, mesg_data_reg); >> >> VTD_DPRINTF(FLOG, "msi: addr 0x%"PRIx64 " data 0x%"PRIx32, addr, data); > > Need to fix addr/data as well?
Oops, thanks.