Hi Furquan,
I can confirm your proposal is working, could you please submit the patch for review?
Thanks, Sumo
On Fri, Aug 20, 2021 at 9:52 PM Szafranski, MariuszX < mariuszx.szafranski@intel.com> wrote:
Hi Furquan,
Thanks for pointing. I`ve missed this patch series. Yeah omitting the `device lapic` line from the devicetree and adding this patch looks like correct (common) way to handle this issue.
BR, Mariusz
have you tried omitting the `device lapic` line from the devicetree?
I have tested this, in this case Linux shows only one processor core.
Therefore the 'device lapic' line is really needed...
Can you please try dropping `device lapic` from the devicetree along with this patch:
diff --git a/src/soc/intel/denverton_ns/cpu.c b/src/soc/intel/denverton_ns/cpu.c index 1dc0830d86..ecefd3a987 100644 --- a/src/soc/intel/denverton_ns/cpu.c +++ b/src/soc/intel/denverton_ns/cpu.c @@ -287,6 +287,9 @@ static const struct mp_ops mp_ops = {
void denverton_init_cpus(struct device *dev) {
if (!dev->link_list)
add_more_links(dev, 1);
/* Clear for take-off */ if (mp_init_with_smm(dev->link_list, &mp_ops) < 0) printk(BIOS_ERR, "MP initialization failure.\n");
I think once you drop the device from device tree, dev->link_list would be NULL and so MP initialization failed for you. This problem is not really unique to denverton and was fixed just a few days back for other Intel SoCs using common/block/cpu/mp_init too:
https://review.coreboot.org/c/coreboot/+/56758 https://review.coreboot.org/c/coreboot/+/56852
Intel Research and Development Ireland Limited Registered in Ireland Registered Office: Collinstown Industrial Park, Leixlip, County Kildare Registered Number: 308263
This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.