Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp1579062ybi; Wed, 19 Jun 2019 23:50:25 -0700 (PDT) X-Google-Smtp-Source: APXvYqylEaCwSe04n8oIy8KJOEK73LAtWOH0f168yQ4bc4a03U7qLDToUg1kLc/RRRF+GcRgRT+2 X-Received: by 2002:a17:90a:9a83:: with SMTP id e3mr1425734pjp.105.1561013425069; Wed, 19 Jun 2019 23:50:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1561013425; cv=none; d=google.com; s=arc-20160816; b=yb6fH5RMiYYedF9OHP0/CVJoZ7Ltl+LjIbBryYQHeBYtH5SQuBsftV9nyPMQaEZsAw Uwkw0hJJcNoyoNgAZppevZ9sevnRCnHb+WQXziw57Vj2dKW4fxd77aHeNcyvkuOJGtyq keqgRvVWAXYCdEs0SyLl6jNsenNs2N/97iCmglLPkrWRypSZs79r2FoLXOu0VzaooZYJ 1njrXghcVEUMkkvaO/8O/Cgp8/vRCugwfbs58Ibv3n/8Md3N7l1ZtMTzjrL9U+qvH5DS 5ryKPalciT8NRZzyV2wqAnLVeGDB1/F6yc30mr14GhyGXLLaUWBF/zypog5CwqIvrDMi JNYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :message-id:in-reply-to:subject:cc:to:from:date; bh=viTEXd+ncoiRKaCTn0qFsFxSy8JrP+XhwqjZGCeQdmc=; b=tIjz2fE/0wq4nEbTgO65Kia7MFgSyVjTLU9J74Bp+yzpL364jQ6HfqOpE/mezoztMA TzdYe89piS30l9GtMvwCqaQUlDHDqTsHPolvUObn31BHKQ6l2tht11gHWseL4MNDD1VX +TB+aLKjPoFTqe8mIlInTetwLx90TILzKeLUp2y5m0vAHS5E3CJ45ntSPI3DFnaFzh68 0dKfao0JpWInRhf6sF4LaHSRdwJQny0yeUdm9wuwL232M/PY7pMfDPXLVzON+0N0g8kF oq1lYopt5nmJOmTOLoKbee1+f7r1t2nUSxr9vNoA2DRu5Icqtem06RDG1pDIMmiCIpnr wk8A== 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p61si18396414plb.7.2019.06.19.23.50.09; Wed, 19 Jun 2019 23:50:25 -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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730317AbfFTGtc (ORCPT + 99 others); Thu, 20 Jun 2019 02:49:32 -0400 Received: from mail.steuer-voss.de ([85.183.69.95]:60686 "EHLO mail.steuer-voss.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726262AbfFTGtb (ORCPT ); Thu, 20 Jun 2019 02:49:31 -0400 X-Virus-Scanned: Debian amavisd-new at mail.steuer-voss.de Received: by mail.steuer-voss.de (Postfix, from userid 1000) id 2BDDB4D00C; Thu, 20 Jun 2019 08:49:28 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by mail.steuer-voss.de (Postfix) with ESMTP id 295AA4D000; Thu, 20 Jun 2019 08:49:28 +0200 (CEST) Date: Thu, 20 Jun 2019 08:49:28 +0200 (CEST) From: Nikolaus Voss X-X-Sender: nv@fox.voss.local 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 Subject: RE: [PATCH v2 1/3] ACPI: Resolve objects on host-directed table loads In-Reply-To: <94F2FBAB4432B54E8AACC7DFDE6C92E3B95FC28D@ORSMSX110.amr.corp.intel.com> Message-ID: References: <94F2FBAB4432B54E8AACC7DFDE6C92E3B95EFB26@ORSMSX110.amr.corp.intel.com> <94F2FBAB4432B54E8AACC7DFDE6C92E3B95F9EC6@ORSMSX110.amr.corp.intel.com> <94F2FBAB4432B54E8AACC7DFDE6C92E3B95FB0BA@ORSMSX110.amr.corp.intel.com> <94F2FBAB4432B54E8AACC7DFDE6C92E3B95FC28D@ORSMSX110.amr.corp.intel.com> User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 19 Jun 2019, Moore, Robert wrote: > > >> -----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); > } Ok, I see your are taking this up (I was a bit unsure after your previous post). Thanks, Niko