[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] Add optional ACPI device for Windows Continuum
> -----Original Message----- > From: Andrew Cooper [mailto:andrew.cooper3@xxxxxxxxxx] > Sent: 14 July 2016 14:21 > To: Owen Smith; xen-devel@xxxxxxxxxxxxxxxxxxxx > Subject: Re: [Xen-devel] [PATCH] Add optional ACPI device for Windows > Continuum > > On 13/07/16 10:16, Owen Smith wrote: > > Windows 10 supports a specific ACPI device for handling the switch > > between tablet mode and desktop mode. The meer existance of this > > device is the mimimum to allow tablet/desktop mode to be switched. > > Tablet mode referes to the "undocked" state where all applications are > > forced full screen and additional touch screen elements are added, > > such as touch keyboard, larger icons and menus, and touch gestures for > > ease of use. > > > > Signed-off-by: Owen Smith <owen.smith@xxxxxxxxxx> > > Are there any docs which can be referenced about this device? > I must have missed the links from the comment https://msdn.microsoft.com/en-us/library/windows/hardware/dn917883(v=vs.85).aspx https://msdn.microsoft.com/en-us/library/windows/hardware/dn457868(v=vs.85).aspx > > --- > > tools/firmware/hvmloader/acpi/Makefile | 4 ++-- > > tools/firmware/hvmloader/acpi/build.c | 11 ++++++++++ > > tools/firmware/hvmloader/acpi/ssdt_conv.asl | 31 > +++++++++++++++++++++++++++++ > > tools/libxl/libxl_types.idl | 1 + > > tools/libxl/xl_cmdimpl.c | 1 + > > 5 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 > > tools/firmware/hvmloader/acpi/ssdt_conv.asl > > > > diff --git a/tools/firmware/hvmloader/acpi/Makefile > > b/tools/firmware/hvmloader/acpi/Makefile > > index d3e882a..d75c7af 100644 > > --- a/tools/firmware/hvmloader/acpi/Makefile > > +++ b/tools/firmware/hvmloader/acpi/Makefile > > @@ -25,7 +25,7 @@ CFLAGS += $(CFLAGS_xeninclude) vpath iasl $(PATH) > > all: acpi.a > > > > -ssdt_s3.h ssdt_s4.h ssdt_pm.h ssdt_tpm.h: %.h: %.asl iasl > > +ssdt_s3.h ssdt_s4.h ssdt_conv.h ssdt_pm.h ssdt_tpm.h: %.h: %.asl iasl > > iasl -vs -p $* -tc $< > > sed -e 's/AmlCode/$*/g' $*.hex >$@ > > rm -f $*.hex $*.aml > > @@ -56,7 +56,7 @@ iasl: > > @echo > > @exit 1 > > > > -build.o: ssdt_s3.h ssdt_s4.h ssdt_pm.h ssdt_tpm.h > > +build.o: ssdt_s3.h ssdt_s4.h ssdt_conv.h ssdt_pm.h ssdt_tpm.h > > > > acpi.a: $(OBJS) > > $(AR) rc $@ $(OBJS) > > diff --git a/tools/firmware/hvmloader/acpi/build.c > > b/tools/firmware/hvmloader/acpi/build.c > > index 1f7103e..6485ac8 100644 > > --- a/tools/firmware/hvmloader/acpi/build.c > > +++ b/tools/firmware/hvmloader/acpi/build.c > > @@ -18,6 +18,7 @@ > > #include "acpi2_0.h" > > #include "ssdt_s3.h" > > #include "ssdt_s4.h" > > +#include "ssdt_conv.h" > > #include "ssdt_tpm.h" > > #include "ssdt_pm.h" > > #include "../config.h" > > @@ -398,6 +399,16 @@ static int construct_secondary_tables(unsigned > long *table_ptrs, > > printf("S4 disabled\n"); > > } > > > > + if ( !strncmp(xenstore_read("platform/acpi_conv", "1"), "1", 1) ) > > + { > > + ssdt = mem_alloc(sizeof(ssdt_conv), 16); > > + if (!ssdt) return -1; > > + memcpy(ssdt, ssdt_conv, sizeof(ssdt_conv)); > > + table_ptrs[nr_tables++] = (unsigned long)ssdt; > > + } else { > > + printf("Conv disabled\n"); > > + } > > I would drop this else clause. It isn't interesting in the general case, and > anyone who doesn't know exactly what Conv is will be confused by it. > Sure > > + > > /* TPM TCPA and SSDT. */ > > tis_hdr = (uint16_t *)0xFED40F00; > > if ( (tis_hdr[0] == tis_signature[0]) && diff --git > > a/tools/firmware/hvmloader/acpi/ssdt_conv.asl > > b/tools/firmware/hvmloader/acpi/ssdt_conv.asl > > new file mode 100644 > > index 0000000..6e20340 > > --- /dev/null > > +++ b/tools/firmware/hvmloader/acpi/ssdt_conv.asl > > @@ -0,0 +1,31 @@ > > +/* > > + * ssdt_conv.asl > > + * > > + * Copyright (c) 2015 Citrix Systems, Inc. > > Year. > Ok > > + * > > + * This program is free software; you can redistribute it and/or > > + modify > > + * it under the terms of the GNU General Public License as published > > + by > > + * the Free Software Foundation; either version 2 of the License, or > > + * (at your option) any later version. > > + * > > + * This program is distributed in the hope that it will be useful, > > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > > + * GNU General Public License for more details. > > + * > > + * You should have received a copy of the GNU General Public License > > + * along with this program; If not, see <http://www.gnu.org/licenses/>. > > Be aware that there is currently an ongoing effort to re-licence all the apci > work as LGPL, and move the acpi/ subdirectory into being a separate > standalone library. > > ~Andrew > > > + */ > > + > > +DefinitionBlock ("SSDT_CONV.aml", "SSDT", 2, "Xen", "HVM", 0) { > > + Device(CONV) > > + { > > + Method(_HID, 0x0, NotSerialized) > > + { > > + Return("ID9001") > > + } > > + Name(_CID, "PNP0C60") > > + } > > +} > > + _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |