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

Re: [Xen-devel] [PATCH 1 of 6] Add an ACPI device exposing a package called ADDR, evaluating to two



> -----Original Message-----
> From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx [mailto:xen-devel-
> bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Paul Durrant
> Sent: Tuesday, November 29, 2011 5:53 AM
> To: xen-devel@xxxxxxxxxxxxxxxxxxx
> Cc: Paul Durrant
> Subject: [Xen-devel] [PATCH 1 of 6] Add an ACPI device exposing a
> package called ADDR, evaluating to two
> 
> # HG changeset patch
> # User Paul Durrant <paul.durrant@xxxxxxxxxx> # Date 1322563733 0 # Node
> ID ac68bd6d4853fdde5a24d78a7d0f1cee69f5416e
> # Parent  a9c67c2daf4b0181ef2581471ea920eecb495616
> Add an ACPI device exposing a package called ADDR, evaluating to two
> integers, and with _CID and _DDN set to "VM_Gen_Counter".
> 
> Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
> 
> diff -r a9c67c2daf4b -r ac68bd6d4853
> tools/firmware/hvmloader/acpi/build.c
> --- a/tools/firmware/hvmloader/acpi/build.c   Mon Nov 28 11:57:23 2011
> +0000
> +++ b/tools/firmware/hvmloader/acpi/build.c   Tue Nov 29 10:48:53 2011
> +0000
> @@ -47,6 +47,7 @@ struct acpi_info {
>      uint32_t pci_min, pci_len;  /* 4, 8 - PCI I/O hole boundaries */
>      uint32_t madt_csum_addr;    /* 12   - Address of MADT checksum */
>      uint32_t madt_lapic0_addr;  /* 16   - Address of first MADT LAPIC
> struct */
> +    uint32_t vm_gid_addr;       /* 20   - Address of VM generation id
> buffer */
>  };
> 
>  /* Number of processor objects in the chosen DSDT. */ diff -r
> a9c67c2daf4b -r ac68bd6d4853 tools/firmware/hvmloader/acpi/dsdt.asl
> --- a/tools/firmware/hvmloader/acpi/dsdt.asl  Mon Nov 28 11:57:23 2011
> +0000
> +++ b/tools/firmware/hvmloader/acpi/dsdt.asl  Tue Nov 29 10:48:53 2011
> +0000
> @@ -55,7 +55,8 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2,
>             PMIN, 32,
>             PLEN, 32,
>             MSUA, 32, /* MADT checksum address */
> -           MAPA, 32  /* MADT LAPIC0 address */
> +           MAPA, 32, /* MADT LAPIC0 address */
> +           VGIA, 32  /* VM generation id address */
>         }
> 
>          /* Fix HCT test for 0x400 pci memory:
> @@ -396,6 +397,31 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2,
>                          IRQNoFlags () {7}
>                      })
>                  }
> +
> +                Device(VGID) {
> +                    Name(_HID, "ACPI0001")
> +                    Name(_UID, 0x00)
> +                    Name(_CID, "VM_Gen_Counter")
> +                    Name(_DDN, "VM_Gen_Counter")
> +                    Method(_STA, 0, NotSerialized)
> +                    {
> +                        If(LEqual(\_SB.VGIA, 0x00000000)) {
> +                            Return(0x00)
> +                        } Else {
> +                            Return(0x0F)
> +                        }
> +                    }
> +                    Name(PKG, Package ()
> +                    {
> +                        0x00000000,
> +                        0x00000000
> +                    })
> +                    Method(ADDR, 0, NotSerialized)
> +                    {
> +                        Store(\_SB.VGIA, Index(PKG, 0))
> +                        Return(PKG)
> +                    }
> +                }
>              }
>          }
>      }
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel

Paul, perhaps a different _HID might be better. Per the 3.0 spec, ACPI0001 is 
for SMBus host controller device; this might lead to some confusion for an 
OSPM. Maybe one of the generic PNP device IDs or perhaps we need a manufacturer 
ID for Xen?

Ross


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.