mirror of
https://github.com/adulau/aha.git
synced 2025-01-01 13:46:24 +00:00
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
2 changed files with 5 additions and 6 deletions
|
@ -202,7 +202,9 @@ struct ist_info ist_info;
|
|||
#endif
|
||||
|
||||
#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);
|
||||
#endif
|
||||
|
||||
|
|
|
@ -38,8 +38,7 @@ unsigned long __phys_addr(unsigned long x)
|
|||
} else {
|
||||
VIRTUAL_BUG_ON(x < PAGE_OFFSET);
|
||||
x -= PAGE_OFFSET;
|
||||
VIRTUAL_BUG_ON(system_state == SYSTEM_BOOTING ? x > MAXMEM :
|
||||
!phys_addr_valid(x));
|
||||
VIRTUAL_BUG_ON(!phys_addr_valid(x));
|
||||
}
|
||||
return x;
|
||||
}
|
||||
|
@ -56,10 +55,8 @@ bool __virt_addr_valid(unsigned long x)
|
|||
if (x < PAGE_OFFSET)
|
||||
return false;
|
||||
x -= PAGE_OFFSET;
|
||||
if (system_state == SYSTEM_BOOTING ?
|
||||
x > MAXMEM : !phys_addr_valid(x)) {
|
||||
if (!phys_addr_valid(x))
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return pfn_valid(x >> PAGE_SHIFT);
|
||||
|
|
Loading…
Reference in a new issue