On 03/12/15 10:53, Pavel Fedin wrote: > Hello! > >>> The problem has been discovered by performing an operation >>> >>> *((volatile int *)reg) = 0; >>> >>> which compiles as "str xzr, [xx]", and resulted in strange values being >>> written. >> >> Interesting find. Which compiler is that? > > $ aarch64-linux-gnu-gcc --version > aarch64-linux-gnu-gcc (Linaro GCC 2014.11) 4.9.3 20141031 (prerelease) > Copyright (C) 2014 Free Software Foundation, Inc. > This is free software; see the source for copying conditions. There is NO > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. OK. I was just wondering if that was a new thing or not. [...] > Isn't it legitimate to write from ZR to MMIO register? > Another potential case is in our vgic-v3-switch.S: > > msr_s ICH_HCR_EL2, xzr > > It's only because it is KVM code we have never discovered this problem yet. Somebody could write such a thing in some other place, > with some other register, which would be executed by KVM, and... boo... I'm certainly not disputing that, this is a real bug that should be fixed right now. Looking forward to seeing your v2. Thanks, M. -- Jazz is not dead. It just smells funny... -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html