https://lists.ubuntu.com/archives/kernel-team/2021-August/123672.html
** Description changed:
[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 <[email protected]>
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 <[email protected]>
Message-Id: <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
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.
+ 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
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1932966
Title:
kvm_unit_tests: emulator test fails on 4.15 kernel, timeout
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-kernel-tests/+bug/1932966/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs