summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/qemu/qemu
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2015-03-24 09:08:41 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-03-25 12:39:40 +0000
commit7cb5ea06b85164c0190e85677ab9b163f2ecacd4 (patch)
tree7f0178174ab350d14aa6b6e8dd7f1e547af6e4f3 /meta/recipes-devtools/qemu/qemu
parent443938795e506bdc217ced44677032a8eeaa12fe (diff)
downloadpoky-7cb5ea06b85164c0190e85677ab9b163f2ecacd4.tar.gz
qemu: Add patch to fix qemux86-64 EDSCA key problems
Without this patch, x86_64 images would show invalid EDSCA key errors with sshd from openssh (but not dropbear) during init. This would cause problems with operation with some distros where EDSCA keys were mandatory. The issue was present in qemu 2.2.1 and not in 2.3.0-rc0, bisected to this commit which was then backported. This fixes intermittent failures on the autobuilder. Issue is not present when using KVM (consistent with a fault in TCG). (From OE-Core rev: 27fe06cb7d30c79833769b3ebb080a7a8115439d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/qemu/qemu')
-rw-r--r--meta/recipes-devtools/qemu/qemu/37ed3bf1ee07bb1a26adca0df8718f601f231c0b.patch59
1 files changed, 59 insertions, 0 deletions
diff --git a/meta/recipes-devtools/qemu/qemu/37ed3bf1ee07bb1a26adca0df8718f601f231c0b.patch b/meta/recipes-devtools/qemu/qemu/37ed3bf1ee07bb1a26adca0df8718f601f231c0b.patch
new file mode 100644
index 0000000000..8609e3fe99
--- /dev/null
+++ b/meta/recipes-devtools/qemu/qemu/37ed3bf1ee07bb1a26adca0df8718f601f231c0b.patch
@@ -0,0 +1,59 @@
1Without this patch, x86_64 images would show invalid EDSCA key errors
2with sshd from openssh (but not dropbear) during init.
3
4This would cause problems with operation with some distros where EDSCA
5keys were mandatory. The issue was present in qemu 2.2.1 and not in
62.3.0-rc0, bisected to this commit which was then backported.
7
8From 37ed3bf1ee07bb1a26adca0df8718f601f231c0b Mon Sep 17 00:00:00 2001
9From: Richard Henderson <rth@twiddle.net>
10Date: Fri, 20 Feb 2015 11:13:50 -0800
11Subject: [PATCH] tcg: Complete handling of ALWAYS and NEVER
12
13Missing from movcond
14
15Signed-off-by: Richard Henderson <rth@twiddle.net>
16---
17 tcg/tcg-op.c | 22 +++++++++++++++++-----
18 1 files changed, 17 insertions(+), 5 deletions(-)
19
20Upstream-Status: Backport
21RP 2015/3/24
22
23Index: qemu-2.2.0/tcg/tcg-op.h
24===================================================================
25--- qemu-2.2.0.orig/tcg/tcg-op.h
26+++ qemu-2.2.0/tcg/tcg-op.h
27@@ -2186,7 +2186,11 @@ static inline void tcg_gen_movcond_i32(T
28 TCGv_i32 c1, TCGv_i32 c2,
29 TCGv_i32 v1, TCGv_i32 v2)
30 {
31- if (TCG_TARGET_HAS_movcond_i32) {
32+ if (cond == TCG_COND_ALWAYS) {
33+ tcg_gen_mov_i32(ret, v1);
34+ } else if (cond == TCG_COND_NEVER) {
35+ tcg_gen_mov_i32(ret, v2);
36+ } else if (TCG_TARGET_HAS_movcond_i32) {
37 tcg_gen_op6i_i32(INDEX_op_movcond_i32, ret, c1, c2, v1, v2, cond);
38 } else {
39 TCGv_i32 t0 = tcg_temp_new_i32();
40@@ -2205,6 +2209,11 @@ static inline void tcg_gen_movcond_i64(T
41 TCGv_i64 c1, TCGv_i64 c2,
42 TCGv_i64 v1, TCGv_i64 v2)
43 {
44+ if (cond == TCG_COND_ALWAYS) {
45+ tcg_gen_mov_i64(ret, v1);
46+ } else if (cond == TCG_COND_NEVER) {
47+ tcg_gen_mov_i64(ret, v2);
48+ } else {
49 #if TCG_TARGET_REG_BITS == 32
50 TCGv_i32 t0 = tcg_temp_new_i32();
51 TCGv_i32 t1 = tcg_temp_new_i32();
52@@ -2246,6 +2255,7 @@ static inline void tcg_gen_movcond_i64(T
53 tcg_temp_free_i64(t1);
54 }
55 #endif
56+ }
57 }
58
59 static inline void tcg_gen_add2_i32(TCGv_i32 rl, TCGv_i32 rh, TCGv_i32 al,