x86: pre-initialize boot_cpu_data.x86_phys_bits to avoid system_state tests
Impact: cleanup, micro-optimization Pre-initialize boot_cpu_data.x86_phys_bits to a reasonable default to remove the use of system_state tests in __virt_addr_valid() and __phys_addr(). Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
dc16ecf7fd
commit
ed26dbe5ae
|
@ -202,7 +202,9 @@ struct ist_info ist_info;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#else
|
#else
|
||||||
struct cpuinfo_x86 boot_cpu_data __read_mostly;
|
struct cpuinfo_x86 boot_cpu_data __read_mostly = {
|
||||||
|
.x86_phys_bits = MAX_PHYSMEM_BITS,
|
||||||
|
};
|
||||||
EXPORT_SYMBOL(boot_cpu_data);
|
EXPORT_SYMBOL(boot_cpu_data);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -38,8 +38,7 @@ unsigned long __phys_addr(unsigned long x)
|
||||||
} else {
|
} else {
|
||||||
VIRTUAL_BUG_ON(x < PAGE_OFFSET);
|
VIRTUAL_BUG_ON(x < PAGE_OFFSET);
|
||||||
x -= PAGE_OFFSET;
|
x -= PAGE_OFFSET;
|
||||||
VIRTUAL_BUG_ON(system_state == SYSTEM_BOOTING ? x > MAXMEM :
|
VIRTUAL_BUG_ON(!phys_addr_valid(x));
|
||||||
!phys_addr_valid(x));
|
|
||||||
}
|
}
|
||||||
return x;
|
return x;
|
||||||
}
|
}
|
||||||
|
@ -56,10 +55,8 @@ bool __virt_addr_valid(unsigned long x)
|
||||||
if (x < PAGE_OFFSET)
|
if (x < PAGE_OFFSET)
|
||||||
return false;
|
return false;
|
||||||
x -= PAGE_OFFSET;
|
x -= PAGE_OFFSET;
|
||||||
if (system_state == SYSTEM_BOOTING ?
|
if (!phys_addr_valid(x))
|
||||||
x > MAXMEM : !phys_addr_valid(x)) {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return pfn_valid(x >> PAGE_SHIFT);
|
return pfn_valid(x >> PAGE_SHIFT);
|
||||||
|
|
Loading…
Reference in New Issue