diff options
author | Cristian Iorga <cristian.iorga@intel.com> | 2015-12-21 13:24:21 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-12-28 09:25:17 +0000 |
commit | a7eadc3dd43be1caf6628527b6cd72a28e182311 (patch) | |
tree | 88345353aea7a1586555b64647e5d175a6cc16d1 /meta/recipes-devtools/qemu | |
parent | 9988ab36b41abf00cd79f671aa84bbcc4f8e540d (diff) | |
download | poky-a7eadc3dd43be1caf6628527b6cd72a28e182311.tar.gz |
qemu: upgrade to 2.5.0
- cpus.c-qemu_mutex_lock_iothread-fix-race-condition-a.patch removed,
included upstream;
- smc91c111_fix*.patch patches removed, included upstream;
- trace-remove-malloc-tracing.patch patch removed, included upstream;
- some configure options disappeared or changed name, updated.
(From OE-Core rev: 11b14e80ac484df24459ef67746684bd49d1fbd8)
Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/qemu')
-rw-r--r-- | meta/recipes-devtools/qemu/qemu.inc | 5 | ||||
-rw-r--r-- | meta/recipes-devtools/qemu/qemu/cpus.c-qemu_mutex_lock_iothread-fix-race-condition-a.patch | 45 | ||||
-rw-r--r-- | meta/recipes-devtools/qemu/qemu/smc91c111_fix.patch | 74 | ||||
-rw-r--r-- | meta/recipes-devtools/qemu/qemu/smc91c111_fix1.patch | 85 | ||||
-rw-r--r-- | meta/recipes-devtools/qemu/qemu/smc91c111_fix2.patch | 46 | ||||
-rw-r--r-- | meta/recipes-devtools/qemu/qemu/smc91c111_fix3.patch | 33 | ||||
-rw-r--r-- | meta/recipes-devtools/qemu/qemu/trace-remove-malloc-tracing.patch | 97 | ||||
-rw-r--r-- | meta/recipes-devtools/qemu/qemu_2.5.0.bb (renamed from meta/recipes-devtools/qemu/qemu_2.4.0.1.bb) | 8 |
8 files changed, 4 insertions, 389 deletions
diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc index abbace8704..8b51324ac9 100644 --- a/meta/recipes-devtools/qemu/qemu.inc +++ b/meta/recipes-devtools/qemu/qemu.inc | |||
@@ -21,7 +21,6 @@ SRC_URI = "\ | |||
21 | file://wacom.patch \ | 21 | file://wacom.patch \ |
22 | file://add-ptest-in-makefile.patch \ | 22 | file://add-ptest-in-makefile.patch \ |
23 | file://run-ptest \ | 23 | file://run-ptest \ |
24 | file://cpus.c-qemu_mutex_lock_iothread-fix-race-condition-a.patch \ | ||
25 | " | 24 | " |
26 | 25 | ||
27 | SRC_URI_append_class-native = "\ | 26 | SRC_URI_append_class-native = "\ |
@@ -105,17 +104,17 @@ PACKAGECONFIG[virtfs] = "--enable-virtfs --enable-attr,--disable-virtfs,libcap a | |||
105 | PACKAGECONFIG[aio] = "--enable-linux-aio,--disable-linux-aio,libaio," | 104 | PACKAGECONFIG[aio] = "--enable-linux-aio,--disable-linux-aio,libaio," |
106 | PACKAGECONFIG[xfs] = "--enable-xfsctl,--disable-xfsctl,xfsprogs," | 105 | PACKAGECONFIG[xfs] = "--enable-xfsctl,--disable-xfsctl,xfsprogs," |
107 | PACKAGECONFIG[xen] = "--enable-xen,--disable-xen,xen,xen-libxenstore xen-libxenctrl xen-libxenguest" | 106 | PACKAGECONFIG[xen] = "--enable-xen,--disable-xen,xen,xen-libxenstore xen-libxenctrl xen-libxenguest" |
108 | PACKAGECONFIG[vnc-tls] = "--enable-vnc --enable-vnc-tls,--disable-vnc-tls, gnutls," | ||
109 | PACKAGECONFIG[vnc-sasl] = "--enable-vnc --enable-vnc-sasl,--disable-vnc-sasl,cyrus-sasl," | 107 | PACKAGECONFIG[vnc-sasl] = "--enable-vnc --enable-vnc-sasl,--disable-vnc-sasl,cyrus-sasl," |
110 | PACKAGECONFIG[vnc-jpeg] = "--enable-vnc --enable-vnc-jpeg,--disable-vnc-jpeg,jpeg," | 108 | PACKAGECONFIG[vnc-jpeg] = "--enable-vnc --enable-vnc-jpeg,--disable-vnc-jpeg,jpeg," |
111 | PACKAGECONFIG[vnc-png] = "--enable-vnc --enable-vnc-png,--disable-vnc-png,libpng," | 109 | PACKAGECONFIG[vnc-png] = "--enable-vnc --enable-vnc-png,--disable-vnc-png,libpng," |
112 | PACKAGECONFIG[libcurl] = "--enable-curl,--disable-curl,libcurl," | 110 | PACKAGECONFIG[libcurl] = "--enable-curl,--disable-curl,libcurl," |
113 | PACKAGECONFIG[nss] = "--enable-smartcard-nss,--disable-smartcard-nss,nss," | 111 | PACKAGECONFIG[nss] = "--enable-smartcard,--disable-smartcard,nss," |
114 | PACKAGECONFIG[uuid] = "--enable-uuid,--disable-uuid,util-linux," | 112 | PACKAGECONFIG[uuid] = "--enable-uuid,--disable-uuid,util-linux," |
115 | PACKAGECONFIG[curses] = "--enable-curses,--disable-curses,ncurses," | 113 | PACKAGECONFIG[curses] = "--enable-curses,--disable-curses,ncurses," |
116 | PACKAGECONFIG[gtk+] = "--enable-gtk --enable-vte,--disable-gtk --disable-vte,gtk+ libvte," | 114 | PACKAGECONFIG[gtk+] = "--enable-gtk --enable-vte,--disable-gtk --disable-vte,gtk+ libvte," |
117 | PACKAGECONFIG[libcap-ng] = "--enable-cap-ng,--disable-cap-ng,libcap-ng," | 115 | PACKAGECONFIG[libcap-ng] = "--enable-cap-ng,--disable-cap-ng,libcap-ng," |
118 | PACKAGECONFIG[ssh2] = "--enable-libssh2,--disable-libssh2,libssh2," | 116 | PACKAGECONFIG[ssh2] = "--enable-libssh2,--disable-libssh2,libssh2," |
117 | PACKAGECONFIG[gcrypt] = "--enable-gcrypt,--disable-gcrypt,gcrypt," | ||
119 | PACKAGECONFIG[libusb] = "--enable-libusb,--disable-libusb,libusb1" | 118 | PACKAGECONFIG[libusb] = "--enable-libusb,--disable-libusb,libusb1" |
120 | PACKAGECONFIG[fdt] = "--enable-fdt,--disable-fdt,dtc" | 119 | PACKAGECONFIG[fdt] = "--enable-fdt,--disable-fdt,dtc" |
121 | PACKAGECONFIG[alsa] = ",,alsa-lib" | 120 | PACKAGECONFIG[alsa] = ",,alsa-lib" |
diff --git a/meta/recipes-devtools/qemu/qemu/cpus.c-qemu_mutex_lock_iothread-fix-race-condition-a.patch b/meta/recipes-devtools/qemu/qemu/cpus.c-qemu_mutex_lock_iothread-fix-race-condition-a.patch deleted file mode 100644 index 45dffabc34..0000000000 --- a/meta/recipes-devtools/qemu/qemu/cpus.c-qemu_mutex_lock_iothread-fix-race-condition-a.patch +++ /dev/null | |||
@@ -1,45 +0,0 @@ | |||
1 | Upstream-Status: Submitted | ||
2 | |||
3 | From f354b9333408d411854af058cc44cceda60b4473 Mon Sep 17 00:00:00 2001 | ||
4 | From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com> | ||
5 | Date: Thu, 3 Sep 2015 14:07:34 -0500 | ||
6 | Subject: [PATCH] cpus.c: qemu_mutex_lock_iothread fix race condition at cpu | ||
7 | thread init | ||
8 | MIME-Version: 1.0 | ||
9 | Content-Type: text/plain; charset=UTF-8 | ||
10 | Content-Transfer-Encoding: 8bit | ||
11 | |||
12 | When QEMU starts the RCU thread executes qemu_mutex_lock_thread | ||
13 | causing error "qemu:qemu_cpu_kick_thread: No such process" and exits. | ||
14 | |||
15 | This isn't occur frequently but in glibc the thread id can exist and | ||
16 | this not guarantee that the thread is on active/running state. If is | ||
17 | inserted a sleep(1) after newthread assignment [1] the issue appears. | ||
18 | |||
19 | So not make assumption that thread exist if first_cpu->thread is set | ||
20 | then change the validation of cpu to created that is set into cpu | ||
21 | threads (kvm, tcg, dummy). | ||
22 | |||
23 | [1] https://sourceware.org/git/?p=glibc.git;a=blob;f=nptl/pthread_create.c;h=d10f4ea8004e1d8f3a268b95cc0f8d93b8d89867;hb=HEAD#l621 | ||
24 | |||
25 | Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> | ||
26 | --- | ||
27 | cpus.c | 2 +- | ||
28 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
29 | |||
30 | diff --git a/cpus.c b/cpus.c | ||
31 | index 7e4786e..05e5400 100644 | ||
32 | --- a/cpus.c | ||
33 | +++ b/cpus.c | ||
34 | @@ -1171,7 +1171,7 @@ void qemu_mutex_lock_iothread(void) | ||
35 | * TCG code execution. | ||
36 | */ | ||
37 | if (!tcg_enabled() || qemu_in_vcpu_thread() || | ||
38 | - !first_cpu || !first_cpu->thread) { | ||
39 | + !first_cpu || !first_cpu->created) { | ||
40 | qemu_mutex_lock(&qemu_global_mutex); | ||
41 | atomic_dec(&iothread_requesting_mutex); | ||
42 | } else { | ||
43 | -- | ||
44 | 1.9.1 | ||
45 | |||
diff --git a/meta/recipes-devtools/qemu/qemu/smc91c111_fix.patch b/meta/recipes-devtools/qemu/qemu/smc91c111_fix.patch deleted file mode 100644 index e37e777347..0000000000 --- a/meta/recipes-devtools/qemu/qemu/smc91c111_fix.patch +++ /dev/null | |||
@@ -1,74 +0,0 @@ | |||
1 | The smc91c111.c driver appears to have several issues. The can_receive() | ||
2 | function can return that the driver is ready when rx_fifo has not been | ||
3 | freed yet. There is also no sanity check of rx_fifo() in _receive() which | ||
4 | can lead to corruption of the rx_fifo array. | ||
5 | |||
6 | release_packet() can also call qemu_flush_queued_packets() before rx_fifo | ||
7 | has been cleaned up, resulting in cases where packets are submitted | ||
8 | for which there is not yet any space. | ||
9 | |||
10 | This patch therefore: | ||
11 | |||
12 | * fixes the logic in can_receive() | ||
13 | * adds logic to receive() as a sanity check | ||
14 | * moves the flush() calls to the correct places where data is ready | ||
15 | to be received | ||
16 | |||
17 | Upstream-Status: Pending [discussion in progress on mailing list] | ||
18 | RP 2015/9/7 | ||
19 | |||
20 | Index: qemu-2.4.0/hw/net/smc91c111.c | ||
21 | =================================================================== | ||
22 | --- qemu-2.4.0.orig/hw/net/smc91c111.c | ||
23 | +++ qemu-2.4.0/hw/net/smc91c111.c | ||
24 | @@ -185,7 +185,6 @@ static void smc91c111_release_packet(smc | ||
25 | s->allocated &= ~(1 << packet); | ||
26 | if (s->tx_alloc == 0x80) | ||
27 | smc91c111_tx_alloc(s); | ||
28 | - qemu_flush_queued_packets(qemu_get_queue(s->nic)); | ||
29 | } | ||
30 | |||
31 | /* Flush the TX FIFO. */ | ||
32 | @@ -237,9 +236,11 @@ static void smc91c111_do_tx(smc91c111_st | ||
33 | } | ||
34 | } | ||
35 | #endif | ||
36 | - if (s->ctr & CTR_AUTO_RELEASE) | ||
37 | + if (s->ctr & CTR_AUTO_RELEASE) { | ||
38 | /* Race? */ | ||
39 | smc91c111_release_packet(s, packetnum); | ||
40 | + qemu_flush_queued_packets(qemu_get_queue(s->nic)); | ||
41 | + } | ||
42 | else if (s->tx_fifo_done_len < NUM_PACKETS) | ||
43 | s->tx_fifo_done[s->tx_fifo_done_len++] = packetnum; | ||
44 | qemu_send_packet(qemu_get_queue(s->nic), p, len); | ||
45 | @@ -379,9 +380,11 @@ static void smc91c111_writeb(void *opaqu | ||
46 | smc91c111_release_packet(s, s->rx_fifo[0]); | ||
47 | } | ||
48 | smc91c111_pop_rx_fifo(s); | ||
49 | + qemu_flush_queued_packets(qemu_get_queue(s->nic)); | ||
50 | break; | ||
51 | case 5: /* Release. */ | ||
52 | smc91c111_release_packet(s, s->packet_num); | ||
53 | + qemu_flush_queued_packets(qemu_get_queue(s->nic)); | ||
54 | break; | ||
55 | case 6: /* Add to TX FIFO. */ | ||
56 | smc91c111_queue_tx(s, s->packet_num); | ||
57 | @@ -642,7 +642,7 @@ static int smc91c111_can_receive(NetClie | ||
58 | |||
59 | if ((s->rcr & RCR_RXEN) == 0 || (s->rcr & RCR_SOFT_RST)) | ||
60 | return 1; | ||
61 | - if (s->allocated == (1 << NUM_PACKETS) - 1) | ||
62 | + if ((s->allocated == (1 << NUM_PACKETS) - 1) || (s->rx_fifo_len == NUM_PACKETS)) | ||
63 | return 0; | ||
64 | return 1; | ||
65 | } | ||
66 | @@ -671,6 +671,8 @@ static ssize_t smc91c111_receive(NetClie | ||
67 | /* TODO: Flag overrun and receive errors. */ | ||
68 | if (packetsize > 2048) | ||
69 | return -1; | ||
70 | + if (s->rx_fifo_len == NUM_PACKETS) | ||
71 | + return -1; | ||
72 | packetnum = smc91c111_allocate_packet(s); | ||
73 | if (packetnum == 0x80) | ||
74 | return -1; | ||
diff --git a/meta/recipes-devtools/qemu/qemu/smc91c111_fix1.patch b/meta/recipes-devtools/qemu/qemu/smc91c111_fix1.patch deleted file mode 100644 index bd1223a446..0000000000 --- a/meta/recipes-devtools/qemu/qemu/smc91c111_fix1.patch +++ /dev/null | |||
@@ -1,85 +0,0 @@ | |||
1 | From: Peter Crosthwaite <crosthwaitepeter@gmail.com> | ||
2 | Subject: [RFT PATCH v1 1/3] net: smc91c111: guard flush_queued_packets() on | ||
3 | can_rx() | ||
4 | Date: Thu, 10 Sep 2015 21:23:43 -0700 | ||
5 | |||
6 | Check that the core can once again receive packets before asking the | ||
7 | net layer to do a flush. This will make it more convenient to flush | ||
8 | packets when adding new conditions to can_receive. | ||
9 | |||
10 | Add missing if braces while moving the can_receive() core code. | ||
11 | |||
12 | Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com> | ||
13 | |||
14 | Upstream-Status: Submitted | ||
15 | |||
16 | --- | ||
17 | |||
18 | hw/net/smc91c111.c | 30 ++++++++++++++++++++++-------- | ||
19 | 1 file changed, 22 insertions(+), 8 deletions(-) | ||
20 | |||
21 | Index: qemu-2.4.0/hw/net/smc91c111.c | ||
22 | =================================================================== | ||
23 | --- qemu-2.4.0.orig/hw/net/smc91c111.c | ||
24 | +++ qemu-2.4.0/hw/net/smc91c111.c | ||
25 | @@ -124,6 +124,24 @@ static void smc91c111_update(smc91c111_s | ||
26 | qemu_set_irq(s->irq, level); | ||
27 | } | ||
28 | |||
29 | +static int smc91c111_can_receive(smc91c111_state *s) | ||
30 | +{ | ||
31 | + if ((s->rcr & RCR_RXEN) == 0 || (s->rcr & RCR_SOFT_RST)) { | ||
32 | + return 1; | ||
33 | + } | ||
34 | + if (s->allocated == (1 << NUM_PACKETS) - 1) { | ||
35 | + return 0; | ||
36 | + } | ||
37 | + return 1; | ||
38 | +} | ||
39 | + | ||
40 | +static inline void smc91c111_flush_queued_packets(smc91c111_state *s) | ||
41 | +{ | ||
42 | + if (smc91c111_can_receive(s)) { | ||
43 | + qemu_flush_queued_packets(qemu_get_queue(s->nic)); | ||
44 | + } | ||
45 | +} | ||
46 | + | ||
47 | /* Try to allocate a packet. Returns 0x80 on failure. */ | ||
48 | static int smc91c111_allocate_packet(smc91c111_state *s) | ||
49 | { | ||
50 | @@ -185,7 +203,7 @@ static void smc91c111_release_packet(smc | ||
51 | s->allocated &= ~(1 << packet); | ||
52 | if (s->tx_alloc == 0x80) | ||
53 | smc91c111_tx_alloc(s); | ||
54 | - qemu_flush_queued_packets(qemu_get_queue(s->nic)); | ||
55 | + smc91c111_flush_queued_packets(s); | ||
56 | } | ||
57 | |||
58 | /* Flush the TX FIFO. */ | ||
59 | @@ -636,15 +654,11 @@ static uint32_t smc91c111_readl(void *op | ||
60 | return val; | ||
61 | } | ||
62 | |||
63 | -static int smc91c111_can_receive(NetClientState *nc) | ||
64 | +static int smc91c111_can_receive_nc(NetClientState *nc) | ||
65 | { | ||
66 | smc91c111_state *s = qemu_get_nic_opaque(nc); | ||
67 | |||
68 | - if ((s->rcr & RCR_RXEN) == 0 || (s->rcr & RCR_SOFT_RST)) | ||
69 | - return 1; | ||
70 | - if (s->allocated == (1 << NUM_PACKETS) - 1) | ||
71 | - return 0; | ||
72 | - return 1; | ||
73 | + return smc91c111_can_receive(s); | ||
74 | } | ||
75 | |||
76 | static ssize_t smc91c111_receive(NetClientState *nc, const uint8_t *buf, size_t size) | ||
77 | @@ -739,7 +753,7 @@ static const MemoryRegionOps smc91c111_m | ||
78 | static NetClientInfo net_smc91c111_info = { | ||
79 | .type = NET_CLIENT_OPTIONS_KIND_NIC, | ||
80 | .size = sizeof(NICState), | ||
81 | - .can_receive = smc91c111_can_receive, | ||
82 | + .can_receive = smc91c111_can_receive_nc, | ||
83 | .receive = smc91c111_receive, | ||
84 | }; | ||
85 | |||
diff --git a/meta/recipes-devtools/qemu/qemu/smc91c111_fix2.patch b/meta/recipes-devtools/qemu/qemu/smc91c111_fix2.patch deleted file mode 100644 index 018aed5f80..0000000000 --- a/meta/recipes-devtools/qemu/qemu/smc91c111_fix2.patch +++ /dev/null | |||
@@ -1,46 +0,0 @@ | |||
1 | From: Peter Crosthwaite <crosthwaitepeter@gmail.com> | ||
2 | X-Google-Original-From: Peter Crosthwaite <crosthwaite.peter@gmail.com> | ||
3 | To: qemu-devel@nongnu.org | ||
4 | Cc: peter.maydell@linaro.org, richard.purdie@linuxfoundation.org | ||
5 | Subject: [RFT PATCH v1 2/3] net: smc91c111: gate can_receive() on rx FIFO | ||
6 | having a slot | ||
7 | Date: Thu, 10 Sep 2015 21:23:57 -0700 | ||
8 | |||
9 | Return false from can_receive() when the FIFO doesn't have a free RX | ||
10 | slot. This fixes a bug in the current code where the allocated buffer | ||
11 | is freed before the fifo pop, triggering a premature flush of queued RX | ||
12 | packets. It also will handle a corner case, where the guest manually | ||
13 | frees the allocated buffer before popping the rx FIFO (hence it is not | ||
14 | enough to just delay the flush_queued_packets()). | ||
15 | |||
16 | Reported-by: Richard Purdie <richard.purdie@linuxfoundation.org> | ||
17 | Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com> | ||
18 | |||
19 | Upstream-Status: Submitted | ||
20 | --- | ||
21 | |||
22 | hw/net/smc91c111.c | 4 +++- | ||
23 | 1 file changed, 3 insertions(+), 1 deletion(-) | ||
24 | |||
25 | Index: qemu-2.4.0/hw/net/smc91c111.c | ||
26 | =================================================================== | ||
27 | --- qemu-2.4.0.orig/hw/net/smc91c111.c | ||
28 | +++ qemu-2.4.0/hw/net/smc91c111.c | ||
29 | @@ -129,7 +129,8 @@ static int smc91c111_can_receive(smc91c1 | ||
30 | if ((s->rcr & RCR_RXEN) == 0 || (s->rcr & RCR_SOFT_RST)) { | ||
31 | return 1; | ||
32 | } | ||
33 | - if (s->allocated == (1 << NUM_PACKETS) - 1) { | ||
34 | + if (s->allocated == (1 << NUM_PACKETS) - 1 || | ||
35 | + s->rx_fifo_len == NUM_PACKETS) { | ||
36 | return 0; | ||
37 | } | ||
38 | return 1; | ||
39 | @@ -182,6 +183,7 @@ static void smc91c111_pop_rx_fifo(smc91c | ||
40 | } else { | ||
41 | s->int_level &= ~INT_RCV; | ||
42 | } | ||
43 | + smc91c111_flush_queued_packets(s); | ||
44 | smc91c111_update(s); | ||
45 | } | ||
46 | |||
diff --git a/meta/recipes-devtools/qemu/qemu/smc91c111_fix3.patch b/meta/recipes-devtools/qemu/qemu/smc91c111_fix3.patch deleted file mode 100644 index 9e865f7f09..0000000000 --- a/meta/recipes-devtools/qemu/qemu/smc91c111_fix3.patch +++ /dev/null | |||
@@ -1,33 +0,0 @@ | |||
1 | From: Peter Crosthwaite <crosthwaitepeter@gmail.com> | ||
2 | To: qemu-devel@nongnu.org | ||
3 | Cc: peter.maydell@linaro.org, richard.purdie@linuxfoundation.org | ||
4 | Subject: [RFT PATCH v1 3/3] net: smc91c111: flush packets on RCR register | ||
5 | changes | ||
6 | Date: Thu, 10 Sep 2015 21:24:12 -0700 | ||
7 | |||
8 | The SOFT_RST or RXEN in the control register can be used as a condition | ||
9 | to unblock the net layer via can_receive(). So check for possible | ||
10 | flushes on RCR changes. This will drop all pending packets on soft | ||
11 | reset or disable which is the functional intent of the can_receive() | ||
12 | logic. | ||
13 | |||
14 | Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com> | ||
15 | |||
16 | Upstream-Status: Submitted | ||
17 | --- | ||
18 | |||
19 | hw/net/smc91c111.c | 1 + | ||
20 | 1 file changed, 1 insertion(+) | ||
21 | |||
22 | Index: qemu-2.4.0/hw/net/smc91c111.c | ||
23 | =================================================================== | ||
24 | --- qemu-2.4.0.orig/hw/net/smc91c111.c | ||
25 | +++ qemu-2.4.0/hw/net/smc91c111.c | ||
26 | @@ -331,6 +331,7 @@ static void smc91c111_writeb(void *opaqu | ||
27 | if (s->rcr & RCR_SOFT_RST) { | ||
28 | smc91c111_reset(DEVICE(s)); | ||
29 | } | ||
30 | + smc91c111_flush_queued_packets(s); | ||
31 | return; | ||
32 | case 10: case 11: /* RPCR */ | ||
33 | /* Ignored */ | ||
diff --git a/meta/recipes-devtools/qemu/qemu/trace-remove-malloc-tracing.patch b/meta/recipes-devtools/qemu/qemu/trace-remove-malloc-tracing.patch deleted file mode 100644 index 73d699f3f8..0000000000 --- a/meta/recipes-devtools/qemu/qemu/trace-remove-malloc-tracing.patch +++ /dev/null | |||
@@ -1,97 +0,0 @@ | |||
1 | From 98cf48f60aa4999f5b2808569a193a401a390e6a Mon Sep 17 00:00:00 2001 | ||
2 | From: Paolo Bonzini <pbonzini@redhat.com> | ||
3 | Date: Wed, 16 Sep 2015 17:38:44 +0200 | ||
4 | Subject: [PATCH] trace: remove malloc tracing | ||
5 | |||
6 | The malloc vtable is not supported anymore in glib, because it broke | ||
7 | when constructors called g_malloc. Remove tracing of g_malloc, | ||
8 | g_realloc and g_free calls. | ||
9 | |||
10 | Note that, for systemtap users, glib also provides tracepoints | ||
11 | glib.mem_alloc, glib.mem_free, glib.mem_realloc, glib.slice_alloc | ||
12 | and glib.slice_free. | ||
13 | |||
14 | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> | ||
15 | Reviewed-by: Alberto Garcia <berto@igalia.com> | ||
16 | Message-id: 1442417924-25831-1-git-send-email-pbonzini@redhat.com | ||
17 | Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> | ||
18 | |||
19 | |||
20 | For Yocto: | ||
21 | Upstream-Status: Backport [commit 98cf48f60a, included in 2.4.1] | ||
22 | Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> | ||
23 | |||
24 | --- | ||
25 | trace-events | 3 --- | ||
26 | vl.c | 27 --------------------------- | ||
27 | 2 files changed, 0 insertions(+), 30 deletions(-) | ||
28 | |||
29 | diff --git a/trace-events b/trace-events | ||
30 | index 6790292..b813ae4 100644 | ||
31 | --- a/trace-events | ||
32 | +++ b/trace-events | ||
33 | @@ -603,9 +603,6 @@ scsi_request_sense(int target, int lun, int tag) "target %d lun %d tag %d" | ||
34 | vm_state_notify(int running, int reason) "running %d reason %d" | ||
35 | load_file(const char *name, const char *path) "name %s location %s" | ||
36 | runstate_set(int new_state) "new state %d" | ||
37 | -g_malloc(size_t size, void *ptr) "size %zu ptr %p" | ||
38 | -g_realloc(void *ptr, size_t size, void *newptr) "ptr %p size %zu newptr %p" | ||
39 | -g_free(void *ptr) "ptr %p" | ||
40 | system_wakeup_request(int reason) "reason=%d" | ||
41 | qemu_system_shutdown_request(void) "" | ||
42 | qemu_system_powerdown_request(void) "" | ||
43 | diff --git a/vl.c b/vl.c | ||
44 | index f2bd8d2..ea9e0e6 100644 | ||
45 | --- a/vl.c | ||
46 | +++ b/vl.c | ||
47 | @@ -2703,26 +2703,6 @@ static const QEMUOption *lookup_opt(int argc, char **argv, | ||
48 | return popt; | ||
49 | } | ||
50 | |||
51 | -static gpointer malloc_and_trace(gsize n_bytes) | ||
52 | -{ | ||
53 | - void *ptr = malloc(n_bytes); | ||
54 | - trace_g_malloc(n_bytes, ptr); | ||
55 | - return ptr; | ||
56 | -} | ||
57 | - | ||
58 | -static gpointer realloc_and_trace(gpointer mem, gsize n_bytes) | ||
59 | -{ | ||
60 | - void *ptr = realloc(mem, n_bytes); | ||
61 | - trace_g_realloc(mem, n_bytes, ptr); | ||
62 | - return ptr; | ||
63 | -} | ||
64 | - | ||
65 | -static void free_and_trace(gpointer mem) | ||
66 | -{ | ||
67 | - trace_g_free(mem); | ||
68 | - free(mem); | ||
69 | -} | ||
70 | - | ||
71 | static int machine_set_property(void *opaque, | ||
72 | const char *name, const char *value, | ||
73 | Error **errp) | ||
74 | @@ -2950,11 +2930,6 @@ int main(int argc, char **argv, char **envp) | ||
75 | bool userconfig = true; | ||
76 | const char *log_mask = NULL; | ||
77 | const char *log_file = NULL; | ||
78 | - GMemVTable mem_trace = { | ||
79 | - .malloc = malloc_and_trace, | ||
80 | - .realloc = realloc_and_trace, | ||
81 | - .free = free_and_trace, | ||
82 | - }; | ||
83 | const char *trace_events = NULL; | ||
84 | const char *trace_file = NULL; | ||
85 | ram_addr_t maxram_size; | ||
86 | @@ -2970,8 +2945,6 @@ int main(int argc, char **argv, char **envp) | ||
87 | error_set_progname(argv[0]); | ||
88 | qemu_init_exec_dir(argv[0]); | ||
89 | |||
90 | - g_mem_set_vtable(&mem_trace); | ||
91 | - | ||
92 | module_call_init(MODULE_INIT_QOM); | ||
93 | |||
94 | qemu_add_opts(&qemu_drive_opts); | ||
95 | -- | ||
96 | 1.7.0.4 | ||
97 | |||
diff --git a/meta/recipes-devtools/qemu/qemu_2.4.0.1.bb b/meta/recipes-devtools/qemu/qemu_2.5.0.bb index c96da02079..6ad7bbb68f 100644 --- a/meta/recipes-devtools/qemu/qemu_2.4.0.1.bb +++ b/meta/recipes-devtools/qemu/qemu_2.5.0.bb | |||
@@ -6,15 +6,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \ | |||
6 | SRC_URI += "file://configure-fix-Darwin-target-detection.patch \ | 6 | SRC_URI += "file://configure-fix-Darwin-target-detection.patch \ |
7 | file://qemu-enlarge-env-entry-size.patch \ | 7 | file://qemu-enlarge-env-entry-size.patch \ |
8 | file://Qemu-Arm-versatilepb-Add-memory-size-checking.patch \ | 8 | file://Qemu-Arm-versatilepb-Add-memory-size-checking.patch \ |
9 | file://smc91c111_fix1.patch \ | ||
10 | file://smc91c111_fix2.patch \ | ||
11 | file://smc91c111_fix3.patch \ | ||
12 | file://no-valgrind.patch \ | 9 | file://no-valgrind.patch \ |
13 | file://trace-remove-malloc-tracing.patch \ | ||
14 | " | 10 | " |
15 | SRC_URI_prepend = "http://wiki.qemu-project.org/download/${BP}.tar.bz2" | 11 | SRC_URI_prepend = "http://wiki.qemu-project.org/download/${BP}.tar.bz2" |
16 | SRC_URI[md5sum] = "c99445164e77184a9ba2e7dbf7ed5c29" | 12 | SRC_URI[md5sum] = "f469f2330bbe76e3e39db10e9ac4f8db" |
17 | SRC_URI[sha256sum] = "ecfe8b88037e41e817d72c460c56c6a0b573d540d6ba38b162d0de4fd22d1bdb" | 13 | SRC_URI[sha256sum] = "3443887401619fe33bfa5d900a4f2d6a79425ae2b7e43d5b8c36eb7a683772d4" |
18 | 14 | ||
19 | COMPATIBLE_HOST_class-target_mips64 = "null" | 15 | COMPATIBLE_HOST_class-target_mips64 = "null" |
20 | 16 | ||