On Wed, Feb 27, 2019 at 04:47:30PM -0800, Richard Henderson wrote: > On 2/24/19 3:31 PM, David Gibson wrote: > > I have access to POWER8 and POWER9 machines, but I haven't worked with > > RISU before. If you can give me a straightforward recipe I can try > > running the tests. > > From > > https://git.linaro.org/people/peter.maydell/risu.git
And I assume build it, at which point I hit this: $ make gcc -Wall -D_GNU_SOURCE -DARCH=ppc64 -I /home/dwg/risu/risu -g -o risu_ppc64.o -c risu_ppc64.c risu_ppc64.c: In function ‘advance_pc’: risu_ppc64.c:19:25: error: dereferencing pointer to incomplete type ‘struct pt_regs’ uc->uc_mcontext.regs->nip += 4; ^~ make: *** [Makefile:44: risu_ppc64.o] Error 1 I'm running on ppc64le (as I usually do nowadays), so I'm not sure if this is due to a difference between the ppc64 and ppc64le ABIs (and mcontext structures) or something else. > First you need to generate the test cases. It looks like the current > ppc64.risu file is fairly complete, at least to some level. So: > > mkdir ../risu-testcases-ppc64 > ./scripts/generate_all.sh ppc64.risu ../risu-testcases-ppc64 > > Then record traces from real hardware to compare against: > > RISU=`pwd`/risu ./scripts/record_traces.sh ../risu-testcases-ppc64/*.bin > > Now compare QEMU against hardware: > > QEMU=qemu-ppc64 RISU=`pwd`/risu \ > ./scripts/run_risu ../risu-testcases-ppc64/*.bin > > Which is all hunky dory until something fails. At which point it's a matter > of > using qemu's -d and -dfilter options judiciously, and "objdump -b binary -m > ppc64 -D foo.bin". > > > r~ > -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature