| .. | .. |
|---|
| 79 | 79 | * initial apic id, which also represents 32-bit extended x2apic id. |
|---|
| 80 | 80 | */ |
|---|
| 81 | 81 | c->initial_apicid = edx; |
|---|
| 82 | | - smp_num_siblings = LEVEL_MAX_SIBLINGS(ebx); |
|---|
| 82 | + smp_num_siblings = max_t(int, smp_num_siblings, LEVEL_MAX_SIBLINGS(ebx)); |
|---|
| 83 | 83 | #endif |
|---|
| 84 | 84 | return 0; |
|---|
| 85 | 85 | } |
|---|
| .. | .. |
|---|
| 109 | 109 | */ |
|---|
| 110 | 110 | cpuid_count(leaf, SMT_LEVEL, &eax, &ebx, &ecx, &edx); |
|---|
| 111 | 111 | c->initial_apicid = edx; |
|---|
| 112 | | - core_level_siblings = smp_num_siblings = LEVEL_MAX_SIBLINGS(ebx); |
|---|
| 112 | + core_level_siblings = LEVEL_MAX_SIBLINGS(ebx); |
|---|
| 113 | + smp_num_siblings = max_t(int, smp_num_siblings, LEVEL_MAX_SIBLINGS(ebx)); |
|---|
| 113 | 114 | core_plus_mask_width = ht_mask_width = BITS_SHIFT_NEXT_LEVEL(eax); |
|---|
| 114 | 115 | die_level_siblings = LEVEL_MAX_SIBLINGS(ebx); |
|---|
| 115 | 116 | pkg_mask_width = die_plus_mask_width = BITS_SHIFT_NEXT_LEVEL(eax); |
|---|