On Sun, Dec 22, 2013 at 11:21:00PM +0100, Laszlo Ersek wrote: > > 2. Use "IRQNoFlags() { 5 }" with the SMC (or any other > > number that isn't already allocated. > > I don't think there's anything left free: >... > > I guess the "by the book" solution would be to really stop the FDC from > being emulated when the AppleSMC is present, but I mention that idea > only because I like to waste bandwidth. > > Option 1 ("Do nothing") sounds appropriate to me.
So making the FDC optional (or at least allowing it to be left out) sounds like it could be a fun project I could play with later (unless anyone else beats me to it), but it would be nice if it didn't end up a hard precondition for getting the SMC ACPI patch accepted :) Once we can turn off the FDC, we can make it and the SMC mutually exclusive and/or throw an error if both are enabled. In reality (and Alex, please correct me if I'm wrong), the emulated SMC will never generate an INT#6, unlike the real hardware chip. The emulated SMC is just there to say "Yeah, boss, sure, let me get right on that for you!" to OS X, to calm it down and make it think everything is right with its little universe :) The real chip might trigger an interrupt if something's getting too hot, or a fan stopped spinning when it shouldn't have, but that's never going to happen on a VM guest. OS X doesn't even assume the presence of an FDC, and any guest OS which expects an FDC will never get unexpected conflicting interrupts from the emulated SMC, should the latter be enabled, accidentally or not. So in practice the risk for any trouble should be about zero... Thanks for helping me think this stuff through ! --Gabriel