Received: by 2002:a05:7412:8521:b0:e2:908c:2ebd with SMTP id t33csp452680rdf; Fri, 3 Nov 2023 05:52:47 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH1nYyd3VSYyx7/1GhyJXRp1R0I7VrXi+s00g64lGLub1X3p+GqV+5XbBNr+lV8HFVthuwz X-Received: by 2002:a05:6a00:2284:b0:6be:5367:2131 with SMTP id f4-20020a056a00228400b006be53672131mr22246276pfe.24.1699015967371; Fri, 03 Nov 2023 05:52:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1699015967; cv=none; d=google.com; s=arc-20160816; b=lYxhCf56oSL9glBO5pgM3z+DcyxHsEYbiZkE2+5lyme1RaSS+MjdpFvo+TGpZRkCaz 995GhZj8SFrvXOOUeEggeQ1Ka0eyFrMw7Wd5GhN7w2Itb5BO4rywAwl7fBz48swAgXAQ NhccHj37520Q06/oCX8Z5CAksKK5d9i4cr0SSBWhCLWizQBeZt5YUMkGk2QN++QyQtdM QqxjI8oMo6+dJCtxl/1WsIanJHprShJ4dYM5HnTklXIDWfyn9o45GrzwHG/lEhqeJo1+ b2EjBlv+2HOeGHrjCBetYBC9WFNNSSr04toqpTLymfOPaGLDpqZmH2PGaGw+2MUMfvoK M2ng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :organization:references:in-reply-to:message-id:subject:cc:to:from :date; bh=P7+WlQi2dzUuCCCZNKG/g9mJrlW4th7J0PkcXYA51Dw=; fh=RcrmFyiQyuUgUJMV1KzMVpaZWZMM52aqipCECJZUc/I=; b=mNWwDOOMNV/SKwOeOG/jfTxI6FEYBmlSoNlF+qCWYfmRBMFT7gVzl5jyWZfRo2+TXn 6z6BqtkHevasAEO24UG3ZLic+uQtuB1+qzK26vdXL0Y48n2tN/ejZtY8t5glpPEAWFEZ fiEFat6OpHLgXlDIVaytkZrvdel5Bo3VCwoE/CI9xDx/FeiMPERbQU0Evb81BAVUwGcO uBHB4n5OlU4DCWIV5RDBM+hD731Yvw1UPe+C8tkfnt4LSbVcvq3kO7Z1dXuSANMW8zAd ZY2H3AECNRUFFHV1VW6WgePOtKYlbSK2vFBeLMe2nmer0yp5CG+HjHfGjTeRG9wYeLCY +Zhg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Return-Path: Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id r7-20020a63e507000000b00580e32f778csi1446476pgh.506.2023.11.03.05.52.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Nov 2023 05:52:47 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id C1936803E4B9; Fri, 3 Nov 2023 05:52:41 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1346495AbjKCMwj (ORCPT + 99 others); Fri, 3 Nov 2023 08:52:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59744 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229790AbjKCMwi (ORCPT ); Fri, 3 Nov 2023 08:52:38 -0400 Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7E23FCE; Fri, 3 Nov 2023 05:52:32 -0700 (PDT) Received: from lhrpeml500005.china.huawei.com (unknown [172.18.147.207]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4SMLGZ168Hz6K982; Fri, 3 Nov 2023 20:51:34 +0800 (CST) Received: from localhost (10.202.227.76) by lhrpeml500005.china.huawei.com (7.191.163.240) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Fri, 3 Nov 2023 12:52:29 +0000 Date: Fri, 3 Nov 2023 12:52:28 +0000 From: Jonathan Cameron To: "Russell King (Oracle)" CC: James Morse , , , , , , , , , , Salil Mehta , Jean-Philippe Brucker , , Subject: Re: [RFC PATCH v2 15/35] ACPI: processor: Add support for processors described as container packages Message-ID: <20231103125228.00005c94@Huawei.com> In-Reply-To: References: <20230913163823.7880-1-james.morse@arm.com> <20230913163823.7880-16-james.morse@arm.com> <20230914145353.000072e2@Huawei.com> Organization: Huawei Technologies Research and Development (UK) Ltd. X-Mailer: Claws Mail 4.1.0 (GTK 3.24.33; x86_64-w64-mingw32) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Originating-IP: [10.202.227.76] X-ClientProxiedBy: lhrpeml100002.china.huawei.com (7.191.160.241) To lhrpeml500005.china.huawei.com (7.191.163.240) X-CFilter-Loop: Reflected X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Fri, 03 Nov 2023 05:52:42 -0700 (PDT) On Fri, 3 Nov 2023 10:43:14 +0000 "Russell King (Oracle)" wrote: > On Thu, Sep 14, 2023 at 02:53:53PM +0100, Jonathan Cameron wrote: > > On Wed, 13 Sep 2023 16:38:03 +0000 > > James Morse wrote: > > > > > ACPI has two ways of describing processors in the DSDT. Either as a device > > > object with HID ACPI0007, or as a type 'C' package inside a Processor > > > Container. The ACPI processor driver probes CPUs described as devices, but > > > not those described as packages. > > > > > > > Specification reference needed... > > > > Terminology wise, I'd just refer to Processor() objects as I think they > > are named objects rather than data terms like a package (Which include > > a PkgLength etc) > > I'm not sure what kind of reference you want for the above. Looking in > ACPI 6.5, I've found in 5.2.12: > > "Starting with ACPI Specification 6.3, the use of the Processor() object > was deprecated. Only legacy systems should continue with this usage. On > the Itanium architecture only, a _UID is provided for the Processor() > that is a string object. This usage of _UID is also deprecated since it > can preclude an OSPM from being able to match a processor to a > non-enumerable device, such as those defined in the MADT. From ACPI > Specification 6.3 onward, all processor objects for all architectures > except Itanium must now use Device() objects with an _HID of ACPI0007, > and use only integer _UID values." > > Also, there is: > > https://uefi.org/specs/ACPI/6.5/08_Processor_Configuration_and_Control.html#declaring-processors That pair of refs, just as 'where to look if you care' cross references, seem to cover it as well as possible. > > Unfortunately, using the search facility on that site to try and find > Processor() doesn't work - it appears to strip the "()" characters from > the search (which is completely dumb, why do search facilities do that?) Yeah. Not great. > > > > The missing probe for CPUs described as packages creates a problem for > > > moving the cpu_register() calls into the acpi_processor driver, as CPUs > > > described like this don't get registered, leading to errors from other > > > subsystems when they try to add new sysfs entries to the CPU node. > > > (e.g. topology_sysfs_init()'s use of topology_add_dev() via cpuhp) > > > > > > To fix this, parse the processor container and call acpi_processor_add() > > > for each processor that is discovered like this. The processor container > > > handler is added with acpi_scan_add_handler(), so no detach call will > > > arrive. > > > > > > Qemu TCG describes CPUs using packages in a processor container. > > > > processor terms in a processor container. > > Are you wanting this to be: > > "Qemu TCG describes CPUs using processor terms in a processor > container." > > ? Searching the ACPI spec for "processor terms" (with or without quotes) > only brings up results for "terms" - yet another reason to hate site- > provided search facilities, I don't know why sites bother. :( Yup. I just use the PDFs partly for that reason. Not possible to find in 6.5 because as it's deprecated they removed the information.. Look at ACPI 6.3 and there is 19.6.108 Processor (Declare Processor) deep in the ASL operator reference Wording wise I'm not sure exactly what they should be other than they aren't packages (if my rough ASL understanding is right). Different byte encoding. Jonathan >