Commit 615c9136 authored by David S. Miller's avatar David S. Miller

chmc: Mark %ver register inline asm with __volatile__

Otherwise GCC can try to do the register read before the guarding test
on us3mc_platform() being true.

If that happens we can take an exception, because %ver register reads
are not allowed in privileged more on hypervisor platforms.
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 82960b85
...@@ -831,7 +831,7 @@ static int __init us3mc_init(void) ...@@ -831,7 +831,7 @@ static int __init us3mc_init(void)
if (!us3mc_platform()) if (!us3mc_platform())
return -ENODEV; return -ENODEV;
__asm__ ("rdpr %%ver, %0" : "=r" (ver)); __asm__ __volatile__("rdpr %%ver, %0" : "=r" (ver));
if ((ver >> 32UL) == __JALAPENO_ID || if ((ver >> 32UL) == __JALAPENO_ID ||
(ver >> 32UL) == __SERRANO_ID) { (ver >> 32UL) == __SERRANO_ID) {
mc_type = MC_TYPE_JBUS; mc_type = MC_TYPE_JBUS;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment