[10] outlined to use PPC_FEATURE2_SCV but [4] does just that. In addition [6] added power9 machine settings as only on this ISA it is available - like: + .machine "push" + .machine "power9" scv 0 + .machine "pop"
Maybe there is some generated "scv 0" left that needs the same [6] treatment? OTOH In a normal test program I can run "scv 0" just fine. But not other scv levels (expected). # cat test.c #include <stdio.h> int main() { printf("Hello scv 0\n"); __asm__( "scv 0\n\t" ); printf("survived\n"); __asm__( "scv 1\n\t" ); printf("survived level 1\n"); return 0; } # gcc -Wall -o test test.c ./test Hello scv 0 survived Illegal instruction (core dumped) IIRC .machine is only a psedo-op for the assembler. So it is correct that I can't see it in the live disassembly of gdb. The failing "svc 0" from glibcs __GI___ioctl is 0x00007ffff66c49a0 <+320>: 01 00 00 44 scv 0 And in my test program it is 0x0000000100000848 <+44>: 01 00 00 44 scv 0 Hmm, this is the same opcode but fails in just one of the cases. This might need someone being more an ppc64/glibc expert than me :-/ @Frank - could you modify this bug to become mirrored to IBM for their arch-expertise please? -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1920784 Title: qemu-system-ppc64le fails with kvm acceleration Status in QEMU: New Status in The Ubuntu-power-systems project: New Status in glibc package in Ubuntu: New Status in qemu package in Ubuntu: Confirmed Bug description: (Suspected glibc issue!) qemu-system-ppc64(le) fails when invoked with kvm acceleration with error "illegal instruction" > qemu-system-ppc64(le) -M pseries,accel=kvm Illegal instruction (core dumped) In dmesg: Facility 'SCV' unavailable (12), exception at 0x7624f8134c0c, MSR=900000000280f033 Version-Release number of selected component (if applicable): qemu 5.2.0 Linux kernel 5.11 glibc 2.33 all latest updates as of submitting the bug report How reproducible: Always Steps to Reproduce: 1. Run qemu with kvm acceleration Actual results: Illegal instruction Expected results: Normal VM execution Additional info: The machine is a Raptor Talos II Lite with a Sforza V1 8-core, but was also observed on a Raptor Blackbird with the same processor. This was also observed on Fedora 34 beta, which uses glibc 2.33 Also tested on ArchPOWER (unofficial port of Arch Linux for ppc64le) with glibc 2.33 Fedora 33 and Ubuntu 20.10, both using glibc 2.32 do not have this issue, and downgrading the Linux kernel from 5.11 to 5.4 LTS on ArchPOWER solved the problem. Kernel 5.9 and 5.10 have the same issue when combined with glibc2.33 ProblemType: Bug DistroRelease: Ubuntu 21.04 Package: qemu-system 1:5.2+dfsg-6ubuntu2 ProcVersionSignature: Ubuntu 5.11.0-11.12-generic 5.11.0 Uname: Linux 5.11.0-11-generic ppc64le .sys.firmware.opal.msglog: Error: [Errno 13] Permission denied: '/sys/firmware/opal/msglog' ApportVersion: 2.20.11-0ubuntu60 Architecture: ppc64el CasperMD5CheckResult: pass CurrentDesktop: Unity:Unity7:ubuntu Date: Mon Mar 22 14:48:39 2021 InstallationDate: Installed on 2021-03-22 (0 days ago) InstallationMedia: Ubuntu-Server 21.04 "Hirsute Hippo" - Alpha ppc64el (20210321) KvmCmdLine: COMMAND STAT EUID RUID PID PPID %CPU COMMAND ProcKernelCmdLine: root=UUID=f3d03315-0944-4a02-9c87-09c00eba9fa1 ro ProcLoadAvg: 1.20 0.73 0.46 1/1054 6071 ProcSwaps: Filename Type Size Used Priority /swap.img file 8388544 0 -2 ProcVersion: Linux version 5.11.0-11-generic (buildd@bos02-ppc64el-002) (gcc (Ubuntu 10.2.1-20ubuntu1) 10.2.1 20210220, GNU ld (GNU Binutils for Ubuntu) 2.36.1) #12-Ubuntu SMP Mon Mar 1 19:26:20 UTC 2021 SourcePackage: qemu UpgradeStatus: No upgrade log present (probably fresh install) VarLogDump_list: total 0 acpidump: cpu_cores: Number of cores present = 8 cpu_coreson: Number of cores online = 8 cpu_smt: SMT=4 To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1920784/+subscriptions