On Tue, May 22, 2018 at 05:00:52PM -0000, Peter Maydell wrote: > Mmm, that's not really supposed to happen. Do you have a test guest > binary you can attach that I can reproduce with?
You can hack kvm-unit-tests to make one pretty quickly. $ git clone git://git.kernel.org/pub/scm/virt/kvm/kvm-unit-tests.git $ cd kvm-unit-tests $ cat<<EOF >insns ldr x0, =19200000 msr cntfrq_el0, x0 b . EOF $ sed -i '/start:/r insns' arm/cstart64.S $ ./configure --arch=arm64 --cross-prefix=aarch64-linux-gnu- $ make LOADADDR=0 $ qemu-system-aarch64 -M raspi3 -serial mon:stdio -kernel arm/selftest.flat VNC server running on ::1:5900 QEMU 2.12.50 monitor - type 'help' for more information (qemu) info registers PC=0000000000000200 SP=0000000000000000 X00=000000000124f800 X01=0000000000000000 X02=0000000000000000 X03=0000000000000000 X04=0000000000080000 X05=0000000000000000 X06=0000000000000000 X07=0000000000000000 X08=0000000000000000 X09=0000000000000000 X10=0000000000000000 X11=0000000000000000 X12=0000000000000000 X13=0000000000000000 X14=0000000000000000 X15=0000000000000000 X16=0000000000000000 X17=0000000000000000 X18=0000000000000000 X19=0000000000000000 X20=0000000000000000 X21=0000000000000000 X22=0000000000000000 X23=0000000000000000 X24=0000000000000000 X25=0000000000000000 X26=0000000000000000 X27=0000000000000000 X28=0000000000000000 X29=0000000000000000 X30=0000000000000000 PSTATE=000003c9 ---- NS EL2h q00=0000000000000000:0000000000000000 q01=0000000000000000:0000000000000000 q02=0000000000000000:0000000000000000 q03=0000000000000000:0000000000000000 q04=0000000000000000:0000000000000000 q05=0000000000000000:0000000000000000 q06=0000000000000000:0000000000000000 q07=0000000000000000:0000000000000000 q08=0000000000000000:0000000000000000 q09=0000000000000000:0000000000000000 q10=0000000000000000:0000000000000000 q11=0000000000000000:0000000000000000 q12=0000000000000000:0000000000000000 q13=0000000000000000:0000000000000000 q14=0000000000000000:0000000000000000 q15=0000000000000000:0000000000000000 q16=0000000000000000:0000000000000000 q17=0000000000000000:0000000000000000 q18=0000000000000000:0000000000000000 q19=0000000000000000:0000000000000000 q20=0000000000000000:0000000000000000 q21=0000000000000000:0000000000000000 q22=0000000000000000:0000000000000000 q23=0000000000000000:0000000000000000 q24=0000000000000000:0000000000000000 q25=0000000000000000:0000000000000000 q26=0000000000000000:0000000000000000 q27=0000000000000000:0000000000000000 q28=0000000000000000:0000000000000000 q29=0000000000000000:0000000000000000 q30=0000000000000000:0000000000000000 q31=0000000000000000:0000000000000000 FPCR: 00000000 FPSR: 00000000 (qemu) q So the attempted sysreg write causes an exception, pointing to vector 0x200. Thanks, drew > > -- > You received this bug notification because you are a member of qemu- > devel-ml, which is subscribed to QEMU. > https://bugs.launchpad.net/bugs/1771948 > > Title: > aarch64 msr CNTFRQ_EL0 > > Status in QEMU: > New > > Bug description: > Hello, > > I'm running qemu 2.12 on a raspberry pi 3 with the command: > > qemu-system-aarch64 -M raspi3 -serial stdio -kernel executable.bin > > On my start file (right in the beginning with the highest EL), the > following instructions: > > ldr x0 , =19200000 > msr CNTFRQ_EL0, x0 > > > and qemu halts on the "msr CNTFRQ_EL0, x0" instruction. > > I believe this is not a normal behavior. > > Thank you > > To manage notifications about this bug go to: > https://bugs.launchpad.net/qemu/+bug/1771948/+subscriptions >