.. | .. |
---|
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); |
---|