x86-32, microcode_intel_early: Fix crash with CONFIG_DEBUG_VIRTUAL
authorFenghua Yu <fenghua.yu@intel.com>
Tue, 19 Mar 2013 15:04:44 +0000 (08:04 -0700)
committerH. Peter Anvin <hpa@zytor.com>
Wed, 20 Mar 2013 02:51:08 +0000 (19:51 -0700)
commitc83a9d5e425d4678b05ca058fec6254f18601474
tree9fcab0ae6fa17816496cd7e1a16f0708dee3f660
parent66db3feb486c01349f767b98ebb10b0c3d2d021b
x86-32, microcode_intel_early: Fix crash with CONFIG_DEBUG_VIRTUAL

In 32-bit, __pa_symbol() in CONFIG_DEBUG_VIRTUAL accesses kernel data
(e.g.  max_low_pfn) that not only hasn't been setup yet in such early
boot phase, but since we are in linear mode, cannot even be detected
as uninitialized.

Thus, use __pa_nodebug() rather than __pa_symbol() to get a global
symbol's physical address.

Signed-off-by: Fenghua Yu <fenghua.yu@intel.com>
Link: http://lkml.kernel.org/r/1363705484-27645-1-git-send-email-fenghua.yu@intel.com
Reported-and-tested-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
arch/x86/kernel/microcode_intel_early.c