• Yinghai Lu's avatar
    x86: fix amd_detect_cmp · a7062211
    Yinghai Lu authored
    for system with apicid lifting, boot cpu apicid will be 4
    
    got:
    
      CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
      CPU: L2 Cache: 512K (64 bytes/line)
      CPU 0/4 -> Node 0
      CPU: Physical Processor ID: 1
      CPU: Processor Core ID: 0
    
    so try to offset apicid back before get phys_proc_id with bits shift.
    then we can get correct socket ID
    
    also remove remove cpu_data(0) reference.
    
    because cpu_data(0) only be ready after smp_prepare_cpus with the assignment
    from boot_cpu_data to current_cpu_data aka cpu_data(0).
    
    and check_bugs()==>identify_cpu(&boot_cpu_data) is quite before than
    smp_prepare_cpus. So just use boot_cpu_id instead.
    Signed-off-by: default avatarYinghai Lu <yhlu.kernel@gmail.com>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    a7062211
setup_64.c 26.2 KB