Activity log for bug #1932966

Date Who What changed Old value New value Message
2021-06-18 20:25:54 Guilherme G. Piccoli bug added bug
2021-06-18 20:26:05 Guilherme G. Piccoli bug task added linux-kvm (Ubuntu)
2021-06-18 20:26:16 Guilherme G. Piccoli nominated for series Ubuntu Bionic
2021-06-18 20:26:16 Guilherme G. Piccoli bug task added linux-kvm (Ubuntu Bionic)
2021-06-18 20:26:23 Guilherme G. Piccoli linux-kvm (Ubuntu): status New Confirmed
2021-06-18 20:26:26 Guilherme G. Piccoli linux-kvm (Ubuntu Bionic): status New Confirmed
2021-06-18 20:26:28 Guilherme G. Piccoli linux-kvm (Ubuntu): importance Undecided Medium
2021-06-18 20:26:29 Guilherme G. Piccoli linux-kvm (Ubuntu Bionic): importance Undecided Medium
2021-06-18 20:26:31 Guilherme G. Piccoli linux-kvm (Ubuntu Bionic): assignee Guilherme G. Piccoli (gpiccoli)
2021-06-18 20:26:32 Guilherme G. Piccoli linux-kvm (Ubuntu): assignee Guilherme G. Piccoli (gpiccoli)
2021-07-12 20:00:08 Sean Feole tags 4.15 bionic kvm linux-kvm sru-20210531 ubuntu-kvm-unit-tests 4.15 bionic hinted kvm linux-kvm sru-20210531 ubuntu-kvm-unit-tests
2021-07-23 14:40:25 Guilherme G. Piccoli ubuntu-kernel-tests: assignee Guilherme G. Piccoli (gpiccoli)
2021-07-23 14:40:27 Guilherme G. Piccoli linux-kvm (Ubuntu Bionic): assignee Guilherme G. Piccoli (gpiccoli)
2021-07-23 14:40:29 Guilherme G. Piccoli linux-kvm (Ubuntu): assignee Guilherme G. Piccoli (gpiccoli)
2021-08-02 08:23:55 Po-Hsu Lin tags 4.15 bionic hinted kvm linux-kvm sru-20210531 ubuntu-kvm-unit-tests 4.15 bionic hinted kvm linux-kvm sru-20210531 sru-20210719 ubuntu-kvm-unit-tests
2021-08-26 19:04:02 Guilherme G. Piccoli removed subscriber Guilherme G. Piccoli
2021-08-30 09:24:24 Po-Hsu Lin affects linux-kvm (Ubuntu) linux (Ubuntu)
2021-08-30 09:24:32 Po-Hsu Lin ubuntu-kernel-tests: assignee Po-Hsu Lin (cypressyew)
2021-08-30 09:24:33 Po-Hsu Lin linux (Ubuntu Bionic): assignee Po-Hsu Lin (cypressyew)
2021-08-30 09:24:36 Po-Hsu Lin ubuntu-kernel-tests: status Confirmed In Progress
2021-08-30 09:24:38 Po-Hsu Lin linux (Ubuntu Bionic): status Confirmed In Progress
2021-08-30 10:40:38 Po-Hsu Lin description Found this on B/KVM, current cycle (sru-20210531): 18:27:11 DEBUG| [stdout] PASS: movapd (write)^M 18:27:11 DEBUG| [stderr] KVM internal error. Suberror: 1 18:27:11 DEBUG| [stderr] emulation failure 18:27:11 DEBUG| [stderr] RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd RDX=00000000000003f8 18:27:11 DEBUG| [stderr] RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b440 RSP=000000000051b420 18:27:11 DEBUG| [stderr] R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d R11=0000000000000000 18:27:11 DEBUG| [stderr] R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000 R15=3333333333333333 18:27:11 DEBUG| [stderr] RIP=0000000000400a0c RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0 18:27:11 DEBUG| [stderr] ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA] 18:27:11 DEBUG| [stderr] SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] GS =0010 000000000051a4d0 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT 18:27:11 DEBUG| [stderr] TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy 18:27:11 DEBUG| [stderr] GDT= 000000000041100a 0000106f 18:27:11 DEBUG| [stderr] IDT= 0000000000410000 00000fff 18:27:11 DEBUG| [stderr] CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220 18:27:11 DEBUG| [stderr] DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 18:27:11 DEBUG| [stderr] DR6=00000000ffff0ff0 DR7=0000000000000400 18:27:11 DEBUG| [stderr] EFER=0000000000000500 18:27:11 DEBUG| [stderr] Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 f8 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8 05 18:28:40 DEBUG| [stderr] qemu-system-x86_64: terminating on signal 15 from pid 13634 (timeout) 18:28:40 DEBUG| [stdout] FAIL emulator (timeout; duration=90s) [...] TestError: Test failed for emulator 18:28:40 ERROR| child process failed 18:28:40 DEBUG| Traceback (most recent call last): 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/parallel.py", line 25, in fork_start 18:28:40 DEBUG| l() 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/job.py", line 505, in <lambda> 18:28:40 DEBUG| l = lambda: test.runtest(self, url, tag, args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/test.py", line 125, in runtest 18:28:40 DEBUG| job.sysinfo.log_after_each_iteration) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 913, in runtest 18:28:40 DEBUG| mytest._exec(args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 411, in _exec 18:28:40 DEBUG| _call_test_function(self.execute, *p_args, **p_dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 823, in _call_test_function 18:28:40 DEBUG| return func(*args, **dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 291, in execute 18:28:40 DEBUG| postprocess_profiled_run, args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 212, in _call_run_once 18:28:40 DEBUG| self.run_once(*args, **dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/tests/ubuntu_kvm_unit_tests/ubuntu_kvm_unit_tests.py", line 82, in run_once 18:28:40 DEBUG| raise error.TestError("Test failed for {}".format(test_name)) 18:28:40 DEBUG| TestError: Test failed for emulator 18:28:41 INFO | ERROR ubuntu_kvm_unit_tests.emulator ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18 18:28:41 Test failed for emulator 18:28:41 INFO | END ERROR ubuntu_kvm_unit_tests.emulator ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18 18:28:41 [Impact] Our Bionic 4.15 kernel lack of movups/movupd emulation support. With the following commit added into the emulator test in ubuntu_kvm_unit_tests: 8726f9771911d6749dbd36ab2fc70f0f25e2b1a9 is the first bad commit commit 8726f9771911d6749dbd36ab2fc70f0f25e2b1a9 Author: Jacob Xu <jacobhxu@google.com> Date: Wed Apr 21 16:12:57 2021 -0700 x86: add movups/movupd sse testcases to emulator.c Here we add movups/movupd tests corresponding to functionality introduced in commit 29916968c486 ("kvm: Add emulation for movups/movupd"). Signed-off-by: Jacob Xu <jacobhxu@google.com> Message-Id: <20210421231258.2583654-1-jacobhxu@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> It will cause the emulator test in ubuntu_kvm_unit_tests fail with timeout: PASS: movdqu (read)^M PASS: movdqu (write)^M PASS: movaps (read)^M PASS: movaps (write)^M PASS: movapd (read)^M PASS: movapd (write)^M KVM internal error. Suberror: 1 emulation failure RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd RDX=00000000000003f8 RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b490 RSP=000000000051b470 R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d R11=0000000000000000 R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000 R15=3333333333333333 RIP=0000000000400a1f RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0 ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA] SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] GS =0010 000000000051a510 ffffffff 00c09300 DPL=0 DS [-WA] LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy GDT= 000000000041100a 0000106f IDT= 0000000000410000 00000fff CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220 DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 DR6=00000000ffff0ff0 DR7=0000000000000400 EFER=0000000000000500 Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 e5 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8 07 qemu-system-x86_64: terminating on signal 15 from pid 15758 (timeout) FAIL emulator (timeout; duration=90s) [Fix] * 6ce08235f2 kvm: Add emulation for movups/movupd This patch can be cherry-picked into Bionic. [Original Bug Report] Found this on B/KVM, current cycle (sru-20210531): 18:27:11 DEBUG| [stdout] PASS: movapd (write)^M 18:27:11 DEBUG| [stderr] KVM internal error. Suberror: 1 18:27:11 DEBUG| [stderr] emulation failure 18:27:11 DEBUG| [stderr] RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd RDX=00000000000003f8 18:27:11 DEBUG| [stderr] RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b440 RSP=000000000051b420 18:27:11 DEBUG| [stderr] R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d R11=0000000000000000 18:27:11 DEBUG| [stderr] R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000 R15=3333333333333333 18:27:11 DEBUG| [stderr] RIP=0000000000400a0c RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0 18:27:11 DEBUG| [stderr] ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA] 18:27:11 DEBUG| [stderr] SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] GS =0010 000000000051a4d0 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT 18:27:11 DEBUG| [stderr] TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy 18:27:11 DEBUG| [stderr] GDT= 000000000041100a 0000106f 18:27:11 DEBUG| [stderr] IDT= 0000000000410000 00000fff 18:27:11 DEBUG| [stderr] CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220 18:27:11 DEBUG| [stderr] DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 18:27:11 DEBUG| [stderr] DR6=00000000ffff0ff0 DR7=0000000000000400 18:27:11 DEBUG| [stderr] EFER=0000000000000500 18:27:11 DEBUG| [stderr] Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 f8 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8 05 18:28:40 DEBUG| [stderr] qemu-system-x86_64: terminating on signal 15 from pid 13634 (timeout) 18:28:40 DEBUG| [stdout] FAIL emulator (timeout; duration=90s) [...] TestError: Test failed for emulator 18:28:40 ERROR| child process failed 18:28:40 DEBUG| Traceback (most recent call last): 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/parallel.py", line 25, in fork_start 18:28:40 DEBUG| l() 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/job.py", line 505, in <lambda> 18:28:40 DEBUG| l = lambda: test.runtest(self, url, tag, args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/test.py", line 125, in runtest 18:28:40 DEBUG| job.sysinfo.log_after_each_iteration) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 913, in runtest 18:28:40 DEBUG| mytest._exec(args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 411, in _exec 18:28:40 DEBUG| _call_test_function(self.execute, *p_args, **p_dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 823, in _call_test_function 18:28:40 DEBUG| return func(*args, **dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 291, in execute 18:28:40 DEBUG| postprocess_profiled_run, args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 212, in _call_run_once 18:28:40 DEBUG| self.run_once(*args, **dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/tests/ubuntu_kvm_unit_tests/ubuntu_kvm_unit_tests.py", line 82, in run_once 18:28:40 DEBUG| raise error.TestError("Test failed for {}".format(test_name)) 18:28:40 DEBUG| TestError: Test failed for emulator 18:28:41 INFO | ERROR ubuntu_kvm_unit_tests.emulator ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18 18:28:41 Test failed for emulator 18:28:41 INFO | END ERROR ubuntu_kvm_unit_tests.emulator ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18 18:28:41
2021-08-30 10:41:26 Po-Hsu Lin linux (Ubuntu): status Confirmed Fix Released
2021-08-30 10:41:41 Po-Hsu Lin description [Impact] Our Bionic 4.15 kernel lack of movups/movupd emulation support. With the following commit added into the emulator test in ubuntu_kvm_unit_tests: 8726f9771911d6749dbd36ab2fc70f0f25e2b1a9 is the first bad commit commit 8726f9771911d6749dbd36ab2fc70f0f25e2b1a9 Author: Jacob Xu <jacobhxu@google.com> Date: Wed Apr 21 16:12:57 2021 -0700 x86: add movups/movupd sse testcases to emulator.c Here we add movups/movupd tests corresponding to functionality introduced in commit 29916968c486 ("kvm: Add emulation for movups/movupd"). Signed-off-by: Jacob Xu <jacobhxu@google.com> Message-Id: <20210421231258.2583654-1-jacobhxu@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> It will cause the emulator test in ubuntu_kvm_unit_tests fail with timeout: PASS: movdqu (read)^M PASS: movdqu (write)^M PASS: movaps (read)^M PASS: movaps (write)^M PASS: movapd (read)^M PASS: movapd (write)^M KVM internal error. Suberror: 1 emulation failure RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd RDX=00000000000003f8 RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b490 RSP=000000000051b470 R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d R11=0000000000000000 R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000 R15=3333333333333333 RIP=0000000000400a1f RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0 ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA] SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] GS =0010 000000000051a510 ffffffff 00c09300 DPL=0 DS [-WA] LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy GDT= 000000000041100a 0000106f IDT= 0000000000410000 00000fff CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220 DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 DR6=00000000ffff0ff0 DR7=0000000000000400 EFER=0000000000000500 Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 e5 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8 07 qemu-system-x86_64: terminating on signal 15 from pid 15758 (timeout) FAIL emulator (timeout; duration=90s) [Fix] * 6ce08235f2 kvm: Add emulation for movups/movupd This patch can be cherry-picked into Bionic. [Original Bug Report] Found this on B/KVM, current cycle (sru-20210531): 18:27:11 DEBUG| [stdout] PASS: movapd (write)^M 18:27:11 DEBUG| [stderr] KVM internal error. Suberror: 1 18:27:11 DEBUG| [stderr] emulation failure 18:27:11 DEBUG| [stderr] RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd RDX=00000000000003f8 18:27:11 DEBUG| [stderr] RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b440 RSP=000000000051b420 18:27:11 DEBUG| [stderr] R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d R11=0000000000000000 18:27:11 DEBUG| [stderr] R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000 R15=3333333333333333 18:27:11 DEBUG| [stderr] RIP=0000000000400a0c RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0 18:27:11 DEBUG| [stderr] ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA] 18:27:11 DEBUG| [stderr] SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] GS =0010 000000000051a4d0 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT 18:27:11 DEBUG| [stderr] TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy 18:27:11 DEBUG| [stderr] GDT= 000000000041100a 0000106f 18:27:11 DEBUG| [stderr] IDT= 0000000000410000 00000fff 18:27:11 DEBUG| [stderr] CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220 18:27:11 DEBUG| [stderr] DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 18:27:11 DEBUG| [stderr] DR6=00000000ffff0ff0 DR7=0000000000000400 18:27:11 DEBUG| [stderr] EFER=0000000000000500 18:27:11 DEBUG| [stderr] Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 f8 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8 05 18:28:40 DEBUG| [stderr] qemu-system-x86_64: terminating on signal 15 from pid 13634 (timeout) 18:28:40 DEBUG| [stdout] FAIL emulator (timeout; duration=90s) [...] TestError: Test failed for emulator 18:28:40 ERROR| child process failed 18:28:40 DEBUG| Traceback (most recent call last): 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/parallel.py", line 25, in fork_start 18:28:40 DEBUG| l() 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/job.py", line 505, in <lambda> 18:28:40 DEBUG| l = lambda: test.runtest(self, url, tag, args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/test.py", line 125, in runtest 18:28:40 DEBUG| job.sysinfo.log_after_each_iteration) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 913, in runtest 18:28:40 DEBUG| mytest._exec(args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 411, in _exec 18:28:40 DEBUG| _call_test_function(self.execute, *p_args, **p_dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 823, in _call_test_function 18:28:40 DEBUG| return func(*args, **dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 291, in execute 18:28:40 DEBUG| postprocess_profiled_run, args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 212, in _call_run_once 18:28:40 DEBUG| self.run_once(*args, **dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/tests/ubuntu_kvm_unit_tests/ubuntu_kvm_unit_tests.py", line 82, in run_once 18:28:40 DEBUG| raise error.TestError("Test failed for {}".format(test_name)) 18:28:40 DEBUG| TestError: Test failed for emulator 18:28:41 INFO | ERROR ubuntu_kvm_unit_tests.emulator ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18 18:28:41 Test failed for emulator 18:28:41 INFO | END ERROR ubuntu_kvm_unit_tests.emulator ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18 18:28:41 [Impact] Our Bionic 4.15 kernel lacks of movups/movupd emulation support. With the following commit added into the emulator test in ubuntu_kvm_unit_tests: 8726f9771911d6749dbd36ab2fc70f0f25e2b1a9 is the first bad commit commit 8726f9771911d6749dbd36ab2fc70f0f25e2b1a9 Author: Jacob Xu <jacobhxu@google.com> Date: Wed Apr 21 16:12:57 2021 -0700     x86: add movups/movupd sse testcases to emulator.c     Here we add movups/movupd tests corresponding to functionality     introduced in commit 29916968c486 ("kvm: Add emulation for movups/movupd").     Signed-off-by: Jacob Xu <jacobhxu@google.com>     Message-Id: <20210421231258.2583654-1-jacobhxu@google.com>     Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> It will cause the emulator test in ubuntu_kvm_unit_tests fail with timeout:  PASS: movdqu (read)^M  PASS: movdqu (write)^M  PASS: movaps (read)^M  PASS: movaps (write)^M  PASS: movapd (read)^M  PASS: movapd (write)^M  KVM internal error. Suberror: 1  emulation failure  RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd RDX=00000000000003f8  RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b490 RSP=000000000051b470  R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d R11=0000000000000000  R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000 R15=3333333333333333  RIP=0000000000400a1f RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0  ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA]  SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  GS =0010 000000000051a510 ffffffff 00c09300 DPL=0 DS [-WA]  LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT  TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy  GDT= 000000000041100a 0000106f  IDT= 0000000000410000 00000fff  CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220  DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000  DR6=00000000ffff0ff0 DR7=0000000000000400  EFER=0000000000000500  Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 e5 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8 07  qemu-system-x86_64: terminating on signal 15 from pid 15758 (timeout)  FAIL emulator (timeout; duration=90s) [Fix] * 6ce08235f2 kvm: Add emulation for movups/movupd This patch can be cherry-picked into Bionic. [Original Bug Report] Found this on B/KVM, current cycle (sru-20210531): 18:27:11 DEBUG| [stdout] PASS: movapd (write)^M 18:27:11 DEBUG| [stderr] KVM internal error. Suberror: 1 18:27:11 DEBUG| [stderr] emulation failure 18:27:11 DEBUG| [stderr] RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd RDX=00000000000003f8 18:27:11 DEBUG| [stderr] RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b440 RSP=000000000051b420 18:27:11 DEBUG| [stderr] R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d R11=0000000000000000 18:27:11 DEBUG| [stderr] R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000 R15=3333333333333333 18:27:11 DEBUG| [stderr] RIP=0000000000400a0c RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0 18:27:11 DEBUG| [stderr] ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA] 18:27:11 DEBUG| [stderr] SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] GS =0010 000000000051a4d0 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT 18:27:11 DEBUG| [stderr] TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy 18:27:11 DEBUG| [stderr] GDT= 000000000041100a 0000106f 18:27:11 DEBUG| [stderr] IDT= 0000000000410000 00000fff 18:27:11 DEBUG| [stderr] CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220 18:27:11 DEBUG| [stderr] DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 18:27:11 DEBUG| [stderr] DR6=00000000ffff0ff0 DR7=0000000000000400 18:27:11 DEBUG| [stderr] EFER=0000000000000500 18:27:11 DEBUG| [stderr] Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 f8 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8 05 18:28:40 DEBUG| [stderr] qemu-system-x86_64: terminating on signal 15 from pid 13634 (timeout) 18:28:40 DEBUG| [stdout] FAIL emulator (timeout; duration=90s) [...] TestError: Test failed for emulator 18:28:40 ERROR| child process failed 18:28:40 DEBUG| Traceback (most recent call last): 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/parallel.py", line 25, in fork_start 18:28:40 DEBUG| l() 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/job.py", line 505, in <lambda> 18:28:40 DEBUG| l = lambda: test.runtest(self, url, tag, args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/test.py", line 125, in runtest 18:28:40 DEBUG| job.sysinfo.log_after_each_iteration) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 913, in runtest 18:28:40 DEBUG| mytest._exec(args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 411, in _exec 18:28:40 DEBUG| _call_test_function(self.execute, *p_args, **p_dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 823, in _call_test_function 18:28:40 DEBUG| return func(*args, **dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 291, in execute 18:28:40 DEBUG| postprocess_profiled_run, args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 212, in _call_run_once 18:28:40 DEBUG| self.run_once(*args, **dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/tests/ubuntu_kvm_unit_tests/ubuntu_kvm_unit_tests.py", line 82, in run_once 18:28:40 DEBUG| raise error.TestError("Test failed for {}".format(test_name)) 18:28:40 DEBUG| TestError: Test failed for emulator 18:28:41 INFO | ERROR ubuntu_kvm_unit_tests.emulator ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18 18:28:41 Test failed for emulator 18:28:41 INFO | END ERROR ubuntu_kvm_unit_tests.emulator ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18 18:28:41
2021-08-30 11:35:15 Po-Hsu Lin description [Impact] Our Bionic 4.15 kernel lacks of movups/movupd emulation support. With the following commit added into the emulator test in ubuntu_kvm_unit_tests: 8726f9771911d6749dbd36ab2fc70f0f25e2b1a9 is the first bad commit commit 8726f9771911d6749dbd36ab2fc70f0f25e2b1a9 Author: Jacob Xu <jacobhxu@google.com> Date: Wed Apr 21 16:12:57 2021 -0700     x86: add movups/movupd sse testcases to emulator.c     Here we add movups/movupd tests corresponding to functionality     introduced in commit 29916968c486 ("kvm: Add emulation for movups/movupd").     Signed-off-by: Jacob Xu <jacobhxu@google.com>     Message-Id: <20210421231258.2583654-1-jacobhxu@google.com>     Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> It will cause the emulator test in ubuntu_kvm_unit_tests fail with timeout:  PASS: movdqu (read)^M  PASS: movdqu (write)^M  PASS: movaps (read)^M  PASS: movaps (write)^M  PASS: movapd (read)^M  PASS: movapd (write)^M  KVM internal error. Suberror: 1  emulation failure  RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd RDX=00000000000003f8  RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b490 RSP=000000000051b470  R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d R11=0000000000000000  R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000 R15=3333333333333333  RIP=0000000000400a1f RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0  ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA]  SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  GS =0010 000000000051a510 ffffffff 00c09300 DPL=0 DS [-WA]  LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT  TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy  GDT= 000000000041100a 0000106f  IDT= 0000000000410000 00000fff  CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220  DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000  DR6=00000000ffff0ff0 DR7=0000000000000400  EFER=0000000000000500  Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 e5 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8 07  qemu-system-x86_64: terminating on signal 15 from pid 15758 (timeout)  FAIL emulator (timeout; duration=90s) [Fix] * 6ce08235f2 kvm: Add emulation for movups/movupd This patch can be cherry-picked into Bionic. [Original Bug Report] Found this on B/KVM, current cycle (sru-20210531): 18:27:11 DEBUG| [stdout] PASS: movapd (write)^M 18:27:11 DEBUG| [stderr] KVM internal error. Suberror: 1 18:27:11 DEBUG| [stderr] emulation failure 18:27:11 DEBUG| [stderr] RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd RDX=00000000000003f8 18:27:11 DEBUG| [stderr] RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b440 RSP=000000000051b420 18:27:11 DEBUG| [stderr] R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d R11=0000000000000000 18:27:11 DEBUG| [stderr] R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000 R15=3333333333333333 18:27:11 DEBUG| [stderr] RIP=0000000000400a0c RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0 18:27:11 DEBUG| [stderr] ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA] 18:27:11 DEBUG| [stderr] SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] GS =0010 000000000051a4d0 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT 18:27:11 DEBUG| [stderr] TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy 18:27:11 DEBUG| [stderr] GDT= 000000000041100a 0000106f 18:27:11 DEBUG| [stderr] IDT= 0000000000410000 00000fff 18:27:11 DEBUG| [stderr] CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220 18:27:11 DEBUG| [stderr] DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 18:27:11 DEBUG| [stderr] DR6=00000000ffff0ff0 DR7=0000000000000400 18:27:11 DEBUG| [stderr] EFER=0000000000000500 18:27:11 DEBUG| [stderr] Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 f8 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8 05 18:28:40 DEBUG| [stderr] qemu-system-x86_64: terminating on signal 15 from pid 13634 (timeout) 18:28:40 DEBUG| [stdout] FAIL emulator (timeout; duration=90s) [...] TestError: Test failed for emulator 18:28:40 ERROR| child process failed 18:28:40 DEBUG| Traceback (most recent call last): 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/parallel.py", line 25, in fork_start 18:28:40 DEBUG| l() 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/job.py", line 505, in <lambda> 18:28:40 DEBUG| l = lambda: test.runtest(self, url, tag, args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/test.py", line 125, in runtest 18:28:40 DEBUG| job.sysinfo.log_after_each_iteration) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 913, in runtest 18:28:40 DEBUG| mytest._exec(args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 411, in _exec 18:28:40 DEBUG| _call_test_function(self.execute, *p_args, **p_dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 823, in _call_test_function 18:28:40 DEBUG| return func(*args, **dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 291, in execute 18:28:40 DEBUG| postprocess_profiled_run, args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 212, in _call_run_once 18:28:40 DEBUG| self.run_once(*args, **dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/tests/ubuntu_kvm_unit_tests/ubuntu_kvm_unit_tests.py", line 82, in run_once 18:28:40 DEBUG| raise error.TestError("Test failed for {}".format(test_name)) 18:28:40 DEBUG| TestError: Test failed for emulator 18:28:41 INFO | ERROR ubuntu_kvm_unit_tests.emulator ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18 18:28:41 Test failed for emulator 18:28:41 INFO | END ERROR ubuntu_kvm_unit_tests.emulator ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18 18:28:41 [Impact] Our Bionic 4.15 kernel lacks of movups/movupd emulation support. With the following commit added into the emulator test in ubuntu_kvm_unit_tests: 8726f9771911d6749dbd36ab2fc70f0f25e2b1a9 is the first bad commit commit 8726f9771911d6749dbd36ab2fc70f0f25e2b1a9 Author: Jacob Xu <jacobhxu@google.com> Date: Wed Apr 21 16:12:57 2021 -0700     x86: add movups/movupd sse testcases to emulator.c     Here we add movups/movupd tests corresponding to functionality     introduced in commit 29916968c486 ("kvm: Add emulation for movups/movupd").     Signed-off-by: Jacob Xu <jacobhxu@google.com>     Message-Id: <20210421231258.2583654-1-jacobhxu@google.com>     Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> It will cause the emulator test in ubuntu_kvm_unit_tests fail with timeout:  PASS: movdqu (read)^M  PASS: movdqu (write)^M  PASS: movaps (read)^M  PASS: movaps (write)^M  PASS: movapd (read)^M  PASS: movapd (write)^M  KVM internal error. Suberror: 1  emulation failure  RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd RDX=00000000000003f8  RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b490 RSP=000000000051b470  R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d R11=0000000000000000  R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000 R15=3333333333333333  RIP=0000000000400a1f RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0  ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA]  SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  GS =0010 000000000051a510 ffffffff 00c09300 DPL=0 DS [-WA]  LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT  TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy  GDT= 000000000041100a 0000106f  IDT= 0000000000410000 00000fff  CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220  DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000  DR6=00000000ffff0ff0 DR7=0000000000000400  EFER=0000000000000500  Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 e5 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8 07  qemu-system-x86_64: terminating on signal 15 from pid 15758 (timeout)  FAIL emulator (timeout; duration=90s) [Fix] * 6ce08235f2 kvm: Add emulation for movups/movupd This patch can be cherry-picked into Bionic. [Test] Run the emulator test from ubuntu_kvm_unit_tests, with this patch applied it will pass without any issue: PASS: movdqu (read) PASS: movdqu (write) PASS: movaps (read) PASS: movaps (write) PASS: movapd (read) PASS: movapd (write) PASS: movups (read) PASS: movups (write) PASS: movupd (read) PASS: movupd (write) PASS: movups unaligned PASS: movupd unaligned PASS: unaligned movaps exception PASS: movups unaligned crosspage PASS: movups crosspage exception PASS: movq (mmx, read) PASS: movq (mmx, write) PASS: movb $imm, 0(%rip) PASS: shld (cl) PASS: shrd (cl) PASS: mov null, %ss PASS: mov null, %ss (with ss.rpl != cpl) PASS: Test ret/iret with a nullified segment PASS: ltr PASS: cmovnel SKIP: skipping register-only tests, use kvm.force_emulation_prefix=1 to enable PASS: push16 PASS: cross-page mmio read PASS: cross-page mmio write PASS: string_io_mmio PASS: jump to non-canonical address SKIP: illegal movbe SUMMARY: 135 tests, 2 skipped PASS emulator (135 tests, 2 skipped) [Where problems could occur] [Original Bug Report] Found this on B/KVM, current cycle (sru-20210531): 18:27:11 DEBUG| [stdout] PASS: movapd (write)^M 18:27:11 DEBUG| [stderr] KVM internal error. Suberror: 1 18:27:11 DEBUG| [stderr] emulation failure 18:27:11 DEBUG| [stderr] RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd RDX=00000000000003f8 18:27:11 DEBUG| [stderr] RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b440 RSP=000000000051b420 18:27:11 DEBUG| [stderr] R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d R11=0000000000000000 18:27:11 DEBUG| [stderr] R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000 R15=3333333333333333 18:27:11 DEBUG| [stderr] RIP=0000000000400a0c RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0 18:27:11 DEBUG| [stderr] ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA] 18:27:11 DEBUG| [stderr] SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] GS =0010 000000000051a4d0 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT 18:27:11 DEBUG| [stderr] TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy 18:27:11 DEBUG| [stderr] GDT= 000000000041100a 0000106f 18:27:11 DEBUG| [stderr] IDT= 0000000000410000 00000fff 18:27:11 DEBUG| [stderr] CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220 18:27:11 DEBUG| [stderr] DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 18:27:11 DEBUG| [stderr] DR6=00000000ffff0ff0 DR7=0000000000000400 18:27:11 DEBUG| [stderr] EFER=0000000000000500 18:27:11 DEBUG| [stderr] Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 f8 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8 05 18:28:40 DEBUG| [stderr] qemu-system-x86_64: terminating on signal 15 from pid 13634 (timeout) 18:28:40 DEBUG| [stdout] FAIL emulator (timeout; duration=90s) [...] TestError: Test failed for emulator 18:28:40 ERROR| child process failed 18:28:40 DEBUG| Traceback (most recent call last): 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/parallel.py", line 25, in fork_start 18:28:40 DEBUG| l() 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/job.py", line 505, in <lambda> 18:28:40 DEBUG| l = lambda: test.runtest(self, url, tag, args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/test.py", line 125, in runtest 18:28:40 DEBUG| job.sysinfo.log_after_each_iteration) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 913, in runtest 18:28:40 DEBUG| mytest._exec(args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 411, in _exec 18:28:40 DEBUG| _call_test_function(self.execute, *p_args, **p_dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 823, in _call_test_function 18:28:40 DEBUG| return func(*args, **dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 291, in execute 18:28:40 DEBUG| postprocess_profiled_run, args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 212, in _call_run_once 18:28:40 DEBUG| self.run_once(*args, **dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/tests/ubuntu_kvm_unit_tests/ubuntu_kvm_unit_tests.py", line 82, in run_once 18:28:40 DEBUG| raise error.TestError("Test failed for {}".format(test_name)) 18:28:40 DEBUG| TestError: Test failed for emulator 18:28:41 INFO | ERROR ubuntu_kvm_unit_tests.emulator ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18 18:28:41 Test failed for emulator 18:28:41 INFO | END ERROR ubuntu_kvm_unit_tests.emulator ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18 18:28:41
2021-08-31 02:33:49 Po-Hsu Lin description [Impact] Our Bionic 4.15 kernel lacks of movups/movupd emulation support. With the following commit added into the emulator test in ubuntu_kvm_unit_tests: 8726f9771911d6749dbd36ab2fc70f0f25e2b1a9 is the first bad commit commit 8726f9771911d6749dbd36ab2fc70f0f25e2b1a9 Author: Jacob Xu <jacobhxu@google.com> Date: Wed Apr 21 16:12:57 2021 -0700     x86: add movups/movupd sse testcases to emulator.c     Here we add movups/movupd tests corresponding to functionality     introduced in commit 29916968c486 ("kvm: Add emulation for movups/movupd").     Signed-off-by: Jacob Xu <jacobhxu@google.com>     Message-Id: <20210421231258.2583654-1-jacobhxu@google.com>     Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> It will cause the emulator test in ubuntu_kvm_unit_tests fail with timeout:  PASS: movdqu (read)^M  PASS: movdqu (write)^M  PASS: movaps (read)^M  PASS: movaps (write)^M  PASS: movapd (read)^M  PASS: movapd (write)^M  KVM internal error. Suberror: 1  emulation failure  RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd RDX=00000000000003f8  RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b490 RSP=000000000051b470  R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d R11=0000000000000000  R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000 R15=3333333333333333  RIP=0000000000400a1f RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0  ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA]  SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  GS =0010 000000000051a510 ffffffff 00c09300 DPL=0 DS [-WA]  LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT  TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy  GDT= 000000000041100a 0000106f  IDT= 0000000000410000 00000fff  CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220  DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000  DR6=00000000ffff0ff0 DR7=0000000000000400  EFER=0000000000000500  Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 e5 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8 07  qemu-system-x86_64: terminating on signal 15 from pid 15758 (timeout)  FAIL emulator (timeout; duration=90s) [Fix] * 6ce08235f2 kvm: Add emulation for movups/movupd This patch can be cherry-picked into Bionic. [Test] Run the emulator test from ubuntu_kvm_unit_tests, with this patch applied it will pass without any issue: PASS: movdqu (read) PASS: movdqu (write) PASS: movaps (read) PASS: movaps (write) PASS: movapd (read) PASS: movapd (write) PASS: movups (read) PASS: movups (write) PASS: movupd (read) PASS: movupd (write) PASS: movups unaligned PASS: movupd unaligned PASS: unaligned movaps exception PASS: movups unaligned crosspage PASS: movups crosspage exception PASS: movq (mmx, read) PASS: movq (mmx, write) PASS: movb $imm, 0(%rip) PASS: shld (cl) PASS: shrd (cl) PASS: mov null, %ss PASS: mov null, %ss (with ss.rpl != cpl) PASS: Test ret/iret with a nullified segment PASS: ltr PASS: cmovnel SKIP: skipping register-only tests, use kvm.force_emulation_prefix=1 to enable PASS: push16 PASS: cross-page mmio read PASS: cross-page mmio write PASS: string_io_mmio PASS: jump to non-canonical address SKIP: illegal movbe SUMMARY: 135 tests, 2 skipped PASS emulator (135 tests, 2 skipped) [Where problems could occur] [Original Bug Report] Found this on B/KVM, current cycle (sru-20210531): 18:27:11 DEBUG| [stdout] PASS: movapd (write)^M 18:27:11 DEBUG| [stderr] KVM internal error. Suberror: 1 18:27:11 DEBUG| [stderr] emulation failure 18:27:11 DEBUG| [stderr] RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd RDX=00000000000003f8 18:27:11 DEBUG| [stderr] RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b440 RSP=000000000051b420 18:27:11 DEBUG| [stderr] R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d R11=0000000000000000 18:27:11 DEBUG| [stderr] R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000 R15=3333333333333333 18:27:11 DEBUG| [stderr] RIP=0000000000400a0c RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0 18:27:11 DEBUG| [stderr] ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA] 18:27:11 DEBUG| [stderr] SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] GS =0010 000000000051a4d0 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT 18:27:11 DEBUG| [stderr] TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy 18:27:11 DEBUG| [stderr] GDT= 000000000041100a 0000106f 18:27:11 DEBUG| [stderr] IDT= 0000000000410000 00000fff 18:27:11 DEBUG| [stderr] CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220 18:27:11 DEBUG| [stderr] DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 18:27:11 DEBUG| [stderr] DR6=00000000ffff0ff0 DR7=0000000000000400 18:27:11 DEBUG| [stderr] EFER=0000000000000500 18:27:11 DEBUG| [stderr] Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 f8 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8 05 18:28:40 DEBUG| [stderr] qemu-system-x86_64: terminating on signal 15 from pid 13634 (timeout) 18:28:40 DEBUG| [stdout] FAIL emulator (timeout; duration=90s) [...] TestError: Test failed for emulator 18:28:40 ERROR| child process failed 18:28:40 DEBUG| Traceback (most recent call last): 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/parallel.py", line 25, in fork_start 18:28:40 DEBUG| l() 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/job.py", line 505, in <lambda> 18:28:40 DEBUG| l = lambda: test.runtest(self, url, tag, args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/test.py", line 125, in runtest 18:28:40 DEBUG| job.sysinfo.log_after_each_iteration) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 913, in runtest 18:28:40 DEBUG| mytest._exec(args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 411, in _exec 18:28:40 DEBUG| _call_test_function(self.execute, *p_args, **p_dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 823, in _call_test_function 18:28:40 DEBUG| return func(*args, **dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 291, in execute 18:28:40 DEBUG| postprocess_profiled_run, args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 212, in _call_run_once 18:28:40 DEBUG| self.run_once(*args, **dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/tests/ubuntu_kvm_unit_tests/ubuntu_kvm_unit_tests.py", line 82, in run_once 18:28:40 DEBUG| raise error.TestError("Test failed for {}".format(test_name)) 18:28:40 DEBUG| TestError: Test failed for emulator 18:28:41 INFO | ERROR ubuntu_kvm_unit_tests.emulator ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18 18:28:41 Test failed for emulator 18:28:41 INFO | END ERROR ubuntu_kvm_unit_tests.emulator ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18 18:28:41 [Impact] Our Bionic 4.15 kernel lacks of movups/movupd emulation support. With the following commit added into the emulator test in ubuntu_kvm_unit_tests: 8726f9771911d6749dbd36ab2fc70f0f25e2b1a9 is the first bad commit commit 8726f9771911d6749dbd36ab2fc70f0f25e2b1a9 Author: Jacob Xu <jacobhxu@google.com> Date: Wed Apr 21 16:12:57 2021 -0700     x86: add movups/movupd sse testcases to emulator.c     Here we add movups/movupd tests corresponding to functionality     introduced in commit 29916968c486 ("kvm: Add emulation for movups/movupd").     Signed-off-by: Jacob Xu <jacobhxu@google.com>     Message-Id: <20210421231258.2583654-1-jacobhxu@google.com>     Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> It will cause the emulator test in ubuntu_kvm_unit_tests fail with timeout:  PASS: movdqu (read)^M  PASS: movdqu (write)^M  PASS: movaps (read)^M  PASS: movaps (write)^M  PASS: movapd (read)^M  PASS: movapd (write)^M  KVM internal error. Suberror: 1  emulation failure  RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd RDX=00000000000003f8  RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b490 RSP=000000000051b470  R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d R11=0000000000000000  R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000 R15=3333333333333333  RIP=0000000000400a1f RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0  ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA]  SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  GS =0010 000000000051a510 ffffffff 00c09300 DPL=0 DS [-WA]  LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT  TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy  GDT= 000000000041100a 0000106f  IDT= 0000000000410000 00000fff  CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220  DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000  DR6=00000000ffff0ff0 DR7=0000000000000400  EFER=0000000000000500  Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 e5 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8 07  qemu-system-x86_64: terminating on signal 15 from pid 15758 (timeout)  FAIL emulator (timeout; duration=90s) [Fix] * 6ce08235f2 kvm: Add emulation for movups/movupd This patch can be cherry-picked into Bionic. There is no other patch that claims to be a fix of this one. [Test] Test kernel can be found here: https://people.canonical.com/~phlin/kernel/lp-1932966-kvm-emulator/ Run the emulator test from ubuntu_kvm_unit_tests, with this patch applied it will pass without any issue:   PASS: movdqu (read)   PASS: movdqu (write)   PASS: movaps (read)   PASS: movaps (write)   PASS: movapd (read)   PASS: movapd (write)   PASS: movups (read)   PASS: movups (write)   PASS: movupd (read)   PASS: movupd (write)   PASS: movups unaligned   PASS: movupd unaligned   PASS: unaligned movaps exception   PASS: movups unaligned crosspage   PASS: movups crosspage exception   PASS: movq (mmx, read)   PASS: movq (mmx, write)   PASS: movb $imm, 0(%rip)   PASS: shld (cl)   PASS: shrd (cl)   PASS: mov null, %ss   PASS: mov null, %ss (with ss.rpl != cpl)   PASS: Test ret/iret with a nullified segment   PASS: ltr   PASS: cmovnel   SKIP: skipping register-only tests, use kvm.force_emulation_prefix=1 to enable   PASS: push16   PASS: cross-page mmio read   PASS: cross-page mmio write   PASS: string_io_mmio   PASS: jump to non-canonical address   SKIP: illegal movbe   SUMMARY: 135 tests, 2 skipped   PASS emulator (135 tests, 2 skipped) [Where problems could occur] [Original Bug Report] Found this on B/KVM, current cycle (sru-20210531): 18:27:11 DEBUG| [stdout] PASS: movapd (write)^M 18:27:11 DEBUG| [stderr] KVM internal error. Suberror: 1 18:27:11 DEBUG| [stderr] emulation failure 18:27:11 DEBUG| [stderr] RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd RDX=00000000000003f8 18:27:11 DEBUG| [stderr] RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b440 RSP=000000000051b420 18:27:11 DEBUG| [stderr] R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d R11=0000000000000000 18:27:11 DEBUG| [stderr] R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000 R15=3333333333333333 18:27:11 DEBUG| [stderr] RIP=0000000000400a0c RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0 18:27:11 DEBUG| [stderr] ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA] 18:27:11 DEBUG| [stderr] SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] GS =0010 000000000051a4d0 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT 18:27:11 DEBUG| [stderr] TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy 18:27:11 DEBUG| [stderr] GDT= 000000000041100a 0000106f 18:27:11 DEBUG| [stderr] IDT= 0000000000410000 00000fff 18:27:11 DEBUG| [stderr] CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220 18:27:11 DEBUG| [stderr] DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 18:27:11 DEBUG| [stderr] DR6=00000000ffff0ff0 DR7=0000000000000400 18:27:11 DEBUG| [stderr] EFER=0000000000000500 18:27:11 DEBUG| [stderr] Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 f8 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8 05 18:28:40 DEBUG| [stderr] qemu-system-x86_64: terminating on signal 15 from pid 13634 (timeout) 18:28:40 DEBUG| [stdout] FAIL emulator (timeout; duration=90s) [...] TestError: Test failed for emulator 18:28:40 ERROR| child process failed 18:28:40 DEBUG| Traceback (most recent call last): 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/parallel.py", line 25, in fork_start 18:28:40 DEBUG| l() 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/job.py", line 505, in <lambda> 18:28:40 DEBUG| l = lambda: test.runtest(self, url, tag, args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/test.py", line 125, in runtest 18:28:40 DEBUG| job.sysinfo.log_after_each_iteration) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 913, in runtest 18:28:40 DEBUG| mytest._exec(args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 411, in _exec 18:28:40 DEBUG| _call_test_function(self.execute, *p_args, **p_dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 823, in _call_test_function 18:28:40 DEBUG| return func(*args, **dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 291, in execute 18:28:40 DEBUG| postprocess_profiled_run, args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 212, in _call_run_once 18:28:40 DEBUG| self.run_once(*args, **dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/tests/ubuntu_kvm_unit_tests/ubuntu_kvm_unit_tests.py", line 82, in run_once 18:28:40 DEBUG| raise error.TestError("Test failed for {}".format(test_name)) 18:28:40 DEBUG| TestError: Test failed for emulator 18:28:41 INFO | ERROR ubuntu_kvm_unit_tests.emulator ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18 18:28:41 Test failed for emulator 18:28:41 INFO | END ERROR ubuntu_kvm_unit_tests.emulator ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18 18:28:41
2021-08-31 03:06:24 Po-Hsu Lin description [Impact] Our Bionic 4.15 kernel lacks of movups/movupd emulation support. With the following commit added into the emulator test in ubuntu_kvm_unit_tests: 8726f9771911d6749dbd36ab2fc70f0f25e2b1a9 is the first bad commit commit 8726f9771911d6749dbd36ab2fc70f0f25e2b1a9 Author: Jacob Xu <jacobhxu@google.com> Date: Wed Apr 21 16:12:57 2021 -0700     x86: add movups/movupd sse testcases to emulator.c     Here we add movups/movupd tests corresponding to functionality     introduced in commit 29916968c486 ("kvm: Add emulation for movups/movupd").     Signed-off-by: Jacob Xu <jacobhxu@google.com>     Message-Id: <20210421231258.2583654-1-jacobhxu@google.com>     Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> It will cause the emulator test in ubuntu_kvm_unit_tests fail with timeout:  PASS: movdqu (read)^M  PASS: movdqu (write)^M  PASS: movaps (read)^M  PASS: movaps (write)^M  PASS: movapd (read)^M  PASS: movapd (write)^M  KVM internal error. Suberror: 1  emulation failure  RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd RDX=00000000000003f8  RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b490 RSP=000000000051b470  R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d R11=0000000000000000  R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000 R15=3333333333333333  RIP=0000000000400a1f RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0  ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA]  SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  GS =0010 000000000051a510 ffffffff 00c09300 DPL=0 DS [-WA]  LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT  TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy  GDT= 000000000041100a 0000106f  IDT= 0000000000410000 00000fff  CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220  DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000  DR6=00000000ffff0ff0 DR7=0000000000000400  EFER=0000000000000500  Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 e5 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8 07  qemu-system-x86_64: terminating on signal 15 from pid 15758 (timeout)  FAIL emulator (timeout; duration=90s) [Fix] * 6ce08235f2 kvm: Add emulation for movups/movupd This patch can be cherry-picked into Bionic. There is no other patch that claims to be a fix of this one. [Test] Test kernel can be found here: https://people.canonical.com/~phlin/kernel/lp-1932966-kvm-emulator/ Run the emulator test from ubuntu_kvm_unit_tests, with this patch applied it will pass without any issue:   PASS: movdqu (read)   PASS: movdqu (write)   PASS: movaps (read)   PASS: movaps (write)   PASS: movapd (read)   PASS: movapd (write)   PASS: movups (read)   PASS: movups (write)   PASS: movupd (read)   PASS: movupd (write)   PASS: movups unaligned   PASS: movupd unaligned   PASS: unaligned movaps exception   PASS: movups unaligned crosspage   PASS: movups crosspage exception   PASS: movq (mmx, read)   PASS: movq (mmx, write)   PASS: movb $imm, 0(%rip)   PASS: shld (cl)   PASS: shrd (cl)   PASS: mov null, %ss   PASS: mov null, %ss (with ss.rpl != cpl)   PASS: Test ret/iret with a nullified segment   PASS: ltr   PASS: cmovnel   SKIP: skipping register-only tests, use kvm.force_emulation_prefix=1 to enable   PASS: push16   PASS: cross-page mmio read   PASS: cross-page mmio write   PASS: string_io_mmio   PASS: jump to non-canonical address   SKIP: illegal movbe   SUMMARY: 135 tests, 2 skipped   PASS emulator (135 tests, 2 skipped) [Where problems could occur] [Original Bug Report] Found this on B/KVM, current cycle (sru-20210531): 18:27:11 DEBUG| [stdout] PASS: movapd (write)^M 18:27:11 DEBUG| [stderr] KVM internal error. Suberror: 1 18:27:11 DEBUG| [stderr] emulation failure 18:27:11 DEBUG| [stderr] RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd RDX=00000000000003f8 18:27:11 DEBUG| [stderr] RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b440 RSP=000000000051b420 18:27:11 DEBUG| [stderr] R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d R11=0000000000000000 18:27:11 DEBUG| [stderr] R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000 R15=3333333333333333 18:27:11 DEBUG| [stderr] RIP=0000000000400a0c RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0 18:27:11 DEBUG| [stderr] ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA] 18:27:11 DEBUG| [stderr] SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] GS =0010 000000000051a4d0 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT 18:27:11 DEBUG| [stderr] TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy 18:27:11 DEBUG| [stderr] GDT= 000000000041100a 0000106f 18:27:11 DEBUG| [stderr] IDT= 0000000000410000 00000fff 18:27:11 DEBUG| [stderr] CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220 18:27:11 DEBUG| [stderr] DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 18:27:11 DEBUG| [stderr] DR6=00000000ffff0ff0 DR7=0000000000000400 18:27:11 DEBUG| [stderr] EFER=0000000000000500 18:27:11 DEBUG| [stderr] Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 f8 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8 05 18:28:40 DEBUG| [stderr] qemu-system-x86_64: terminating on signal 15 from pid 13634 (timeout) 18:28:40 DEBUG| [stdout] FAIL emulator (timeout; duration=90s) [...] TestError: Test failed for emulator 18:28:40 ERROR| child process failed 18:28:40 DEBUG| Traceback (most recent call last): 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/parallel.py", line 25, in fork_start 18:28:40 DEBUG| l() 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/job.py", line 505, in <lambda> 18:28:40 DEBUG| l = lambda: test.runtest(self, url, tag, args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/test.py", line 125, in runtest 18:28:40 DEBUG| job.sysinfo.log_after_each_iteration) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 913, in runtest 18:28:40 DEBUG| mytest._exec(args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 411, in _exec 18:28:40 DEBUG| _call_test_function(self.execute, *p_args, **p_dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 823, in _call_test_function 18:28:40 DEBUG| return func(*args, **dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 291, in execute 18:28:40 DEBUG| postprocess_profiled_run, args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 212, in _call_run_once 18:28:40 DEBUG| self.run_once(*args, **dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/tests/ubuntu_kvm_unit_tests/ubuntu_kvm_unit_tests.py", line 82, in run_once 18:28:40 DEBUG| raise error.TestError("Test failed for {}".format(test_name)) 18:28:40 DEBUG| TestError: Test failed for emulator 18:28:41 INFO | ERROR ubuntu_kvm_unit_tests.emulator ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18 18:28:41 Test failed for emulator 18:28:41 INFO | END ERROR ubuntu_kvm_unit_tests.emulator ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18 18:28:41 [Impact] Our Bionic 4.15 kernel lacks of movups/movupd emulation support. With the following commit added into the emulator test in ubuntu_kvm_unit_tests: 8726f9771911d6749dbd36ab2fc70f0f25e2b1a9 is the first bad commit commit 8726f9771911d6749dbd36ab2fc70f0f25e2b1a9 Author: Jacob Xu <jacobhxu@google.com> Date: Wed Apr 21 16:12:57 2021 -0700     x86: add movups/movupd sse testcases to emulator.c     Here we add movups/movupd tests corresponding to functionality     introduced in commit 29916968c486 ("kvm: Add emulation for movups/movupd").     Signed-off-by: Jacob Xu <jacobhxu@google.com>     Message-Id: <20210421231258.2583654-1-jacobhxu@google.com>     Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> It will cause the emulator test in ubuntu_kvm_unit_tests fail with timeout:  PASS: movdqu (read)^M  PASS: movdqu (write)^M  PASS: movaps (read)^M  PASS: movaps (write)^M  PASS: movapd (read)^M  PASS: movapd (write)^M  KVM internal error. Suberror: 1  emulation failure  RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd RDX=00000000000003f8  RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b490 RSP=000000000051b470  R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d R11=0000000000000000  R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000 R15=3333333333333333  RIP=0000000000400a1f RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0  ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA]  SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  GS =0010 000000000051a510 ffffffff 00c09300 DPL=0 DS [-WA]  LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT  TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy  GDT= 000000000041100a 0000106f  IDT= 0000000000410000 00000fff  CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220  DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000  DR6=00000000ffff0ff0 DR7=0000000000000400  EFER=0000000000000500  Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 e5 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8 07  qemu-system-x86_64: terminating on signal 15 from pid 15758 (timeout)  FAIL emulator (timeout; duration=90s) [Fix] * 6ce08235f2 kvm: Add emulation for movups/movupd This patch can be cherry-picked into Bionic. I didn't see any other patch claim to be a fix of this patch in upstream tree. [Test] Test kernel can be found here: https://people.canonical.com/~phlin/kernel/lp-1932966-kvm-emulator/ Run the emulator test from ubuntu_kvm_unit_tests, with this patch applied it will pass without any issue:   PASS: movdqu (read)   PASS: movdqu (write)   PASS: movaps (read)   PASS: movaps (write)   PASS: movapd (read)   PASS: movapd (write)   PASS: movups (read)   PASS: movups (write)   PASS: movupd (read)   PASS: movupd (write)   PASS: movups unaligned   PASS: movupd unaligned   PASS: unaligned movaps exception   PASS: movups unaligned crosspage   PASS: movups crosspage exception   PASS: movq (mmx, read)   PASS: movq (mmx, write)   PASS: movb $imm, 0(%rip)   PASS: shld (cl)   PASS: shrd (cl)   PASS: mov null, %ss   PASS: mov null, %ss (with ss.rpl != cpl)   PASS: Test ret/iret with a nullified segment   PASS: ltr   PASS: cmovnel   SKIP: skipping register-only tests, use kvm.force_emulation_prefix=1 to enable   PASS: push16   PASS: cross-page mmio read   PASS: cross-page mmio write   PASS: string_io_mmio   PASS: jump to non-canonical address   SKIP: illegal movbe   SUMMARY: 135 tests, 2 skipped   PASS emulator (135 tests, 2 skipped) [Where problems could occur] [Original Bug Report] Found this on B/KVM, current cycle (sru-20210531): 18:27:11 DEBUG| [stdout] PASS: movapd (write)^M 18:27:11 DEBUG| [stderr] KVM internal error. Suberror: 1 18:27:11 DEBUG| [stderr] emulation failure 18:27:11 DEBUG| [stderr] RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd RDX=00000000000003f8 18:27:11 DEBUG| [stderr] RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b440 RSP=000000000051b420 18:27:11 DEBUG| [stderr] R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d R11=0000000000000000 18:27:11 DEBUG| [stderr] R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000 R15=3333333333333333 18:27:11 DEBUG| [stderr] RIP=0000000000400a0c RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0 18:27:11 DEBUG| [stderr] ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA] 18:27:11 DEBUG| [stderr] SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] GS =0010 000000000051a4d0 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT 18:27:11 DEBUG| [stderr] TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy 18:27:11 DEBUG| [stderr] GDT= 000000000041100a 0000106f 18:27:11 DEBUG| [stderr] IDT= 0000000000410000 00000fff 18:27:11 DEBUG| [stderr] CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220 18:27:11 DEBUG| [stderr] DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 18:27:11 DEBUG| [stderr] DR6=00000000ffff0ff0 DR7=0000000000000400 18:27:11 DEBUG| [stderr] EFER=0000000000000500 18:27:11 DEBUG| [stderr] Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 f8 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8 05 18:28:40 DEBUG| [stderr] qemu-system-x86_64: terminating on signal 15 from pid 13634 (timeout) 18:28:40 DEBUG| [stdout] FAIL emulator (timeout; duration=90s) [...] TestError: Test failed for emulator 18:28:40 ERROR| child process failed 18:28:40 DEBUG| Traceback (most recent call last): 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/parallel.py", line 25, in fork_start 18:28:40 DEBUG| l() 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/job.py", line 505, in <lambda> 18:28:40 DEBUG| l = lambda: test.runtest(self, url, tag, args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/test.py", line 125, in runtest 18:28:40 DEBUG| job.sysinfo.log_after_each_iteration) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 913, in runtest 18:28:40 DEBUG| mytest._exec(args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 411, in _exec 18:28:40 DEBUG| _call_test_function(self.execute, *p_args, **p_dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 823, in _call_test_function 18:28:40 DEBUG| return func(*args, **dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 291, in execute 18:28:40 DEBUG| postprocess_profiled_run, args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 212, in _call_run_once 18:28:40 DEBUG| self.run_once(*args, **dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/tests/ubuntu_kvm_unit_tests/ubuntu_kvm_unit_tests.py", line 82, in run_once 18:28:40 DEBUG| raise error.TestError("Test failed for {}".format(test_name)) 18:28:40 DEBUG| TestError: Test failed for emulator 18:28:41 INFO | ERROR ubuntu_kvm_unit_tests.emulator ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18 18:28:41 Test failed for emulator 18:28:41 INFO | END ERROR ubuntu_kvm_unit_tests.emulator ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18 18:28:41
2021-08-31 03:14:59 Po-Hsu Lin description [Impact] Our Bionic 4.15 kernel lacks of movups/movupd emulation support. With the following commit added into the emulator test in ubuntu_kvm_unit_tests: 8726f9771911d6749dbd36ab2fc70f0f25e2b1a9 is the first bad commit commit 8726f9771911d6749dbd36ab2fc70f0f25e2b1a9 Author: Jacob Xu <jacobhxu@google.com> Date: Wed Apr 21 16:12:57 2021 -0700     x86: add movups/movupd sse testcases to emulator.c     Here we add movups/movupd tests corresponding to functionality     introduced in commit 29916968c486 ("kvm: Add emulation for movups/movupd").     Signed-off-by: Jacob Xu <jacobhxu@google.com>     Message-Id: <20210421231258.2583654-1-jacobhxu@google.com>     Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> It will cause the emulator test in ubuntu_kvm_unit_tests fail with timeout:  PASS: movdqu (read)^M  PASS: movdqu (write)^M  PASS: movaps (read)^M  PASS: movaps (write)^M  PASS: movapd (read)^M  PASS: movapd (write)^M  KVM internal error. Suberror: 1  emulation failure  RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd RDX=00000000000003f8  RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b490 RSP=000000000051b470  R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d R11=0000000000000000  R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000 R15=3333333333333333  RIP=0000000000400a1f RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0  ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA]  SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  GS =0010 000000000051a510 ffffffff 00c09300 DPL=0 DS [-WA]  LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT  TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy  GDT= 000000000041100a 0000106f  IDT= 0000000000410000 00000fff  CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220  DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000  DR6=00000000ffff0ff0 DR7=0000000000000400  EFER=0000000000000500  Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 e5 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8 07  qemu-system-x86_64: terminating on signal 15 from pid 15758 (timeout)  FAIL emulator (timeout; duration=90s) [Fix] * 6ce08235f2 kvm: Add emulation for movups/movupd This patch can be cherry-picked into Bionic. I didn't see any other patch claim to be a fix of this patch in upstream tree. [Test] Test kernel can be found here: https://people.canonical.com/~phlin/kernel/lp-1932966-kvm-emulator/ Run the emulator test from ubuntu_kvm_unit_tests, with this patch applied it will pass without any issue:   PASS: movdqu (read)   PASS: movdqu (write)   PASS: movaps (read)   PASS: movaps (write)   PASS: movapd (read)   PASS: movapd (write)   PASS: movups (read)   PASS: movups (write)   PASS: movupd (read)   PASS: movupd (write)   PASS: movups unaligned   PASS: movupd unaligned   PASS: unaligned movaps exception   PASS: movups unaligned crosspage   PASS: movups crosspage exception   PASS: movq (mmx, read)   PASS: movq (mmx, write)   PASS: movb $imm, 0(%rip)   PASS: shld (cl)   PASS: shrd (cl)   PASS: mov null, %ss   PASS: mov null, %ss (with ss.rpl != cpl)   PASS: Test ret/iret with a nullified segment   PASS: ltr   PASS: cmovnel   SKIP: skipping register-only tests, use kvm.force_emulation_prefix=1 to enable   PASS: push16   PASS: cross-page mmio read   PASS: cross-page mmio write   PASS: string_io_mmio   PASS: jump to non-canonical address   SKIP: illegal movbe   SUMMARY: 135 tests, 2 skipped   PASS emulator (135 tests, 2 skipped) [Where problems could occur] [Original Bug Report] Found this on B/KVM, current cycle (sru-20210531): 18:27:11 DEBUG| [stdout] PASS: movapd (write)^M 18:27:11 DEBUG| [stderr] KVM internal error. Suberror: 1 18:27:11 DEBUG| [stderr] emulation failure 18:27:11 DEBUG| [stderr] RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd RDX=00000000000003f8 18:27:11 DEBUG| [stderr] RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b440 RSP=000000000051b420 18:27:11 DEBUG| [stderr] R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d R11=0000000000000000 18:27:11 DEBUG| [stderr] R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000 R15=3333333333333333 18:27:11 DEBUG| [stderr] RIP=0000000000400a0c RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0 18:27:11 DEBUG| [stderr] ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA] 18:27:11 DEBUG| [stderr] SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] GS =0010 000000000051a4d0 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT 18:27:11 DEBUG| [stderr] TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy 18:27:11 DEBUG| [stderr] GDT= 000000000041100a 0000106f 18:27:11 DEBUG| [stderr] IDT= 0000000000410000 00000fff 18:27:11 DEBUG| [stderr] CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220 18:27:11 DEBUG| [stderr] DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 18:27:11 DEBUG| [stderr] DR6=00000000ffff0ff0 DR7=0000000000000400 18:27:11 DEBUG| [stderr] EFER=0000000000000500 18:27:11 DEBUG| [stderr] Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 f8 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8 05 18:28:40 DEBUG| [stderr] qemu-system-x86_64: terminating on signal 15 from pid 13634 (timeout) 18:28:40 DEBUG| [stdout] FAIL emulator (timeout; duration=90s) [...] TestError: Test failed for emulator 18:28:40 ERROR| child process failed 18:28:40 DEBUG| Traceback (most recent call last): 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/parallel.py", line 25, in fork_start 18:28:40 DEBUG| l() 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/job.py", line 505, in <lambda> 18:28:40 DEBUG| l = lambda: test.runtest(self, url, tag, args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/test.py", line 125, in runtest 18:28:40 DEBUG| job.sysinfo.log_after_each_iteration) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 913, in runtest 18:28:40 DEBUG| mytest._exec(args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 411, in _exec 18:28:40 DEBUG| _call_test_function(self.execute, *p_args, **p_dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 823, in _call_test_function 18:28:40 DEBUG| return func(*args, **dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 291, in execute 18:28:40 DEBUG| postprocess_profiled_run, args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 212, in _call_run_once 18:28:40 DEBUG| self.run_once(*args, **dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/tests/ubuntu_kvm_unit_tests/ubuntu_kvm_unit_tests.py", line 82, in run_once 18:28:40 DEBUG| raise error.TestError("Test failed for {}".format(test_name)) 18:28:40 DEBUG| TestError: Test failed for emulator 18:28:41 INFO | ERROR ubuntu_kvm_unit_tests.emulator ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18 18:28:41 Test failed for emulator 18:28:41 INFO | END ERROR ubuntu_kvm_unit_tests.emulator ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18 18:28:41 [Impact] Our Bionic 4.15 kernel lacks of movups/movupd emulation support. With the following commit added into the emulator test in ubuntu_kvm_unit_tests: 8726f9771911d6749dbd36ab2fc70f0f25e2b1a9 is the first bad commit commit 8726f9771911d6749dbd36ab2fc70f0f25e2b1a9 Author: Jacob Xu <jacobhxu@google.com> Date: Wed Apr 21 16:12:57 2021 -0700     x86: add movups/movupd sse testcases to emulator.c     Here we add movups/movupd tests corresponding to functionality     introduced in commit 29916968c486 ("kvm: Add emulation for movups/movupd").     Signed-off-by: Jacob Xu <jacobhxu@google.com>     Message-Id: <20210421231258.2583654-1-jacobhxu@google.com>     Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> It will cause the emulator test in ubuntu_kvm_unit_tests fail with timeout:  PASS: movdqu (read)  PASS: movdqu (write)  PASS: movaps (read)  PASS: movaps (write)  PASS: movapd (read)  PASS: movapd (write)  KVM internal error. Suberror: 1  emulation failure  RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd RDX=00000000000003f8  RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b490 RSP=000000000051b470  R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d R11=0000000000000000  R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000 R15=3333333333333333  RIP=0000000000400a1f RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0  ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA]  SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  GS =0010 000000000051a510 ffffffff 00c09300 DPL=0 DS [-WA]  LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT  TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy  GDT= 000000000041100a 0000106f  IDT= 0000000000410000 00000fff  CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220  DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000  DR6=00000000ffff0ff0 DR7=0000000000000400  EFER=0000000000000500  Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 e5 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8 07  qemu-system-x86_64: terminating on signal 15 from pid 15758 (timeout)  FAIL emulator (timeout; duration=90s) [Fix] * 29916968c48691 kvm: Add emulation for movups/movupd This patch can be cherry-picked into Bionic. I didn't see any other patch claim to be a fix of this patch in upstream tree. [Test] Test kernel can be found here: https://people.canonical.com/~phlin/kernel/lp-1932966-kvm-emulator/ Run the emulator test from ubuntu_kvm_unit_tests, with this patch applied it will pass without any issue:   PASS: movdqu (read)   PASS: movdqu (write)   PASS: movaps (read)   PASS: movaps (write)   PASS: movapd (read)   PASS: movapd (write)   PASS: movups (read)   PASS: movups (write)   PASS: movupd (read)   PASS: movupd (write)   PASS: movups unaligned   PASS: movupd unaligned   PASS: unaligned movaps exception   PASS: movups unaligned crosspage   PASS: movups crosspage exception   PASS: movq (mmx, read)   PASS: movq (mmx, write)   PASS: movb $imm, 0(%rip)   PASS: shld (cl)   PASS: shrd (cl)   PASS: mov null, %ss   PASS: mov null, %ss (with ss.rpl != cpl)   PASS: Test ret/iret with a nullified segment   PASS: ltr   PASS: cmovnel   SKIP: skipping register-only tests, use kvm.force_emulation_prefix=1 to enable   PASS: push16   PASS: cross-page mmio read   PASS: cross-page mmio write   PASS: string_io_mmio   PASS: jump to non-canonical address   SKIP: illegal movbe   SUMMARY: 135 tests, 2 skipped   PASS emulator (135 tests, 2 skipped) [Where problems could occur] [Original Bug Report] Found this on B/KVM, current cycle (sru-20210531): 18:27:11 DEBUG| [stdout] PASS: movapd (write)^M 18:27:11 DEBUG| [stderr] KVM internal error. Suberror: 1 18:27:11 DEBUG| [stderr] emulation failure 18:27:11 DEBUG| [stderr] RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd RDX=00000000000003f8 18:27:11 DEBUG| [stderr] RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b440 RSP=000000000051b420 18:27:11 DEBUG| [stderr] R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d R11=0000000000000000 18:27:11 DEBUG| [stderr] R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000 R15=3333333333333333 18:27:11 DEBUG| [stderr] RIP=0000000000400a0c RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0 18:27:11 DEBUG| [stderr] ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA] 18:27:11 DEBUG| [stderr] SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] GS =0010 000000000051a4d0 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT 18:27:11 DEBUG| [stderr] TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy 18:27:11 DEBUG| [stderr] GDT= 000000000041100a 0000106f 18:27:11 DEBUG| [stderr] IDT= 0000000000410000 00000fff 18:27:11 DEBUG| [stderr] CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220 18:27:11 DEBUG| [stderr] DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 18:27:11 DEBUG| [stderr] DR6=00000000ffff0ff0 DR7=0000000000000400 18:27:11 DEBUG| [stderr] EFER=0000000000000500 18:27:11 DEBUG| [stderr] Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 f8 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8 05 18:28:40 DEBUG| [stderr] qemu-system-x86_64: terminating on signal 15 from pid 13634 (timeout) 18:28:40 DEBUG| [stdout] FAIL emulator (timeout; duration=90s) [...] TestError: Test failed for emulator 18:28:40 ERROR| child process failed 18:28:40 DEBUG| Traceback (most recent call last): 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/parallel.py", line 25, in fork_start 18:28:40 DEBUG| l() 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/job.py", line 505, in <lambda> 18:28:40 DEBUG| l = lambda: test.runtest(self, url, tag, args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/test.py", line 125, in runtest 18:28:40 DEBUG| job.sysinfo.log_after_each_iteration) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 913, in runtest 18:28:40 DEBUG| mytest._exec(args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 411, in _exec 18:28:40 DEBUG| _call_test_function(self.execute, *p_args, **p_dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 823, in _call_test_function 18:28:40 DEBUG| return func(*args, **dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 291, in execute 18:28:40 DEBUG| postprocess_profiled_run, args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 212, in _call_run_once 18:28:40 DEBUG| self.run_once(*args, **dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/tests/ubuntu_kvm_unit_tests/ubuntu_kvm_unit_tests.py", line 82, in run_once 18:28:40 DEBUG| raise error.TestError("Test failed for {}".format(test_name)) 18:28:40 DEBUG| TestError: Test failed for emulator 18:28:41 INFO | ERROR ubuntu_kvm_unit_tests.emulator ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18 18:28:41 Test failed for emulator 18:28:41 INFO | END ERROR ubuntu_kvm_unit_tests.emulator ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18 18:28:41
2021-08-31 04:06:28 Po-Hsu Lin description [Impact] Our Bionic 4.15 kernel lacks of movups/movupd emulation support. With the following commit added into the emulator test in ubuntu_kvm_unit_tests: 8726f9771911d6749dbd36ab2fc70f0f25e2b1a9 is the first bad commit commit 8726f9771911d6749dbd36ab2fc70f0f25e2b1a9 Author: Jacob Xu <jacobhxu@google.com> Date: Wed Apr 21 16:12:57 2021 -0700     x86: add movups/movupd sse testcases to emulator.c     Here we add movups/movupd tests corresponding to functionality     introduced in commit 29916968c486 ("kvm: Add emulation for movups/movupd").     Signed-off-by: Jacob Xu <jacobhxu@google.com>     Message-Id: <20210421231258.2583654-1-jacobhxu@google.com>     Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> It will cause the emulator test in ubuntu_kvm_unit_tests fail with timeout:  PASS: movdqu (read)  PASS: movdqu (write)  PASS: movaps (read)  PASS: movaps (write)  PASS: movapd (read)  PASS: movapd (write)  KVM internal error. Suberror: 1  emulation failure  RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd RDX=00000000000003f8  RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b490 RSP=000000000051b470  R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d R11=0000000000000000  R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000 R15=3333333333333333  RIP=0000000000400a1f RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0  ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA]  SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  GS =0010 000000000051a510 ffffffff 00c09300 DPL=0 DS [-WA]  LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT  TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy  GDT= 000000000041100a 0000106f  IDT= 0000000000410000 00000fff  CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220  DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000  DR6=00000000ffff0ff0 DR7=0000000000000400  EFER=0000000000000500  Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 e5 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8 07  qemu-system-x86_64: terminating on signal 15 from pid 15758 (timeout)  FAIL emulator (timeout; duration=90s) [Fix] * 29916968c48691 kvm: Add emulation for movups/movupd This patch can be cherry-picked into Bionic. I didn't see any other patch claim to be a fix of this patch in upstream tree. [Test] Test kernel can be found here: https://people.canonical.com/~phlin/kernel/lp-1932966-kvm-emulator/ Run the emulator test from ubuntu_kvm_unit_tests, with this patch applied it will pass without any issue:   PASS: movdqu (read)   PASS: movdqu (write)   PASS: movaps (read)   PASS: movaps (write)   PASS: movapd (read)   PASS: movapd (write)   PASS: movups (read)   PASS: movups (write)   PASS: movupd (read)   PASS: movupd (write)   PASS: movups unaligned   PASS: movupd unaligned   PASS: unaligned movaps exception   PASS: movups unaligned crosspage   PASS: movups crosspage exception   PASS: movq (mmx, read)   PASS: movq (mmx, write)   PASS: movb $imm, 0(%rip)   PASS: shld (cl)   PASS: shrd (cl)   PASS: mov null, %ss   PASS: mov null, %ss (with ss.rpl != cpl)   PASS: Test ret/iret with a nullified segment   PASS: ltr   PASS: cmovnel   SKIP: skipping register-only tests, use kvm.force_emulation_prefix=1 to enable   PASS: push16   PASS: cross-page mmio read   PASS: cross-page mmio write   PASS: string_io_mmio   PASS: jump to non-canonical address   SKIP: illegal movbe   SUMMARY: 135 tests, 2 skipped   PASS emulator (135 tests, 2 skipped) [Where problems could occur] [Original Bug Report] Found this on B/KVM, current cycle (sru-20210531): 18:27:11 DEBUG| [stdout] PASS: movapd (write)^M 18:27:11 DEBUG| [stderr] KVM internal error. Suberror: 1 18:27:11 DEBUG| [stderr] emulation failure 18:27:11 DEBUG| [stderr] RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd RDX=00000000000003f8 18:27:11 DEBUG| [stderr] RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b440 RSP=000000000051b420 18:27:11 DEBUG| [stderr] R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d R11=0000000000000000 18:27:11 DEBUG| [stderr] R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000 R15=3333333333333333 18:27:11 DEBUG| [stderr] RIP=0000000000400a0c RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0 18:27:11 DEBUG| [stderr] ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA] 18:27:11 DEBUG| [stderr] SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] GS =0010 000000000051a4d0 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT 18:27:11 DEBUG| [stderr] TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy 18:27:11 DEBUG| [stderr] GDT= 000000000041100a 0000106f 18:27:11 DEBUG| [stderr] IDT= 0000000000410000 00000fff 18:27:11 DEBUG| [stderr] CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220 18:27:11 DEBUG| [stderr] DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 18:27:11 DEBUG| [stderr] DR6=00000000ffff0ff0 DR7=0000000000000400 18:27:11 DEBUG| [stderr] EFER=0000000000000500 18:27:11 DEBUG| [stderr] Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 f8 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8 05 18:28:40 DEBUG| [stderr] qemu-system-x86_64: terminating on signal 15 from pid 13634 (timeout) 18:28:40 DEBUG| [stdout] FAIL emulator (timeout; duration=90s) [...] TestError: Test failed for emulator 18:28:40 ERROR| child process failed 18:28:40 DEBUG| Traceback (most recent call last): 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/parallel.py", line 25, in fork_start 18:28:40 DEBUG| l() 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/job.py", line 505, in <lambda> 18:28:40 DEBUG| l = lambda: test.runtest(self, url, tag, args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/test.py", line 125, in runtest 18:28:40 DEBUG| job.sysinfo.log_after_each_iteration) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 913, in runtest 18:28:40 DEBUG| mytest._exec(args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 411, in _exec 18:28:40 DEBUG| _call_test_function(self.execute, *p_args, **p_dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 823, in _call_test_function 18:28:40 DEBUG| return func(*args, **dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 291, in execute 18:28:40 DEBUG| postprocess_profiled_run, args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 212, in _call_run_once 18:28:40 DEBUG| self.run_once(*args, **dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/tests/ubuntu_kvm_unit_tests/ubuntu_kvm_unit_tests.py", line 82, in run_once 18:28:40 DEBUG| raise error.TestError("Test failed for {}".format(test_name)) 18:28:40 DEBUG| TestError: Test failed for emulator 18:28:41 INFO | ERROR ubuntu_kvm_unit_tests.emulator ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18 18:28:41 Test failed for emulator 18:28:41 INFO | END ERROR ubuntu_kvm_unit_tests.emulator ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18 18:28:41 [Impact] Our Bionic 4.15 kernel lacks of movups/movupd emulation support. With the following commit added into the emulator test in ubuntu_kvm_unit_tests: 8726f9771911d6749dbd36ab2fc70f0f25e2b1a9 is the first bad commit commit 8726f9771911d6749dbd36ab2fc70f0f25e2b1a9 Author: Jacob Xu <jacobhxu@google.com> Date: Wed Apr 21 16:12:57 2021 -0700     x86: add movups/movupd sse testcases to emulator.c     Here we add movups/movupd tests corresponding to functionality     introduced in commit 29916968c486 ("kvm: Add emulation for movups/movupd").     Signed-off-by: Jacob Xu <jacobhxu@google.com>     Message-Id: <20210421231258.2583654-1-jacobhxu@google.com>     Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> It will cause the emulator test in ubuntu_kvm_unit_tests fail with timeout:  PASS: movdqu (read)  PASS: movdqu (write)  PASS: movaps (read)  PASS: movaps (write)  PASS: movapd (read)  PASS: movapd (write)  KVM internal error. Suberror: 1  emulation failure  RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd RDX=00000000000003f8  RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b490 RSP=000000000051b470  R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d R11=0000000000000000  R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000 R15=3333333333333333  RIP=0000000000400a1f RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0  ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA]  SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  GS =0010 000000000051a510 ffffffff 00c09300 DPL=0 DS [-WA]  LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT  TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy  GDT= 000000000041100a 0000106f  IDT= 0000000000410000 00000fff  CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220  DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000  DR6=00000000ffff0ff0 DR7=0000000000000400  EFER=0000000000000500  Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 e5 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8 07  qemu-system-x86_64: terminating on signal 15 from pid 15758 (timeout)  FAIL emulator (timeout; duration=90s) [Fix] * 29916968c48691 kvm: Add emulation for movups/movupd This patch can be cherry-picked into Bionic. It can fix our test failure plus, mentioned in the commit message, emulation failures with openbsd as guest and with Windows 10 with intel HD graphics pass through. I didn't see any other patch claim to be a fix of this patch in upstream tree. [Test] Test kernel can be found here: https://people.canonical.com/~phlin/kernel/lp-1932966-kvm-emulator/ Run the emulator test from ubuntu_kvm_unit_tests, with this patch applied it will pass without any issue:   PASS: movdqu (read)   PASS: movdqu (write)   PASS: movaps (read)   PASS: movaps (write)   PASS: movapd (read)   PASS: movapd (write)   PASS: movups (read)   PASS: movups (write)   PASS: movupd (read)   PASS: movupd (write)   PASS: movups unaligned   PASS: movupd unaligned   PASS: unaligned movaps exception   PASS: movups unaligned crosspage   PASS: movups crosspage exception   PASS: movq (mmx, read)   PASS: movq (mmx, write)   PASS: movb $imm, 0(%rip)   PASS: shld (cl)   PASS: shrd (cl)   PASS: mov null, %ss   PASS: mov null, %ss (with ss.rpl != cpl)   PASS: Test ret/iret with a nullified segment   PASS: ltr   PASS: cmovnel   SKIP: skipping register-only tests, use kvm.force_emulation_prefix=1 to enable   PASS: push16   PASS: cross-page mmio read   PASS: cross-page mmio write   PASS: string_io_mmio   PASS: jump to non-canonical address   SKIP: illegal movbe   SUMMARY: 135 tests, 2 skipped   PASS emulator (135 tests, 2 skipped) [Where problems could occur] It's just adding new capabilities, the problem I think of for the moment is that we might see other failures when using this in the future. [Original Bug Report] Found this on B/KVM, current cycle (sru-20210531): 18:27:11 DEBUG| [stdout] PASS: movapd (write)^M 18:27:11 DEBUG| [stderr] KVM internal error. Suberror: 1 18:27:11 DEBUG| [stderr] emulation failure 18:27:11 DEBUG| [stderr] RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd RDX=00000000000003f8 18:27:11 DEBUG| [stderr] RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b440 RSP=000000000051b420 18:27:11 DEBUG| [stderr] R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d R11=0000000000000000 18:27:11 DEBUG| [stderr] R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000 R15=3333333333333333 18:27:11 DEBUG| [stderr] RIP=0000000000400a0c RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0 18:27:11 DEBUG| [stderr] ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA] 18:27:11 DEBUG| [stderr] SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] GS =0010 000000000051a4d0 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT 18:27:11 DEBUG| [stderr] TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy 18:27:11 DEBUG| [stderr] GDT= 000000000041100a 0000106f 18:27:11 DEBUG| [stderr] IDT= 0000000000410000 00000fff 18:27:11 DEBUG| [stderr] CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220 18:27:11 DEBUG| [stderr] DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 18:27:11 DEBUG| [stderr] DR6=00000000ffff0ff0 DR7=0000000000000400 18:27:11 DEBUG| [stderr] EFER=0000000000000500 18:27:11 DEBUG| [stderr] Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 f8 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8 05 18:28:40 DEBUG| [stderr] qemu-system-x86_64: terminating on signal 15 from pid 13634 (timeout) 18:28:40 DEBUG| [stdout] FAIL emulator (timeout; duration=90s) [...] TestError: Test failed for emulator 18:28:40 ERROR| child process failed 18:28:40 DEBUG| Traceback (most recent call last): 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/parallel.py", line 25, in fork_start 18:28:40 DEBUG| l() 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/job.py", line 505, in <lambda> 18:28:40 DEBUG| l = lambda: test.runtest(self, url, tag, args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/test.py", line 125, in runtest 18:28:40 DEBUG| job.sysinfo.log_after_each_iteration) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 913, in runtest 18:28:40 DEBUG| mytest._exec(args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 411, in _exec 18:28:40 DEBUG| _call_test_function(self.execute, *p_args, **p_dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 823, in _call_test_function 18:28:40 DEBUG| return func(*args, **dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 291, in execute 18:28:40 DEBUG| postprocess_profiled_run, args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 212, in _call_run_once 18:28:40 DEBUG| self.run_once(*args, **dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/tests/ubuntu_kvm_unit_tests/ubuntu_kvm_unit_tests.py", line 82, in run_once 18:28:40 DEBUG| raise error.TestError("Test failed for {}".format(test_name)) 18:28:40 DEBUG| TestError: Test failed for emulator 18:28:41 INFO | ERROR ubuntu_kvm_unit_tests.emulator ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18 18:28:41 Test failed for emulator 18:28:41 INFO | END ERROR ubuntu_kvm_unit_tests.emulator ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18 18:28:41
2021-08-31 04:10:17 Po-Hsu Lin description [Impact] Our Bionic 4.15 kernel lacks of movups/movupd emulation support. With the following commit added into the emulator test in ubuntu_kvm_unit_tests: 8726f9771911d6749dbd36ab2fc70f0f25e2b1a9 is the first bad commit commit 8726f9771911d6749dbd36ab2fc70f0f25e2b1a9 Author: Jacob Xu <jacobhxu@google.com> Date: Wed Apr 21 16:12:57 2021 -0700     x86: add movups/movupd sse testcases to emulator.c     Here we add movups/movupd tests corresponding to functionality     introduced in commit 29916968c486 ("kvm: Add emulation for movups/movupd").     Signed-off-by: Jacob Xu <jacobhxu@google.com>     Message-Id: <20210421231258.2583654-1-jacobhxu@google.com>     Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> It will cause the emulator test in ubuntu_kvm_unit_tests fail with timeout:  PASS: movdqu (read)  PASS: movdqu (write)  PASS: movaps (read)  PASS: movaps (write)  PASS: movapd (read)  PASS: movapd (write)  KVM internal error. Suberror: 1  emulation failure  RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd RDX=00000000000003f8  RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b490 RSP=000000000051b470  R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d R11=0000000000000000  R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000 R15=3333333333333333  RIP=0000000000400a1f RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0  ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA]  SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]  GS =0010 000000000051a510 ffffffff 00c09300 DPL=0 DS [-WA]  LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT  TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy  GDT= 000000000041100a 0000106f  IDT= 0000000000410000 00000fff  CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220  DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000  DR6=00000000ffff0ff0 DR7=0000000000000400  EFER=0000000000000500  Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 e5 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8 07  qemu-system-x86_64: terminating on signal 15 from pid 15758 (timeout)  FAIL emulator (timeout; duration=90s) [Fix] * 29916968c48691 kvm: Add emulation for movups/movupd This patch can be cherry-picked into Bionic. It can fix our test failure plus, mentioned in the commit message, emulation failures with openbsd as guest and with Windows 10 with intel HD graphics pass through. I didn't see any other patch claim to be a fix of this patch in upstream tree. [Test] Test kernel can be found here: https://people.canonical.com/~phlin/kernel/lp-1932966-kvm-emulator/ Run the emulator test from ubuntu_kvm_unit_tests, with this patch applied it will pass without any issue:   PASS: movdqu (read)   PASS: movdqu (write)   PASS: movaps (read)   PASS: movaps (write)   PASS: movapd (read)   PASS: movapd (write)   PASS: movups (read)   PASS: movups (write)   PASS: movupd (read)   PASS: movupd (write)   PASS: movups unaligned   PASS: movupd unaligned   PASS: unaligned movaps exception   PASS: movups unaligned crosspage   PASS: movups crosspage exception   PASS: movq (mmx, read)   PASS: movq (mmx, write)   PASS: movb $imm, 0(%rip)   PASS: shld (cl)   PASS: shrd (cl)   PASS: mov null, %ss   PASS: mov null, %ss (with ss.rpl != cpl)   PASS: Test ret/iret with a nullified segment   PASS: ltr   PASS: cmovnel   SKIP: skipping register-only tests, use kvm.force_emulation_prefix=1 to enable   PASS: push16   PASS: cross-page mmio read   PASS: cross-page mmio write   PASS: string_io_mmio   PASS: jump to non-canonical address   SKIP: illegal movbe   SUMMARY: 135 tests, 2 skipped   PASS emulator (135 tests, 2 skipped) [Where problems could occur] It's just adding new capabilities, the problem I think of for the moment is that we might see other failures when using this in the future. [Original Bug Report] Found this on B/KVM, current cycle (sru-20210531): 18:27:11 DEBUG| [stdout] PASS: movapd (write)^M 18:27:11 DEBUG| [stderr] KVM internal error. Suberror: 1 18:27:11 DEBUG| [stderr] emulation failure 18:27:11 DEBUG| [stderr] RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd RDX=00000000000003f8 18:27:11 DEBUG| [stderr] RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b440 RSP=000000000051b420 18:27:11 DEBUG| [stderr] R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d R11=0000000000000000 18:27:11 DEBUG| [stderr] R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000 R15=3333333333333333 18:27:11 DEBUG| [stderr] RIP=0000000000400a0c RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0 18:27:11 DEBUG| [stderr] ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA] 18:27:11 DEBUG| [stderr] SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] GS =0010 000000000051a4d0 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT 18:27:11 DEBUG| [stderr] TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy 18:27:11 DEBUG| [stderr] GDT= 000000000041100a 0000106f 18:27:11 DEBUG| [stderr] IDT= 0000000000410000 00000fff 18:27:11 DEBUG| [stderr] CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220 18:27:11 DEBUG| [stderr] DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 18:27:11 DEBUG| [stderr] DR6=00000000ffff0ff0 DR7=0000000000000400 18:27:11 DEBUG| [stderr] EFER=0000000000000500 18:27:11 DEBUG| [stderr] Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 f8 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8 05 18:28:40 DEBUG| [stderr] qemu-system-x86_64: terminating on signal 15 from pid 13634 (timeout) 18:28:40 DEBUG| [stdout] FAIL emulator (timeout; duration=90s) [...] TestError: Test failed for emulator 18:28:40 ERROR| child process failed 18:28:40 DEBUG| Traceback (most recent call last): 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/parallel.py", line 25, in fork_start 18:28:40 DEBUG| l() 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/job.py", line 505, in <lambda> 18:28:40 DEBUG| l = lambda: test.runtest(self, url, tag, args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/test.py", line 125, in runtest 18:28:40 DEBUG| job.sysinfo.log_after_each_iteration) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 913, in runtest 18:28:40 DEBUG| mytest._exec(args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 411, in _exec 18:28:40 DEBUG| _call_test_function(self.execute, *p_args, **p_dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 823, in _call_test_function 18:28:40 DEBUG| return func(*args, **dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 291, in execute 18:28:40 DEBUG| postprocess_profiled_run, args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 212, in _call_run_once 18:28:40 DEBUG| self.run_once(*args, **dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/tests/ubuntu_kvm_unit_tests/ubuntu_kvm_unit_tests.py", line 82, in run_once 18:28:40 DEBUG| raise error.TestError("Test failed for {}".format(test_name)) 18:28:40 DEBUG| TestError: Test failed for emulator 18:28:41 INFO | ERROR ubuntu_kvm_unit_tests.emulator ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18 18:28:41 Test failed for emulator 18:28:41 INFO | END ERROR ubuntu_kvm_unit_tests.emulator ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18 18:28:41 [Impact] Our Bionic 4.15 kernel lacks of movups/movupd emulation support. With the following commit added into the emulator test in ubuntu_kvm_unit_tests: commit 8726f9771911d6749dbd36ab2fc70f0f25e2b1a9 Author: Jacob Xu <jacobhxu@google.com> Date: Wed Apr 21 16:12:57 2021 -0700 x86: add movups/movupd sse testcases to emulator.c Here we add movups/movupd tests corresponding to functionality introduced in commit 29916968c486 ("kvm: Add emulation for movups/movupd"). Signed-off-by: Jacob Xu <jacobhxu@google.com> Message-Id: <20210421231258.2583654-1-jacobhxu@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> It will cause the emulator test in ubuntu_kvm_unit_tests fail with timeout: PASS: movdqu (read) PASS: movdqu (write) PASS: movaps (read) PASS: movaps (write) PASS: movapd (read) PASS: movapd (write) KVM internal error. Suberror: 1 emulation failure RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd RDX=00000000000003f8 RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b490 RSP=000000000051b470 R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d R11=0000000000000000 R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000 R15=3333333333333333 RIP=0000000000400a1f RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0 ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA] SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] GS =0010 000000000051a510 ffffffff 00c09300 DPL=0 DS [-WA] LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy GDT= 000000000041100a 0000106f IDT= 0000000000410000 00000fff CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220 DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 DR6=00000000ffff0ff0 DR7=0000000000000400 EFER=0000000000000500 Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 e5 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8 07 qemu-system-x86_64: terminating on signal 15 from pid 15758 (timeout) FAIL emulator (timeout; duration=90s) [Fix] * 29916968c48691 kvm: Add emulation for movups/movupd This patch can be cherry-picked into Bionic. It can fix our test failure plus, as mentioned in the commit message, emulation failures with openbsd as guest and with Windows 10 with intel HD graphics pass through. I didn't see any other patch that claims to be a fix of this one in upstream tree. [Test] Test kernel can be found here: https://people.canonical.com/~phlin/kernel/lp-1932966-kvm-emulator/ Run the emulator test from ubuntu_kvm_unit_tests, with this patch applied it will pass without any issue: PASS: movdqu (read) PASS: movdqu (write) PASS: movaps (read) PASS: movaps (write) PASS: movapd (read) PASS: movapd (write) PASS: movups (read) PASS: movups (write) PASS: movupd (read) PASS: movupd (write) PASS: movups unaligned PASS: movupd unaligned PASS: unaligned movaps exception PASS: movups unaligned crosspage PASS: movups crosspage exception PASS: movq (mmx, read) PASS: movq (mmx, write) PASS: movb $imm, 0(%rip) PASS: shld (cl) PASS: shrd (cl) PASS: mov null, %ss PASS: mov null, %ss (with ss.rpl != cpl) PASS: Test ret/iret with a nullified segment PASS: ltr PASS: cmovnel SKIP: skipping register-only tests, use kvm.force_emulation_prefix=1 to enable PASS: push16 PASS: cross-page mmio read PASS: cross-page mmio write PASS: string_io_mmio PASS: jump to non-canonical address SKIP: illegal movbe SUMMARY: 135 tests, 2 skipped PASS emulator (135 tests, 2 skipped) [Where problems could occur] The problem I think of for the moment is that we might see other failures when using this in the future. [Original Bug Report] Found this on B/KVM, current cycle (sru-20210531): 18:27:11 DEBUG| [stdout] PASS: movapd (write)^M 18:27:11 DEBUG| [stderr] KVM internal error. Suberror: 1 18:27:11 DEBUG| [stderr] emulation failure 18:27:11 DEBUG| [stderr] RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd RDX=00000000000003f8 18:27:11 DEBUG| [stderr] RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b440 RSP=000000000051b420 18:27:11 DEBUG| [stderr] R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d R11=0000000000000000 18:27:11 DEBUG| [stderr] R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000 R15=3333333333333333 18:27:11 DEBUG| [stderr] RIP=0000000000400a0c RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0 18:27:11 DEBUG| [stderr] ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA] 18:27:11 DEBUG| [stderr] SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] GS =0010 000000000051a4d0 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT 18:27:11 DEBUG| [stderr] TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy 18:27:11 DEBUG| [stderr] GDT= 000000000041100a 0000106f 18:27:11 DEBUG| [stderr] IDT= 0000000000410000 00000fff 18:27:11 DEBUG| [stderr] CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220 18:27:11 DEBUG| [stderr] DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 18:27:11 DEBUG| [stderr] DR6=00000000ffff0ff0 DR7=0000000000000400 18:27:11 DEBUG| [stderr] EFER=0000000000000500 18:27:11 DEBUG| [stderr] Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 f8 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8 05 18:28:40 DEBUG| [stderr] qemu-system-x86_64: terminating on signal 15 from pid 13634 (timeout) 18:28:40 DEBUG| [stdout] FAIL emulator (timeout; duration=90s) [...] TestError: Test failed for emulator 18:28:40 ERROR| child process failed 18:28:40 DEBUG| Traceback (most recent call last): 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/parallel.py", line 25, in fork_start 18:28:40 DEBUG| l() 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/job.py", line 505, in <lambda> 18:28:40 DEBUG| l = lambda: test.runtest(self, url, tag, args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/test.py", line 125, in runtest 18:28:40 DEBUG| job.sysinfo.log_after_each_iteration) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 913, in runtest 18:28:40 DEBUG| mytest._exec(args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 411, in _exec 18:28:40 DEBUG| _call_test_function(self.execute, *p_args, **p_dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 823, in _call_test_function 18:28:40 DEBUG| return func(*args, **dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 291, in execute 18:28:40 DEBUG| postprocess_profiled_run, args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 212, in _call_run_once 18:28:40 DEBUG| self.run_once(*args, **dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/tests/ubuntu_kvm_unit_tests/ubuntu_kvm_unit_tests.py", line 82, in run_once 18:28:40 DEBUG| raise error.TestError("Test failed for {}".format(test_name)) 18:28:40 DEBUG| TestError: Test failed for emulator 18:28:41 INFO | ERROR ubuntu_kvm_unit_tests.emulator ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18 18:28:41 Test failed for emulator 18:28:41 INFO | END ERROR ubuntu_kvm_unit_tests.emulator ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18 18:28:41
2021-08-31 04:28:38 Po-Hsu Lin description [Impact] Our Bionic 4.15 kernel lacks of movups/movupd emulation support. With the following commit added into the emulator test in ubuntu_kvm_unit_tests: commit 8726f9771911d6749dbd36ab2fc70f0f25e2b1a9 Author: Jacob Xu <jacobhxu@google.com> Date: Wed Apr 21 16:12:57 2021 -0700 x86: add movups/movupd sse testcases to emulator.c Here we add movups/movupd tests corresponding to functionality introduced in commit 29916968c486 ("kvm: Add emulation for movups/movupd"). Signed-off-by: Jacob Xu <jacobhxu@google.com> Message-Id: <20210421231258.2583654-1-jacobhxu@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> It will cause the emulator test in ubuntu_kvm_unit_tests fail with timeout: PASS: movdqu (read) PASS: movdqu (write) PASS: movaps (read) PASS: movaps (write) PASS: movapd (read) PASS: movapd (write) KVM internal error. Suberror: 1 emulation failure RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd RDX=00000000000003f8 RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b490 RSP=000000000051b470 R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d R11=0000000000000000 R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000 R15=3333333333333333 RIP=0000000000400a1f RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0 ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA] SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] GS =0010 000000000051a510 ffffffff 00c09300 DPL=0 DS [-WA] LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy GDT= 000000000041100a 0000106f IDT= 0000000000410000 00000fff CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220 DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 DR6=00000000ffff0ff0 DR7=0000000000000400 EFER=0000000000000500 Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 e5 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8 07 qemu-system-x86_64: terminating on signal 15 from pid 15758 (timeout) FAIL emulator (timeout; duration=90s) [Fix] * 29916968c48691 kvm: Add emulation for movups/movupd This patch can be cherry-picked into Bionic. It can fix our test failure plus, as mentioned in the commit message, emulation failures with openbsd as guest and with Windows 10 with intel HD graphics pass through. I didn't see any other patch that claims to be a fix of this one in upstream tree. [Test] Test kernel can be found here: https://people.canonical.com/~phlin/kernel/lp-1932966-kvm-emulator/ Run the emulator test from ubuntu_kvm_unit_tests, with this patch applied it will pass without any issue: PASS: movdqu (read) PASS: movdqu (write) PASS: movaps (read) PASS: movaps (write) PASS: movapd (read) PASS: movapd (write) PASS: movups (read) PASS: movups (write) PASS: movupd (read) PASS: movupd (write) PASS: movups unaligned PASS: movupd unaligned PASS: unaligned movaps exception PASS: movups unaligned crosspage PASS: movups crosspage exception PASS: movq (mmx, read) PASS: movq (mmx, write) PASS: movb $imm, 0(%rip) PASS: shld (cl) PASS: shrd (cl) PASS: mov null, %ss PASS: mov null, %ss (with ss.rpl != cpl) PASS: Test ret/iret with a nullified segment PASS: ltr PASS: cmovnel SKIP: skipping register-only tests, use kvm.force_emulation_prefix=1 to enable PASS: push16 PASS: cross-page mmio read PASS: cross-page mmio write PASS: string_io_mmio PASS: jump to non-canonical address SKIP: illegal movbe SUMMARY: 135 tests, 2 skipped PASS emulator (135 tests, 2 skipped) [Where problems could occur] The problem I think of for the moment is that we might see other failures when using this in the future. [Original Bug Report] Found this on B/KVM, current cycle (sru-20210531): 18:27:11 DEBUG| [stdout] PASS: movapd (write)^M 18:27:11 DEBUG| [stderr] KVM internal error. Suberror: 1 18:27:11 DEBUG| [stderr] emulation failure 18:27:11 DEBUG| [stderr] RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd RDX=00000000000003f8 18:27:11 DEBUG| [stderr] RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b440 RSP=000000000051b420 18:27:11 DEBUG| [stderr] R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d R11=0000000000000000 18:27:11 DEBUG| [stderr] R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000 R15=3333333333333333 18:27:11 DEBUG| [stderr] RIP=0000000000400a0c RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0 18:27:11 DEBUG| [stderr] ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA] 18:27:11 DEBUG| [stderr] SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] GS =0010 000000000051a4d0 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT 18:27:11 DEBUG| [stderr] TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy 18:27:11 DEBUG| [stderr] GDT= 000000000041100a 0000106f 18:27:11 DEBUG| [stderr] IDT= 0000000000410000 00000fff 18:27:11 DEBUG| [stderr] CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220 18:27:11 DEBUG| [stderr] DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 18:27:11 DEBUG| [stderr] DR6=00000000ffff0ff0 DR7=0000000000000400 18:27:11 DEBUG| [stderr] EFER=0000000000000500 18:27:11 DEBUG| [stderr] Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 f8 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8 05 18:28:40 DEBUG| [stderr] qemu-system-x86_64: terminating on signal 15 from pid 13634 (timeout) 18:28:40 DEBUG| [stdout] FAIL emulator (timeout; duration=90s) [...] TestError: Test failed for emulator 18:28:40 ERROR| child process failed 18:28:40 DEBUG| Traceback (most recent call last): 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/parallel.py", line 25, in fork_start 18:28:40 DEBUG| l() 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/job.py", line 505, in <lambda> 18:28:40 DEBUG| l = lambda: test.runtest(self, url, tag, args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/test.py", line 125, in runtest 18:28:40 DEBUG| job.sysinfo.log_after_each_iteration) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 913, in runtest 18:28:40 DEBUG| mytest._exec(args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 411, in _exec 18:28:40 DEBUG| _call_test_function(self.execute, *p_args, **p_dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 823, in _call_test_function 18:28:40 DEBUG| return func(*args, **dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 291, in execute 18:28:40 DEBUG| postprocess_profiled_run, args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 212, in _call_run_once 18:28:40 DEBUG| self.run_once(*args, **dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/tests/ubuntu_kvm_unit_tests/ubuntu_kvm_unit_tests.py", line 82, in run_once 18:28:40 DEBUG| raise error.TestError("Test failed for {}".format(test_name)) 18:28:40 DEBUG| TestError: Test failed for emulator 18:28:41 INFO | ERROR ubuntu_kvm_unit_tests.emulator ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18 18:28:41 Test failed for emulator 18:28:41 INFO | END ERROR ubuntu_kvm_unit_tests.emulator ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18 18:28:41 [Impact] Our Bionic 4.15 kernel lacks of movups/movupd emulation support. With the following commit added into the emulator test in ubuntu_kvm_unit_tests: commit 8726f9771911d6749dbd36ab2fc70f0f25e2b1a9 Author: Jacob Xu <jacobhxu@google.com> Date: Wed Apr 21 16:12:57 2021 -0700 x86: add movups/movupd sse testcases to emulator.c Here we add movups/movupd tests corresponding to functionality introduced in commit 29916968c486 ("kvm: Add emulation for movups/movupd"). Signed-off-by: Jacob Xu <jacobhxu@google.com> Message-Id: <20210421231258.2583654-1-jacobhxu@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> It will cause the emulator test in ubuntu_kvm_unit_tests fail with timeout: ... PASS: movdqu (read) PASS: movdqu (write) PASS: movaps (read) PASS: movaps (write) PASS: movapd (read) PASS: movapd (write) KVM internal error. Suberror: 1 emulation failure RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd RDX=00000000000003f8 RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b490 RSP=000000000051b470 R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d R11=0000000000000000 R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000 R15=3333333333333333 RIP=0000000000400a1f RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0 ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA] SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] GS =0010 000000000051a510 ffffffff 00c09300 DPL=0 DS [-WA] LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy GDT= 000000000041100a 0000106f IDT= 0000000000410000 00000fff CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220 DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 DR6=00000000ffff0ff0 DR7=0000000000000400 EFER=0000000000000500 Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 e5 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8 07 qemu-system-x86_64: terminating on signal 15 from pid 15758 (timeout) FAIL emulator (timeout; duration=90s) [Fix] * 29916968c48691 kvm: Add emulation for movups/movupd This patch can be cherry-picked into Bionic. It can fix our test failure plus, as mentioned in the commit message, emulation failures with openbsd as guest and with Windows 10 with intel HD graphics pass through. [Test] Test kernel can be found here: https://people.canonical.com/~phlin/kernel/lp-1932966-kvm-emulator/ Run the emulator test from ubuntu_kvm_unit_tests, with this patch applied it will pass without any issue: ... PASS: movdqu (read) PASS: movdqu (write) PASS: movaps (read) PASS: movaps (write) PASS: movapd (read) PASS: movapd (write) PASS: movups (read) PASS: movups (write) PASS: movupd (read) PASS: movupd (write) PASS: movups unaligned PASS: movupd unaligned PASS: unaligned movaps exception PASS: movups unaligned crosspage PASS: movups crosspage exception PASS: movq (mmx, read) PASS: movq (mmx, write) PASS: movb $imm, 0(%rip) PASS: shld (cl) PASS: shrd (cl) PASS: mov null, %ss PASS: mov null, %ss (with ss.rpl != cpl) PASS: Test ret/iret with a nullified segment PASS: ltr PASS: cmovnel SKIP: skipping register-only tests, use kvm.force_emulation_prefix=1 to enable PASS: push16 PASS: cross-page mmio read PASS: cross-page mmio write PASS: string_io_mmio PASS: jump to non-canonical address SKIP: illegal movbe SUMMARY: 135 tests, 2 skipped PASS emulator (135 tests, 2 skipped) [Where problems could occur] I didn't see any other patch that claims to be a fix of this one in the upstream tree. The problem I think of for the moment is that we might see other failures when using this in the future. [Original Bug Report] Found this on B/KVM, current cycle (sru-20210531): 18:27:11 DEBUG| [stdout] PASS: movapd (write)^M 18:27:11 DEBUG| [stderr] KVM internal error. Suberror: 1 18:27:11 DEBUG| [stderr] emulation failure 18:27:11 DEBUG| [stderr] RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd RDX=00000000000003f8 18:27:11 DEBUG| [stderr] RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b440 RSP=000000000051b420 18:27:11 DEBUG| [stderr] R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d R11=0000000000000000 18:27:11 DEBUG| [stderr] R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000 R15=3333333333333333 18:27:11 DEBUG| [stderr] RIP=0000000000400a0c RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0 18:27:11 DEBUG| [stderr] ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA] 18:27:11 DEBUG| [stderr] SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] GS =0010 000000000051a4d0 ffffffff 00c09300 DPL=0 DS [-WA] 18:27:11 DEBUG| [stderr] LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT 18:27:11 DEBUG| [stderr] TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy 18:27:11 DEBUG| [stderr] GDT= 000000000041100a 0000106f 18:27:11 DEBUG| [stderr] IDT= 0000000000410000 00000fff 18:27:11 DEBUG| [stderr] CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220 18:27:11 DEBUG| [stderr] DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 18:27:11 DEBUG| [stderr] DR6=00000000ffff0ff0 DR7=0000000000000400 18:27:11 DEBUG| [stderr] EFER=0000000000000500 18:27:11 DEBUG| [stderr] Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 f8 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8 05 18:28:40 DEBUG| [stderr] qemu-system-x86_64: terminating on signal 15 from pid 13634 (timeout) 18:28:40 DEBUG| [stdout] FAIL emulator (timeout; duration=90s) [...] TestError: Test failed for emulator 18:28:40 ERROR| child process failed 18:28:40 DEBUG| Traceback (most recent call last): 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/parallel.py", line 25, in fork_start 18:28:40 DEBUG| l() 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/job.py", line 505, in <lambda> 18:28:40 DEBUG| l = lambda: test.runtest(self, url, tag, args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/test.py", line 125, in runtest 18:28:40 DEBUG| job.sysinfo.log_after_each_iteration) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 913, in runtest 18:28:40 DEBUG| mytest._exec(args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 411, in _exec 18:28:40 DEBUG| _call_test_function(self.execute, *p_args, **p_dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 823, in _call_test_function 18:28:40 DEBUG| return func(*args, **dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 291, in execute 18:28:40 DEBUG| postprocess_profiled_run, args, dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line 212, in _call_run_once 18:28:40 DEBUG| self.run_once(*args, **dargs) 18:28:40 DEBUG| File "/home/ubuntu/autotest/client/tests/ubuntu_kvm_unit_tests/ubuntu_kvm_unit_tests.py", line 82, in run_once 18:28:40 DEBUG| raise error.TestError("Test failed for {}".format(test_name)) 18:28:40 DEBUG| TestError: Test failed for emulator 18:28:41 INFO | ERROR ubuntu_kvm_unit_tests.emulator ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18 18:28:41 Test failed for emulator 18:28:41 INFO | END ERROR ubuntu_kvm_unit_tests.emulator ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18 18:28:41
2021-09-01 05:23:42 Po-Hsu Lin nominated for series Ubuntu Xenial
2021-09-01 05:23:42 Po-Hsu Lin bug task added linux (Ubuntu Xenial)
2021-09-01 08:09:25 Po-Hsu Lin summary kvm_unit_tests: emulator test fails on 4.15 kernel, timeout kvm_unit_tests: emulator test fails on 4.4 / 4.15 kernel, timeout
2021-09-01 08:50:21 Kleber Sacilotto de Souza linux (Ubuntu Bionic): status In Progress Fix Committed
2021-09-01 13:02:52 Launchpad Janitor linux (Ubuntu Xenial): status New Confirmed
2021-09-01 13:03:06 Krzysztof Kozlowski tags 4.15 bionic hinted kvm linux-kvm sru-20210531 sru-20210719 ubuntu-kvm-unit-tests 4.15 4.4 aws bionic hinted kvm linux-kvm sru-20210531 sru-20210719 ubuntu-kvm-unit-tests
2021-09-01 13:03:31 Krzysztof Kozlowski tags 4.15 4.4 aws bionic hinted kvm linux-kvm sru-20210531 sru-20210719 ubuntu-kvm-unit-tests 4.15 4.4 aws bionic hinted kvm linux-kvm sru-20210531 sru-20210719 sru-20210816 ubuntu-kvm-unit-tests
2021-09-01 13:04:20 Krzysztof Kozlowski bug added subscriber Krzysztof Kozlowski
2021-09-07 21:57:18 Ubuntu Kernel Bot tags 4.15 4.4 aws bionic hinted kvm linux-kvm sru-20210531 sru-20210719 sru-20210816 ubuntu-kvm-unit-tests 4.15 4.4 aws bionic hinted kvm linux-kvm sru-20210531 sru-20210719 sru-20210816 ubuntu-kvm-unit-tests verification-needed-bionic
2021-09-17 03:29:13 Po-Hsu Lin tags 4.15 4.4 aws bionic hinted kvm linux-kvm sru-20210531 sru-20210719 sru-20210816 ubuntu-kvm-unit-tests verification-needed-bionic 4.15 4.4 aws bionic hinted kvm linux-kvm sru-20210531 sru-20210719 sru-20210816 ubuntu-kvm-unit-tests verificationeon-d-bionic
2021-09-17 03:29:25 Po-Hsu Lin tags 4.15 4.4 aws bionic hinted kvm linux-kvm sru-20210531 sru-20210719 sru-20210816 ubuntu-kvm-unit-tests verificationeon-d-bionic 4.15 4.4 aws bionic hinted kvm linux-kvm sru-20210531 sru-20210719 sru-20210816 ubuntu-kvm-unit-tests verification-done-bionic
2021-09-28 15:16:53 Launchpad Janitor linux (Ubuntu Bionic): status Fix Committed Fix Released
2022-10-07 07:42:09 Po-Hsu Lin ubuntu-kernel-tests: status In Progress Confirmed
2022-10-07 07:42:12 Po-Hsu Lin ubuntu-kernel-tests: assignee Po-Hsu Lin (cypressyew)