On Wed, Jun 23, 2010 at 06:35:55PM +0300, Avi Kivity wrote: > On 06/23/2010 06:26 PM, Michael S. Tsirkin wrote: >> >> >>>> >>>> >>>>>>> Shouldn't a reset be equivalent to power cycling? >>>>>>> >>>>>>> >>>>>>> >>>>>> If we did this, driver would need to restore registers >>>>>> such as BAR etc. >>>>>> >>>>>> >>>>>> >>>>> We could save/restore the registers we care about. >>>>> >>>>> >>>> It seems easier to clear registers we care about. >>>> >>> We know the registers we care about, we don't know the ones we don't. >>> >> If/when we use more registers, we can update driver to clear them on start. >> > > The kdump kernel may not load drivers for those extra devices. Then we don't care about clearing them? >>> I'm talking about FLRing all cards, not just those you want to use. >>> >> reset using FLR/PM is complex because of the need to save/restore >> config space. Doing this on a crashing kernel sounds scary. >> > > Well, you only need to save/restore for the devices you use. The rest > you reset and forget. > > I don't really see why copying some config space is crazy. Maybe not crazy, but complex. Look at pci_restore_state. Anyway, if kdump wants to do this, it's a question of calling pci_reset_function. >>>> It's also too late >>>> now: changing behaviour will break old drivers. >>>> >>>> >>> Why? the FLR is triggered by the guest kernel, so all drivers will be >>> aware it was FLRed. >>> >> Not for FLR. Too late to reset on PA write. >> >> > > What's PA write? thats how we reset virtio today: write 0 to PA register. > -- > error compiling committee.c: too many arguments to function _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/virtualization