On Fri, 2012-08-03 at 17:01 +0200, Andreas Färber wrote: > > I have posted a suggestion where CPU reset is triggered by "the > machine > as an abstract concept" (needs a bit of tweaking still, but the > general > idea is there). > Based on that, shouldn't it be rather easy to add a Notifier similar > to > "machine init done" that lets individual machines do post-reset setup? > I.e. not have QEMUMachine trigger and control the reset. >
Note that we really want pre and post reset vs the device reset. That's why the machine should be the one in charge. The top level of the reset sequencing is -not- the CPU, it's the machine. All machines (or SoCs) have some kind of reset controller and provide facilities for resetting individual devices, busses, processor cores.... the global "system" reset (when it exists) itself might have interesting ordering or sequencing requirements. Now, to fix our immediate problem on ppc for 1.2 the hook proposed by Anthony for which David sent a patch does the job just fine, it allows us to clean out all our iommu tables before the device-reset, meaning that in-flights DMA cannot overwrite the various "files" (SLOF image etc.... that are auto-loaded via reset handlers implicitely created by load_image_targphys), and we can then do some post-initializations as well to get things ready for a restart (rebuild the device-tree, etc...) Cheers, Ben.