On 6/16/2017 5:58 AM, Thomas Gleixner wrote:
On Wed, 14 Jun 2017, Tom Lendacky wrote:
A recent change added a new system_state value, SYSTEM_SCHEDULING, which
exposed a warning issued by early_ioreamp() when the system_state was not
SYSTEM_BOOTING. Since early_ioremap() can be called when the system_state
is SYSTEM_SCHEDULING, the check to issue the warning is changed from
system_state != SYSTEM_BOOTING to system_state >= SYSTEM_RUNNING.
Errm, why is that early_ioremap() stuff called after we enabled the
scheduler? At that point the regular ioremap stuff is long working.
As part of the SME support I'm decrypting the trampoline area during
set_real_mode_permissions(). Since it was still valid to use the
early_memremap()/early_ioremap() functions I chose to use those instead
of creating new ioremap functions to support encrypted or decrypted
mappings with and without write-protection.
I could look into adding new ioremap APIs, but their usage would be
limited to this one case. Since the early_memremap() works I thought
that would be the best path and just adjust the WARNing condition.