Initialize logical_cpus_mask when the logical CPUs are enumerated in

the mptable.  (Previously, logical_cpus_mask was only initialized if
the hyperthreading fixup was executed.)

Approved by:	re (jhb)
Reviewed by:	ps
This commit is contained in:
Alan Cox 2003-05-15 05:12:24 +00:00
parent 2a9fc22645
commit 4a0d6dfd2c
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=115016
6 changed files with 30 additions and 12 deletions

View file

@ -999,9 +999,12 @@ mptable_pass2(void)
while (count--) {
switch (type = *(u_char *) position) {
case 0:
if (processor_entry(position, cpu))
if (processor_entry(position, cpu)) {
if (logical_cpus != 0 &&
cpu % logical_cpus != 0)
logical_cpus_mask |= (1 << cpu);
++cpu;
}
if (need_hyperthreading_fixup) {
/*
* Create fake mptable processor entries

View file

@ -999,9 +999,12 @@ mptable_pass2(void)
while (count--) {
switch (type = *(u_char *) position) {
case 0:
if (processor_entry(position, cpu))
if (processor_entry(position, cpu)) {
if (logical_cpus != 0 &&
cpu % logical_cpus != 0)
logical_cpus_mask |= (1 << cpu);
++cpu;
}
if (need_hyperthreading_fixup) {
/*
* Create fake mptable processor entries

View file

@ -999,9 +999,12 @@ mptable_pass2(void)
while (count--) {
switch (type = *(u_char *) position) {
case 0:
if (processor_entry(position, cpu))
if (processor_entry(position, cpu)) {
if (logical_cpus != 0 &&
cpu % logical_cpus != 0)
logical_cpus_mask |= (1 << cpu);
++cpu;
}
if (need_hyperthreading_fixup) {
/*
* Create fake mptable processor entries

View file

@ -999,9 +999,12 @@ mptable_pass2(void)
while (count--) {
switch (type = *(u_char *) position) {
case 0:
if (processor_entry(position, cpu))
if (processor_entry(position, cpu)) {
if (logical_cpus != 0 &&
cpu % logical_cpus != 0)
logical_cpus_mask |= (1 << cpu);
++cpu;
}
if (need_hyperthreading_fixup) {
/*
* Create fake mptable processor entries

View file

@ -999,9 +999,12 @@ mptable_pass2(void)
while (count--) {
switch (type = *(u_char *) position) {
case 0:
if (processor_entry(position, cpu))
if (processor_entry(position, cpu)) {
if (logical_cpus != 0 &&
cpu % logical_cpus != 0)
logical_cpus_mask |= (1 << cpu);
++cpu;
}
if (need_hyperthreading_fixup) {
/*
* Create fake mptable processor entries

View file

@ -999,9 +999,12 @@ mptable_pass2(void)
while (count--) {
switch (type = *(u_char *) position) {
case 0:
if (processor_entry(position, cpu))
if (processor_entry(position, cpu)) {
if (logical_cpus != 0 &&
cpu % logical_cpus != 0)
logical_cpus_mask |= (1 << cpu);
++cpu;
}
if (need_hyperthreading_fixup) {
/*
* Create fake mptable processor entries