Hi! On Tue, Jan 25, 2011 at 11:02:35AM -0500, James Bottomley wrote: > On Tue, 2011-01-25 at 17:36 +0200, Ahmed S. Darwish wrote: > > The complete __roadblock__ I'm currently facing though is restoring the disk > > controllers to the state originally setup by the BIOS Power-on self-test (POST). > > I hope such re-initialization is even technically feasible. > > > > Without such re-initialization, we'll just be risking the BIOS code exploding. > > That was the case in the 5-minute hang described in the cover sheet (PATCH #0). > > So this is the bit that's not really technically feasible. BIOS tends > to run storage devices in a very primitive way (so it takes basic > settings, for example and sets the device up for one particular channel > of access). When preparing the device for an operating system, we have > to blow away all the bios stuff and put it into a more generally > performant mode (this isn't just the storage per se, it's also the > interrupt and routing). Unfortunately, currently, we don't bother to > save the settings the BIOS was using, so there's no way to reinitialise > the device back to bios without an effective reboot. > My current x86 laptop includes the very common ATA PIIX controller. If I dumped the PIC, IOAPIC, and disk controller state in a register file in a safe area, and re-initialized these before giving control to the BIOS, can this move the solution space from being not really technically feasible to "quite possible"? I have to admit that my knowledge of disk controllers is nil. The final result though can really be worth the effort (as stated by Ingo's mail), so I'm _willing_ to explore and prototype different paths. > > Most BIOS doesn't seem to contain storage re-POST code that's usable > (it's all embedded in the boot sequence). > There's this arcane `Warm boot with partial re-initialization' BIOS feature using the CMOS register 0xf, but I don't want to to depend on it either. > James > Thanks, -- Darwish http://darwish.07.googlepages.com -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html