Issue #505 has been updated by Dmitry Ponamorev.
Due date set to 08/22/2023
Assignee changed from Angel Pons to Dmitry Ponamorev
% Done changed from 0 to 100
Estimated time set to 1.00 h
Dmitry Ponamorev wrote:
> Found a bug with the definition of not all processor cores of the Intel(R)
> Atom(TM) CPU C3958 processor in operating systems.
> The Debian or Ubuntu operating system defines only 15 cores. The problem
> concerns exactly the 16th core processor.
> For processors with fewer cores, the number of cores is determined correctly.
> The problem was found in coreboot version 4.14 and later. Version coreboot
> 4.11 did not have this problem.
> Most likely this is due to incorrect initialization of apic_id. (apic_id 0)
>
> An example of the initialization output of the processor cores is below:
>
> Will perform SMM setup.
> CPU: Intel(R) Atom(TM) CPU C3958 @ 2.00GHz.
> AP: slot 1 apic_id 6, MCU rev: 0x00000034
> AP: slot 13 apic_id 1e, MCU rev: 0x00000034
> AP: slot 6 apic_id a, MCU rev: 0x00000034
> AP: slot 14 apic_id e, MCU rev: 0x00000034
> AP: slot 5 apic_id 4, MCU rev: 0x00000034
> AP: slot 2 apic_id 10, MCU rev: 0x00000034
> AP: slot 4 apic_id 14, MCU rev: 0x00000034
> AP: slot 11 apic_id 1c, MCU rev: 0x00000034
> AP: slot 15 apic_id 8, MCU rev: 0x00000034
> AP: slot 8 apic_id 16, MCU rev: 0x00000034
> AP: slot 10 apic_id c, MCU rev: 0x00000034
> AP: slot 3 apic_id 1a, MCU rev: 0x00000034
> AP: slot 9 apic_id 2, MCU rev: 0x00000034
> AP: slot 7 apic_id 12, MCU rev: 0x00000034
> AP: slot 12 apic_id 18, MCU rev: 0x00000034
> smm_place_entry_code: smbase 7ffe8400, stack_top 7fe08000
> smm_do_relocation : curr_smbase 0x30000 perm_smbase 0x7ffec000, cpu = 0
> smm_do_relocation : curr_smbase 0x30000 perm_smbase 0x7ffe9000, cpu = 12
> smm_do_relocation : curr_smbase 0x30000 perm_smbase 0x7ffe8800, cpu = 14
> smm_do_relocation : curr_smbase 0x30000 perm_smbase 0x7ffe9c00, cpu = 9
> smm_do_relocation : curr_smbase 0x30000 perm_smbase 0x7ffe8400, cpu = 15
> smm_do_relocation : curr_smbase 0x30000 perm_smbase 0x7ffeb800, cpu = 2
> smm_do_relocation : curr_smbase 0x30000 perm_smbase 0x7ffe9400, cpu = 11
> smm_do_relocation : curr_smbase 0x30000 perm_smbase 0x7ffe8c00, cpu = 13
> smm_do_relocation : curr_smbase 0x30000 perm_smbase 0x7ffea000, cpu = 8
> smm_do_relocation : curr_smbase 0x30000 perm_smbase 0x7ffeb400, cpu = 3
> smm_do_relocation : curr_smbase 0x30000 perm_smbase 0x7ffeb000, cpu = 4
> smm_do_relocation : curr_smbase 0x30000 perm_smbase 0x7ffea400, cpu = 7
> smm_do_relocation : curr_smbase 0x30000 perm_smbase 0x7ffe9800, cpu = 10
> smm_do_relocation : curr_smbase 0x30000 perm_smbase 0x7ffebc00, cpu = 1
> smm_do_relocation : curr_smbase 0x30000 perm_smbase 0x7ffea800, cpu = 6
> smm_do_relocation : curr_smbase 0x30000 perm_smbase 0x7ffeac00, cpu = 5
> Initializing CPU #0
> Turbo is unavailable
> CPU #0 initialized
> Initializing CPU #8
> Initializing CPU #12
> Initializing CPU #14
> Initializing CPU #4
> Initializing CPU #9
> Initializing CPU #10
> Initializing CPU #1
> Initializing CPU #15
> Initializing CPU #7
> Initializing CPU #11
> Initializing CPU #3
> Initializing CPU #2
> Initializing CPU #13
> Initializing CPU #6
> CPU #7 initialized
> CPU #14 initialized
> CPU #15 initialized
> CPU #2 initialized
> CPU #6 initialized
> CPU #12 initialized
> Initializing CPU #5
> CPU #3 initialized
> CPU #1 initialized
> CPU #10 initialized
> CPU #4 initialized
> CPU #11 initialized
> CPU #5 initialized
> CPU #9 initialized
> CPU #8 initialized
> CPU #13 initialized
The problem was in devicetree.cb initializetion. These changes helped:
device cpu_cluster 0 on
- device lapic 0xbeef on end # NOTE: correct Local APIC ID is
set in in dev_enumerate()
+ device lapic 0 on end
end
----------------------------------------
Bug #505: Intel Harcuvar CRB Denverton_NS С3000. Only 15 cores of a 16 core
processor is defined in the operating system.
https://ticket.coreboot.org/issues/505#change-1642
* Author: Dmitry Ponamorev
* Status: New
* Priority: Normal
* Assignee: Dmitry Ponamorev
* Category: board support
* Target version: 4.15
* Start date: 2023-08-22
* Due date: 2023-08-22
* Affected versions: 4.15
* Affected hardware: Intel Harcuvar CRB, Intel(R) Atom(TM) CPU C3958
* Affected OS: Debian 11, Ubunto 20.04 (and later)
----------------------------------------
Found a bug with the definition of not all processor cores of the Intel(R)
Atom(TM) CPU C3958 processor in operating systems.
The Debian or Ubuntu operating system defines only 15 cores. The problem
concerns exactly the 16th core processor.
For processors with fewer cores, the number of cores is determined correctly.
The problem was found in coreboot version 4.14 and later. Version coreboot 4.11
did not have this problem.
Most likely this is due to incorrect initialization of apic_id. (apic_id 0)
An example of the initialization output of the processor cores is below:
Will perform SMM setup.
CPU: Intel(R) Atom(TM) CPU C3958 @ 2.00GHz.
AP: slot 1 apic_id 6, MCU rev: 0x00000034
AP: slot 13 apic_id 1e, MCU rev: 0x00000034
AP: slot 6 apic_id a, MCU rev: 0x00000034
AP: slot 14 apic_id e, MCU rev: 0x00000034
AP: slot 5 apic_id 4, MCU rev: 0x00000034
AP: slot 2 apic_id 10, MCU rev: 0x00000034
AP: slot 4 apic_id 14, MCU rev: 0x00000034
AP: slot 11 apic_id 1c, MCU rev: 0x00000034
AP: slot 15 apic_id 8, MCU rev: 0x00000034
AP: slot 8 apic_id 16, MCU rev: 0x00000034
AP: slot 10 apic_id c, MCU rev: 0x00000034
AP: slot 3 apic_id 1a, MCU rev: 0x00000034
AP: slot 9 apic_id 2, MCU rev: 0x00000034
AP: slot 7 apic_id 12, MCU rev: 0x00000034
AP: slot 12 apic_id 18, MCU rev: 0x00000034
smm_place_entry_code: smbase 7ffe8400, stack_top 7fe08000
smm_do_relocation : curr_smbase 0x30000 perm_smbase 0x7ffec000, cpu = 0
smm_do_relocation : curr_smbase 0x30000 perm_smbase 0x7ffe9000, cpu = 12
smm_do_relocation : curr_smbase 0x30000 perm_smbase 0x7ffe8800, cpu = 14
smm_do_relocation : curr_smbase 0x30000 perm_smbase 0x7ffe9c00, cpu = 9
smm_do_relocation : curr_smbase 0x30000 perm_smbase 0x7ffe8400, cpu = 15
smm_do_relocation : curr_smbase 0x30000 perm_smbase 0x7ffeb800, cpu = 2
smm_do_relocation : curr_smbase 0x30000 perm_smbase 0x7ffe9400, cpu = 11
smm_do_relocation : curr_smbase 0x30000 perm_smbase 0x7ffe8c00, cpu = 13
smm_do_relocation : curr_smbase 0x30000 perm_smbase 0x7ffea000, cpu = 8
smm_do_relocation : curr_smbase 0x30000 perm_smbase 0x7ffeb400, cpu = 3
smm_do_relocation : curr_smbase 0x30000 perm_smbase 0x7ffeb000, cpu = 4
smm_do_relocation : curr_smbase 0x30000 perm_smbase 0x7ffea400, cpu = 7
smm_do_relocation : curr_smbase 0x30000 perm_smbase 0x7ffe9800, cpu = 10
smm_do_relocation : curr_smbase 0x30000 perm_smbase 0x7ffebc00, cpu = 1
smm_do_relocation : curr_smbase 0x30000 perm_smbase 0x7ffea800, cpu = 6
smm_do_relocation : curr_smbase 0x30000 perm_smbase 0x7ffeac00, cpu = 5
Initializing CPU #0
Turbo is unavailable
CPU #0 initialized
Initializing CPU #8
Initializing CPU #12
Initializing CPU #14
Initializing CPU #4
Initializing CPU #9
Initializing CPU #10
Initializing CPU #1
Initializing CPU #15
Initializing CPU #7
Initializing CPU #11
Initializing CPU #3
Initializing CPU #2
Initializing CPU #13
Initializing CPU #6
CPU #7 initialized
CPU #14 initialized
CPU #15 initialized
CPU #2 initialized
CPU #6 initialized
CPU #12 initialized
Initializing CPU #5
CPU #3 initialized
CPU #1 initialized
CPU #10 initialized
CPU #4 initialized
CPU #11 initialized
CPU #5 initialized
CPU #9 initialized
CPU #8 initialized
CPU #13 initialized
--
You have received this notification because you have either subscribed to it,
or are involved in it.
To change your notification preferences, please click here:
https://ticket.coreboot.org/my/account
_______________________________________________
coreboot mailing list -- [email protected]
To unsubscribe send an email to [email protected]