Thread (17 messages) 17 messages, 3 authors, 14d ago

Re: [kvm-unit-tests RFC PATCH 1/6] powerpc: add pmu tests

From: Chinmay Rath <hidden>
Date: 2026-06-10 09:28:01
Also in: kvm

On 6/8/26 19:27, Thomas Huth wrote:
On 08/06/2026 14.45, Thomas Huth wrote:
quoted
On 02/06/2026 08.48, Chinmay Rath wrote:
quoted
From: Nicholas Piggin <npiggin@gmail.com>

Add some initial PMU testing.

- PMC5/6 tests
- PMAE / PMI test
- BHRB basic tests

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Chinmay Rath <redacted>
---
  lib/powerpc/asm/processor.h |   2 +
  lib/powerpc/asm/reg.h       |   9 +
  lib/powerpc/asm/setup.h     |   1 +
  lib/powerpc/setup.c         |  20 ++
  powerpc/Makefile.common     |   3 +-
  powerpc/pmu.c               | 567 
++++++++++++++++++++++++++++++++++++
  powerpc/unittests.cfg       |   3 +
  7 files changed, 604 insertions(+), 1 deletion(-)
  create mode 100644 powerpc/pmu.c
  Hi Chinmay,

the problem with Clang on Travis [*] still seems to persist:

  https://app.travis-ci.com/github/huth/kvm-unit-tests/jobs/639614142

Could you please have a look?

  Thanks,
   Thomas


[*] This already happened with Nicolas' last version:

  https://www.spinics.net/lists/kvm/msg351218.html
I managed to get access to a ppc64 machine. The error is:

/tmp/pmu-eab466.s: Assembler messages:
/tmp/pmu-eab466.s:1649: Error: unrecognized opcode: `ldat'
clang: error: assembler command failed with exit code 1 (use -v to see 
invocation)
make: *** [<builtin>: powerpc/pmu.o] Error 1

 HTH,
  Thomas
Hi Thomas,

Thanks for looking into this and providing the exact error message.

I was looking into this Travis CI job that you pointed to and noticed 
that the clang version being used was 14.
I was wondering, would it be possible to use a newer version of clang 
for the job since LDAT is a legit PPC insn,
that was introduced with Power 9, ISA version 3.0, way back a decade in 
2016 !
So I was wondering if using a newer version of clang that recognizes the 
instruction would be a better approach.

I checked the .travis.yml file (config) for the job, which mentions :
|apt_packages: clang qemu-system-ppc|

Can we change it to something like :
|apt_packages: clang19 qemu-system-ppc |or (clang-19)  ?

In the same config s390x uses a specific version of clang that is 11 in 
similar manner.

However if you'd still prefer working around LDAT, I could try with 
LDARX instead, but I am unable to verify if
clang-14 will recognize that since the oldest version of clang I could 
find in ppc64le repo was clang-15 which
was able to work with LDAT as well. Hence, could you help me with 
providing the steps to use Travis-CI so I could verify ?
(I had skipped doing the credit card payment while signing up, in case 
that's mandatory for Travis CI. Pardon me I'm new to it XD)

Thanks,
Chinmay

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help