[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] 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? > --- > 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. > + > /* 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. > + * > + * 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 |