When implementing things as macros, make sure we use typecasts and
parentheses where needed. The macros as defined were vulnerable to
surreptitious promotion causing problems.
Avoid macros where practical; e.g. wrmsr() can be an inline instead.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>