Il 10/08/2014 13:32, Gal Hammer ha scritto:
> Based on Microsoft's sepecifications (paper can be dowloaded from
> http://go.microsoft.com/fwlink/?LinkId=260709), add a device
> description to the SSDT ACPI table.
> 
> The GUID is set using a new "-vmgenid" command line parameter.
> 
> Signed-off-by: Gal Hammer <gham...@redhat.com>
> ---
>  hw/i386/acpi-build.c  | 23 +++++++++++++++++++++++
>  hw/i386/ssdt-misc.dsl | 33 +++++++++++++++++++++++++++++++++
>  qemu-options.hx       |  9 +++++++++
>  vl.c                  | 11 +++++++++++
>  4 files changed, 76 insertions(+)

Please make this a new device (like pvpanic), instead of adding a new
command-line option.

> 
> +    Scope(\_SB) {
> +
> +        Device(VMGI) {
> +            Name(_HID, "QEMU0002")
> +            Name(_CID, "VM_Gen_Counter")
> +            Name(_DDN, "VM_Gen_Counter")
> +
> +            ACPI_EXTRACT_NAME_DWORD_CONST ssdt_acpi_vm_gid_addr
> +            Name(VGIA, 0x12345678)
> +
> +            ACPI_EXTRACT_NAME_BUFFER16 ssdt_acpi_vm_gid
> +            Name(VGID, Buffer(16) {
> +                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> +                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 })
> +
> +            Method(_STA, 0, NotSerialized) {
> +                Store(VGIA, Local0)
> +                If (LEqual(Local0, Zero)) {
> +                    Return (0x00)
> +                } Else {
> +                    Return (0x0F)
> +                }
> +            }
> +
> +            Method(ADDR, 0, Serialized) {
> +                Store(Package(2) { }, Local0)
> +                Store(VGIA, Index(Local0, 0))
> +                Store(0x0000, Index(Local0, 1))
> +                return (Local0)
> +            }
> +        }
> +    }
> +

Please either put this in the DSDT, or omit the Device altogether if you
put it in the SSDT and there is no VMGID device.

Thanks,

Paolo

Reply via email to