On Wed, May 07, 2025 at 11:51:24AM +0800, Yicong Yang wrote: > From: Yicong Yang <yangyicong@xxxxxxxxxxxxx> > > Below error is met on my board and QEMU VM on SMT or non-SMT machine: > ACPI PPTT: PPTT table found, but unable to locate core 31 (31) > > This is because the processor node is found by iterating the PPTT > table under condition (for both acpi_find_processor_node() and > acpi_pptt_leaf_node()): > while (entry + proc_sz < table_end) > [parse the processor node] > > If the last processor node is happened to be the last node in the > PPTT table, above condition will always be false since > entry + proc_sz == table_end. Thus the last CPU is not parsed. > Fix the loop condition to resolve the issue. > > This issue is exposed by [1] but the root cause is explained above. > Before [1] entry + proc_sz is always smaller than table_end. > Another thread [1] with similar patch. -- Regards, Sudeep [1] https://lore.kernel.org/all/20250506-draco-taped-15f475cd@mheyne-amazon