Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751286AbdFEWkI (ORCPT ); Mon, 5 Jun 2017 18:40:08 -0400 Received: from mail-vk0-f47.google.com ([209.85.213.47]:33212 "EHLO mail-vk0-f47.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751203AbdFEWkG (ORCPT ); Mon, 5 Jun 2017 18:40:06 -0400 MIME-Version: 1.0 In-Reply-To: <201706060019.26462@pali> References: <201705271314.16241@pali> <20170605221456.GA27270@fury> <201706060019.26462@pali> From: Andy Lutomirski Date: Mon, 5 Jun 2017 15:39:44 -0700 Message-ID: Subject: Re: [PATCH 15/16] platform/x86: wmi-mof: New driver to expose embedded WMI MOF metadata To: =?UTF-8?Q?Pali_Roh=C3=A1r?= Cc: Darren Hart , platform-driver-x86@vger.kernel.org, Andy Shevchenko , Andy Lutomirski , Mario Limonciello , Rafael Wysocki , "linux-kernel@vger.kernel.org" , Linux ACPI Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by mail.home.local id v55MeK3L032477 Content-Length: 2179 Lines: 63 On Mon, Jun 5, 2017 at 3:19 PM, Pali Rohár wrote: > On Tuesday 06 June 2017 00:14:56 Darren Hart wrote: >> On Sat, May 27, 2017 at 01:14:15PM +0200, Pali Rohár wrote: >> > > metadata. I think that Samba has tools to interpret it, but there >> > > is currently no interface to get the data in the first place. >> > >> > No, there is no non-ms-windows tool for interpreting those binary >> > MOF (BMF) data yet. >> >> Good point. Updated. > > You are too late :-) Now there is my at https://github.com/pali/bmfdec > See my email "Binary MOF buffer in WMI is finally decoded!". > It comes out like this on my laptop. I don't know enough about MOF to know what we're supposed to do with this, but I suspect it at least gives us the sizes of buffers that we should be passing to the various methods. class WMIEvent : __ExtrinsicEvent { }; [WMI, Locale("MS\0x409"), Description("QDATA"), guid("{ABBC0F60-8EA1-11d1-00A0-C90629100000}")] class QDat { [WmiDataId(1), read, write, Description("qdata")] uint8 Bytes[128]; }; [WMI, Dynamic, Provider("WmiProv"), Locale("MS\0x409"), Description("BIOS WMI Query"), guid("{8D9DDCBC-A997-11DA-B012-B622A1EF5492}")] class WMI_Query { [key, read] String InstanceName; [read] Boolean Active; [WmiDataId(1), read, write, Description("BIOS WMI info")] QDat QDATA; }; [WMI, Locale("MS\0x409"), Description("Data"), guid("{a3776ce0-1e88-11db-a98b-0800200c9a66}")] class BDat { [WmiDataId(1), read, write, Description("data")] uint8 Bytes[4096]; }; [WMI, Dynamic, Provider("WmiProv"), Locale("MS\0x409"), Description("Interface"), guid("{A80593CE-A997-11DA-B012-B622A1EF5492}")] class BFn { [key, read] String InstanceName; [read] Boolean Active; [WmiMethodId(1), Implemented, read, write, Description("Do BFn")] void DoBFn([in, Description("Fn buf"), ID(0)] BDat Data, [out, Description("Fn buf"), ID(0)] BDat Data); }; [WMI, Dynamic, Provider("WmiProv"), Locale("MS\0x409"), Description("Event"), guid("{9DBB5994-A997-11DA-B012-B622A1EF5492}")] class BIOSEvent : WmiEvent { [key, read] String InstanceName; [read] Boolean Active; [WmiDataId(1), read, write, Description("Ev buf")] QDat Data; };