Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp855620ybi; Wed, 19 Jun 2019 09:00:05 -0700 (PDT) X-Google-Smtp-Source: APXvYqyuUzJrmHG3/It4RvO6WMQznhkJHTVQ9je1RT3DY65nPlqXfHYoetnwd4t9Qmjkcl5E2U4t X-Received: by 2002:a62:e301:: with SMTP id g1mr28825343pfh.119.1560960005080; Wed, 19 Jun 2019 09:00:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560960005; cv=none; d=google.com; s=arc-20160816; b=CQaLFiCaUvFlfz+cZQ/5a8yzKi19tFrA1BOtckCiJB1+WHK8OzirHvfJUCtppiynbz IxFTy1sngTXVDhaVIW06g9T7wE8n29a6FOH7kftCKexaQHtu2R/nlcumfJAOub/nyd5w NRU0gBfBawzMbs9LxaPZfKVR1lnQBfXioqmqup3qwZyIT5aSNQ2xsHEYcEu6a+wJ0umY KQB8JXWAj7Degd4YKfXbSLc7V+7SWAvZUGpJZrEJ27vHbkYjLzYuSalOh2doIXsX61V+ 2nQcOc7seT2WfhvwgVB4Mj5bkUS4hqUAX0BcHjlrp6IhDGh8jkf6np8WKn79qy5xjiW9 KajA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :dlp-reaction:dlp-version:dlp-product:content-language :accept-language:in-reply-to:references:message-id:date:thread-index :thread-topic:subject:cc:to:from; bh=u3thmhHIDX4ubLeC2yrGAKZU+DkB0yCvw+E0bndGACg=; b=jR7s5udibYMhLZlJUjRNphO2Er2jS7hUFbnq9J30KtKuC3xx2D4MJ6fDdo+HTVtSyt n4RQyt2WuzqasMT+aDx1QIjJiqEjggzddUFSjqgE1I4hPY61JM2KgwMzotWzR1ySZ8+H VaoTHHgMFGSV/qC0/hs5bZaWGBQdSZ0Nl0rTW+J8kVrjTXMa2nwVdJRVP+3UnZmWNG51 oybTiEi5WiPC61koa3A/KpKWNMZhdtdQHDzqPNx+n/qsQz16xteqewjELIMBmvIrk+uX 0zmaYYShkOdUItk99HhMMHR4TX0s7+BplR1OSewCGJgS4XX/XIR/cgXdCTq9txCiBpQq eTOg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t17si7056226pfe.269.2019.06.19.08.59.48; Wed, 19 Jun 2019 09:00:05 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729020AbfFSP7h convert rfc822-to-8bit (ORCPT + 99 others); Wed, 19 Jun 2019 11:59:37 -0400 Received: from mga02.intel.com ([134.134.136.20]:46099 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726109AbfFSP7g (ORCPT ); Wed, 19 Jun 2019 11:59:36 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 19 Jun 2019 08:59:35 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.63,392,1557212400"; d="scan'208";a="181662641" Received: from orsmsx107.amr.corp.intel.com ([10.22.240.5]) by fmsmga001.fm.intel.com with ESMTP; 19 Jun 2019 08:59:34 -0700 Received: from orsmsx160.amr.corp.intel.com (10.22.226.43) by ORSMSX107.amr.corp.intel.com (10.22.240.5) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 19 Jun 2019 08:59:34 -0700 Received: from orsmsx110.amr.corp.intel.com ([169.254.10.92]) by ORSMSX160.amr.corp.intel.com ([169.254.13.41]) with mapi id 14.03.0439.000; Wed, 19 Jun 2019 08:59:34 -0700 From: "Moore, Robert" To: Nikolaus Voss CC: "Rafael J. Wysocki" , "Rafael J. Wysocki" , Len Brown , "Schmauss, Erik" , Jacek Anaszewski , Pavel Machek , Dan Murphy , Thierry Reding , ACPI Devel Maling List , "open list:ACPI COMPONENT ARCHITECTURE (ACPICA)" , "linux-leds@vger.kernel.org" , Linux PWM List , Linux Kernel Mailing List , "nikolaus.voss@loewensteinmedical.de" Subject: RE: [PATCH v2 1/3] ACPI: Resolve objects on host-directed table loads Thread-Topic: [PATCH v2 1/3] ACPI: Resolve objects on host-directed table loads Thread-Index: AQHVIPn/qqDB5Bv4z0aSsleXlAnDw6abVhaAgAADpwD///G0sIAEkokAgACES6CAAT+dAIAANdnAgAALWnCAAAJ3oIAAAgmggAFPOoD///bKAA== Date: Wed, 19 Jun 2019 15:59:33 +0000 Message-ID: <94F2FBAB4432B54E8AACC7DFDE6C92E3B95FC28D@ORSMSX110.amr.corp.intel.com> References: <94F2FBAB4432B54E8AACC7DFDE6C92E3B95EFB26@ORSMSX110.amr.corp.intel.com> <94F2FBAB4432B54E8AACC7DFDE6C92E3B95F9EC6@ORSMSX110.amr.corp.intel.com> <94F2FBAB4432B54E8AACC7DFDE6C92E3B95FB0BA@ORSMSX110.amr.corp.intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiY2MwMjlmZjgtMjNkYi00N2ZjLTlmMmQtNjNlYmY1OTMyOWFiIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiZVBaZGNrSVo0dnZpczNyWHlzc01mTWJMNUtVRDd2b24yMnJxQkNPb25xcjhrM1ZoQjZEb0t4QWR5YUNISFZjOCJ9 x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.0.600.7 dlp-reaction: no-action x-originating-ip: [10.22.254.138] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > -----Original Message----- > From: Nikolaus Voss [mailto:nv@vosn.de] > Sent: Wednesday, June 19, 2019 2:31 AM > To: Moore, Robert > Cc: Rafael J. Wysocki ; Rafael J. Wysocki > ; Len Brown ; Schmauss, Erik > ; Jacek Anaszewski > ; Pavel Machek ; Dan Murphy > ; Thierry Reding ; ACPI Devel > Maling List ; open list:ACPI COMPONENT > ARCHITECTURE (ACPICA) ; linux-leds@vger.kernel.org; > Linux PWM List ; Linux Kernel Mailing List > ; nikolaus.voss@loewensteinmedical.de > Subject: RE: [PATCH v2 1/3] ACPI: Resolve objects on host-directed table > loads > > Hi Bob, > > On Tue, 18 Jun 2019, Moore, Robert wrote: > > > > > >> -----Original Message----- > >> From: Moore, Robert > >> Sent: Tuesday, June 18, 2019 1:25 PM > >> To: 'Nikolaus Voss' > >> Cc: 'Rafael J. Wysocki' ; 'Rafael J. Wysocki' > >> ; 'Len Brown' ; Schmauss, Erik > >> ; 'Jacek Anaszewski' > >> ; 'Pavel Machek' ; 'Dan > >> Murphy' ; 'Thierry Reding' > >> ; 'ACPI Devel Maling List' > >> ; 'open list:ACPI COMPONENT ARCHITECTURE > >> (ACPICA)' ; 'linux- leds@vger.kernel.org' leds@vger.kernel.org>; 'Linux PWM List' > >> ; 'Linux Kernel Mailing List' >> kernel@vger.kernel.org> > >> Subject: RE: [PATCH v2 1/3] ACPI: Resolve objects on host-directed > >> table loads > >> > >> If it is in fact the AcpiLoadTable interface that is incorrect, that > >> of course is different. I'll check that out next. > >> > > [Moore, Robert] > > > > Yes, this is the issue, not specifically the Load() operator, but the > > AcpiLoadTable interface only. > > thanks for checking this out. So what is the conclusion? Is my fix of > AcpiLoadTable() sufficient or do we need a different solution? > > Niko > Your change is in the correct area. We want to do something like this, however: diff --git a/source/components/executer/exconfig.c b/source/components/executer/exconfig.c index 84a058ada..eba1a6d28 100644 --- a/source/components/executer/exconfig.c +++ b/source/components/executer/exconfig.c @@ -342,10 +342,9 @@ AcpiExLoadTableOp ( return_ACPI_STATUS (Status); } - /* Complete the initialization/resolution of package objects */ + /* Complete the initialization/resolution of new objects */ - Status = AcpiNsWalkNamespace (ACPI_TYPE_PACKAGE, ACPI_ROOT_OBJECT, - ACPI_UINT32_MAX, 0, AcpiNsInitOnePackage, NULL, NULL, NULL); + AcpiNsInitializeObjects (); /* Parameter Data (optional) */ @@ -620,10 +619,11 @@ AcpiExLoadOp ( return_ACPI_STATUS (Status); } - /* Complete the initialization/resolution of package objects */ + /* Complete the initialization/resolution of new objects */ - Status = AcpiNsWalkNamespace (ACPI_TYPE_PACKAGE, ACPI_ROOT_OBJECT, - ACPI_UINT32_MAX, 0, AcpiNsInitOnePackage, NULL, NULL, NULL); + AcpiExExitInterpreter (); + AcpiNsInitializeObjects (); + AcpiExEnterInterpreter (); /* Store the DdbHandle into the Target operand */ diff --git a/source/components/tables/tbxfload.c b/source/components/tables/tbxfload.c index 217d54bf0..1e17db6c8 100644 --- a/source/components/tables/tbxfload.c +++ b/source/components/tables/tbxfload.c @@ -479,6 +479,13 @@ AcpiLoadTable ( ACPI_INFO (("Host-directed Dynamic ACPI Table Load:")); Status = AcpiTbInstallAndLoadTable (ACPI_PTR_TO_PHYSADDR (Table), ACPI_TABLE_ORIGIN_EXTERNAL_VIRTUAL, FALSE, &TableIndex); + if (ACPI_SUCCESS (Status)) + { + /* Complete the initialization/resolution of new objects */ + + AcpiNsInitializeObjects (); + } + return_ACPI_STATUS (Status); } > [...]