On Sun, Dec 22, 2013 at 04:58:58PM +0100, Laszlo Ersek wrote: > After this patch, ISA interrupt 6 is used by both "SMC" and "FDC0". The > latter depends on the FDEN object, but FDEN is currently constant 1. > > Probably not a problem in practice (ie. most users won't try to specify > both a floppy disk controller and an AppleSMC device), but you might > want to handle that case nonetheless (exit with an error or some such).
I couldn't find a command line option to prevent QEMU from starting with a floppy controller, so unless I missed it, we'd always detect a "conflict". According to the applesmc.c source, the emulated Apple SMC doesn't support IRQ, so the number itself should be irrelevant. IRQ #6 is what's used on real Apple hardware, but when I tried with a different number (e.g. #5), OS X booted fine in QEMU (it does fail to boot if we leave out IRQNoFlags entirely from the SMC DSDT node, though). I could patch the value of FDEN to 0 whenever I enable the SMC _STA method (i.e, when I patch its value to 0x0B), but that still wouldn't take care of the fact that the emulated FDC is still present. So, my preferred course of action would be, in this order: 1. Do nothing :) or 2. Use "IRQNoFlags() { 5 }" with the SMC (or any other number that isn't already allocated. Any other suggestions or ideas would be welcome ! Thanks, --Gabriel