1
0
Fork 0

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: David S. Miller <davem@davemloft.net>
hifive-unleashed-5.1
David S. Miller 2008-10-12 23:56:12 -07:00
parent 82960b8543
commit 615c9136b3
1 changed files with 1 additions and 1 deletions

View File

@ -831,7 +831,7 @@ static int __init us3mc_init(void)
if (!us3mc_platform())
return -ENODEV;
__asm__ ("rdpr %%ver, %0" : "=r" (ver));
__asm__ __volatile__("rdpr %%ver, %0" : "=r" (ver));
if ((ver >> 32UL) == __JALAPENO_ID ||
(ver >> 32UL) == __SERRANO_ID) {
mc_type = MC_TYPE_JBUS;