qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v4 5/6] i386: Hyper-V VMBus ACPI DSDT entry


From: Maciej S. Szmigiero
Subject: Re: [PATCH v4 5/6] i386: Hyper-V VMBus ACPI DSDT entry
Date: Wed, 6 May 2020 15:37:15 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0

On 05.05.2020 17:38, Jon Doron wrote:
> On 05/05/2020, Igor Mammedov wrote:
> 
> I dont know what were the original intentions of the original patch authors 
> (at this point I simply rebased it, and to be honest I did not need this 
> patch to get where I was going to, but it was part of the original patchset).
> 
> But I'm willing to do any changes so we can keep going forward with this.
> 
>> On Fri, 24 Apr 2020 15:34:43 +0300
>> Jon Doron <address@hidden> wrote:
>>
>>> Guest OS uses ACPI to discover VMBus presence.  Add a corresponding
>>> entry to DSDT in case VMBus has been enabled.
>>>
>>> Experimentally Windows guests were found to require this entry to
>>> include two IRQ resources. They seem to never be used but they still
>>> have to be there.
>>>
>>> Make IRQ numbers user-configurable via corresponding properties; use 7
>>> and 13 by default.
>> well, it seems that at least linux guest driver uses one IRQ,
>> abeit not from ACPI descriptior
>>
>> perhaps it's what hyperv host puts into _CRS.
>> Could you dump ACPI tables and check how hyperv describes vmbus in acpi?
>>
>>
> 
> I can no longer get to the HyperV computer I had (in the office so hopefully 
> if someone else has access to HyperV machine and willing to reply here with 
> the dumped ACPI tables that would be great).
> 

Here is a VMBus ACPI device description from Hyper-V in Windows Server 2019:

Device (\_SB.VMOD.VMBS)
{
    Name (STA, 0x0F)
    Name (_ADR, Zero)  // _ADR: Address
    Name (_DDN, "VMBUS")  // _DDN: DOS Device Name
    Name (_HID, "VMBus")  // _HID: Hardware ID
    Name (_UID, Zero)  // _UID: Unique ID
    Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
    {
        STA &= 0x0D
    }

    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
    {
        STA |= 0x0F
    }

    Method (_STA, 0, NotSerialized)  // _STA: Status
    {
        Return (STA) /* \_SB_.VMOD.VMBS.STA_ */
    }

    Name (_PS3, Zero)  // _PS3: Power State 3
    Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
    {
        IRQ (Edge, ActiveHigh, Exclusive, )
            {5}
    })
}

It seems to use just IRQ 5.

Maciej



reply via email to

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