qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] Add option to disable FDC from ISA bus and ACPI


From: Gabriel L. Somlo
Subject: Re: [Qemu-devel] [PATCH] Add option to disable FDC from ISA bus and ACPI on i386
Date: Fri, 10 Jan 2014 10:35:14 -0500
User-agent: Mutt/1.5.21 (2010-09-15)

On Fri, Jan 10, 2014 at 01:37:14PM +0100, Paolo Bonzini wrote:
> Il 09/01/2014 22:44, Gabriel L. Somlo ha scritto:
> > 1. hardcode "IRQNoFlags(){2, 8}" and require -no-hpet to prevent XP
> >    from bluescreening. Basically, this means we don't support XP on
> >    a VM where HPET is enabled.
> > 
> > 2. conditionally insert "IRQNoFlags(){2, 8}" if _OSI("Darwin") returns
> >    0xFFFFFFFF, which is only necessary if we want to run OS X on piix+smp
> >    (all other combinations of (piix vs. q35) x (up vs.  smp) work fine
> >    already).
> 
> _OSI is bad, but (1) is worse.

Agreed.

> > I still don't get why on real hardware where the HPET has
> > "IRQNoFlags(){2, 8}" in its _CRS method XP seems to be OK...
> 
> My laptop has this:
>
> [...] 
>
>                     Name (BUF0, ResourceTemplate ()
>                     {
>                         Memory32Fixed (ReadOnly,
>                             0xFED00000,         // Address Base
>                             0x00000400,         // Address Length
>                             _Y27)
>                     })
>                     Method (_CRS, 0, Serialized)  // _CRS: Current Resource 
> Settings
>                     {
>                         CreateDWordField (BUF0, \_SB.PCI0.LPC.HPET._Y27._BAS, 
> HPT0)  // _BAS: Base Address
>                         Store (\HPET, HPT0)    // HPET comes from a table 
> that BIOS fills in reserved memory
>                         Return (BUF0)
>                     }
>                 }
> 
> so no IRQs, and my workstation is similar.  They are respectively from
> Lenovo and Fujitsu.  Looks like an Apple quirk.

Hmmm, I could have sworn I saw IRQNoFlags on one of my old Dell
laptops (Dell Latitude D630), but I just had another look and it's
not there, so I was clearly misremembering that !

I think you're right, of all the hardware I currently have access to,
only the various Apple machines have IRQNoFlags in HPET._CRS !

Given that, I'm starting to feel better and better about using _OSI().

Michael: regarding your comment about "ConcatenateResTemplate" not
being supported by XP: Can I safely assume that as long as it's always
on the branch NOT taken by XP, we're OK having it in there ? E.g.,

    if _OSI("Darwin") then
      ConcatenateResTemplate...
    else
      stuff_that_XP_cares_about

Once I have that sorted out, I'll send a patch.

Thanks,
--Gabriel



reply via email to

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