func (msix *MsiXDevice) Attach(vm *platform.Vm, model *Model) error { // Reset all transient links. // These may be lost in serialization. for _, entry := range msix.Entries { entry.MsiXDevice = msix } // Save our interrupt function. msix.msi_interrupt = func(addr platform.Paddr, data uint32) error { return vm.SignalMSI(addr, data, 0) } // Attach to the PciBus. return msix.PciDevice.Attach(vm, model) }