qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3] Add DSDT node for AppleSMC


From: Gabriel L. Somlo
Subject: Re: [Qemu-devel] [PATCH v3] Add DSDT node for AppleSMC
Date: Sun, 22 Dec 2013 22:19:52 -0500
User-agent: Mutt/1.5.21 (2010-09-15)

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]