Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ce37defc authored by Borislav Petkov's avatar Borislav Petkov
Browse files

x86: Document rdmsr_safe restrictions

Recently, I got bitten by using rdmsr_safe too early in the boot
process. Document its shortcomings for future reference.

Link: http://lkml.kernel.org/r/4ED5B70F.606@lwfinger.net


Signed-off-by: default avatarBorislav Petkov <borislav.petkov@amd.com>
parent bd399063
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -169,7 +169,14 @@ static inline int wrmsr_safe(unsigned msr, unsigned low, unsigned high)
	return native_write_msr_safe(msr, low, high);
}

/* rdmsr with exception handling */
/*
 * rdmsr with exception handling.
 *
 * Please note that the exception handling works only after we've
 * switched to the "smart" #GP handler in trap_init() which knows about
 * exception tables - using this macro earlier than that causes machine
 * hangs on boxes which do not implement the @msr in the first argument.
 */
#define rdmsr_safe(msr, p1, p2)					\
({								\
	int __err;						\