On Thu, Sep 14, 2023 at 02:53:53PM +0100, Jonathan Cameron wrote: > On Wed, 13 Sep 2023 16:38:03 +0000 > James Morse <james.morse@xxxxxxx> 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 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?) > > 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. :( -- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!