Failure to decode cntfrq_el0 (ARMv8) instruction Failure trace: ARM64 front end: branch_etc disInstr(arm64): unhandled instruction 0xD53BE000 disInstr(arm64): 1101'0101 0011'1011 1110'0000 0000'0000 ==26344== valgrind: Unrecognised instruction at address 0x6395ec0. ==26344== at 0x6395EC0: ucs_get_cpu_clocks_per_sec (cpu.h:41) ==26344== by 0x638894B: ucs_async_thread_func (time.h:57) ==26344== by 0x49F0FB3: start_thread (pthread_create.c:335) ==26344== by 0x4ADC38F: thread_start (clone.S:89) Link to UCX source code: https://github.com/openucx/ucx/blob/master/src/ucs/arch/aarch64/cpu.h#L43
pmaydell, is reading of cntfrq_el0 from user space always allowed? If so I can just implement this as a pass-through to the host.
Ah, it looks like it is RO at EL0. Good.
Fixed, vex r3368.