* [Qemu-devel] [PULL 00/14] Misc changes for QEMU 2.4-rc1
@ 2015-11-04 16:18 Paolo Bonzini
2015-11-04 16:18 ` [Qemu-devel] [PULL 01/14] file_ram_alloc: propagate error to caller instead of terminating QEMU Paolo Bonzini
` (15 more replies)
0 siblings, 16 replies; 20+ messages in thread
From: Paolo Bonzini @ 2015-11-04 16:18 UTC (permalink / raw)
To: qemu-devel
The following changes since commit 7bc8e0c967a4ef77657174d28af775691e18b4ce:
Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging (2015-10-29 09:49:52 +0000)
are available in the git repository at:
git://github.com/bonzini/qemu.git tags/for-upstream
for you to fetch changes up to 8670e274ef292086e109ada29e072ef27d68177b:
configure: disable FORTIFY_SOURCE under clang (2015-11-04 15:56:05 +0100)
----------------------------------------------------------------
* Guest ABI fixes for PC machines (hw_version)
* Fixes for recent Perl
* John Snow's configure fixes
* file-backed RAM improvements (Igor, Pavel)
* -Werror=clobbered fixes (Stefan)
* Kill -d ioport
* Fix qemu-system-s390x
----------------------------------------------------------------
Eduardo Habkost (3):
pc: Set hw_version on all machine classes
osdep: Rename qemu_{get, set}_version() to qemu_{, set_}hw_version()
megasas: Use qemu_hw_version() instead of QEMU_VERSION
Fam Zheng (2):
scripts/text2pod.pl: Escape left brace
iscsi: Translate scsi sense into error code
Igor Mammedov (1):
file_ram_alloc: propagate error to caller instead of terminating QEMU
John Snow (2):
configure: disallow ccache during compile tests
configure: disable FORTIFY_SOURCE under clang
Paolo Bonzini (4):
target-i386: fix pcmpxstrx equal-ordered (strstr) mode
ioport: do not use CPU_LOG_IOPORT
qemu-log: remove -d ioport
memory: call begin, log_start and commit when registering a new listener
Pavel Fedin (1):
backends/hostmem-file: Allow to specify full pathname for backing file
Stefan Weil (1):
cpu-exec: Fix compiler warning (-Werror=clobbered)
block/iscsi.c | 63 ++++++++++++++++++++++++++++++++++++++++++++-------
configure | 21 ++++++++++++++++-
cpu-exec.c | 18 ++++++++++++---
exec.c | 40 +++++++++++++++++---------------
hw/arm/nseries.c | 2 +-
hw/i386/pc_piix.c | 13 +++++++++++
hw/i386/pc_q35.c | 10 ++++++++
hw/ide/core.c | 2 +-
hw/scsi/megasas.c | 2 +-
hw/scsi/scsi-bus.c | 2 +-
hw/scsi/scsi-disk.c | 2 +-
include/qemu/log.h | 1 -
include/qemu/osdep.h | 4 ++--
ioport.c | 26 +++++----------------
memory.c | 9 ++++++++
qemu-doc.texi | 2 +-
qemu-log.c | 2 --
scripts/texi2pod.pl | 2 +-
target-i386/cpu.c | 2 +-
target-i386/ops_sse.h | 4 ++--
trace-events | 4 ++--
util/osdep.c | 10 ++++----
vl.c | 2 +-
23 files changed, 170 insertions(+), 73 deletions(-)
--
1.8.3.1
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Qemu-devel] [PULL 01/14] file_ram_alloc: propagate error to caller instead of terminating QEMU
2015-11-04 16:18 [Qemu-devel] [PULL 00/14] Misc changes for QEMU 2.4-rc1 Paolo Bonzini
@ 2015-11-04 16:18 ` Paolo Bonzini
2015-11-04 16:18 ` [Qemu-devel] [PULL 02/14] scripts/text2pod.pl: Escape left brace Paolo Bonzini
` (14 subsequent siblings)
15 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2015-11-04 16:18 UTC (permalink / raw)
To: qemu-devel; +Cc: Igor Mammedov
From: Igor Mammedov <imammedo@redhat.com>
QEMU shouldn't exits from file_ram_alloc() if -mem-prealloc option is specified
and "object_add memory-backend-file,..." fails allocation during memory hotplug.
Propagate error to a caller and let it decide what to do with allocation failure.
That leaves QEMU alive if it can't create backend during hotplug time and
kills QEMU at startup time if backends or initial memory were misconfigured/
too large.
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <1445274671-17704-1-git-send-email-imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
exec.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/exec.c b/exec.c
index 8af2570..7431f2f 100644
--- a/exec.c
+++ b/exec.c
@@ -1282,10 +1282,6 @@ static void *file_ram_alloc(RAMBlock *block,
return area;
error:
- if (mem_prealloc) {
- error_report("%s", error_get_pretty(*errp));
- exit(1);
- }
return NULL;
}
#endif
--
1.8.3.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [Qemu-devel] [PULL 02/14] scripts/text2pod.pl: Escape left brace
2015-11-04 16:18 [Qemu-devel] [PULL 00/14] Misc changes for QEMU 2.4-rc1 Paolo Bonzini
2015-11-04 16:18 ` [Qemu-devel] [PULL 01/14] file_ram_alloc: propagate error to caller instead of terminating QEMU Paolo Bonzini
@ 2015-11-04 16:18 ` Paolo Bonzini
2015-11-04 16:18 ` [Qemu-devel] [PULL 03/14] target-i386: fix pcmpxstrx equal-ordered (strstr) mode Paolo Bonzini
` (13 subsequent siblings)
15 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2015-11-04 16:18 UTC (permalink / raw)
To: qemu-devel; +Cc: Fam Zheng
From: Fam Zheng <famz@redhat.com>
Latest perl now deprecates "{" literal in regex and print warnings like
"unescaped left brace in regex is deprecated". Add escapes to keep it
happy.
Signed-off-by: Fam Zheng <famz@redhat.com>
Message-Id: <1445326726-16031-1-git-send-email-famz@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
scripts/texi2pod.pl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/texi2pod.pl b/scripts/texi2pod.pl
index 94097fb..8767662 100755
--- a/scripts/texi2pod.pl
+++ b/scripts/texi2pod.pl
@@ -317,7 +317,7 @@ while(<$inf>) {
@columns = ();
for $column (split (/\s*\@tab\s*/, $1)) {
# @strong{...} is used a @headitem work-alike
- $column =~ s/^\@strong{(.*)}$/$1/;
+ $column =~ s/^\@strong\{(.*)\}$/$1/;
push @columns, $column;
}
$_ = "\n=item ".join (" : ", @columns)."\n";
--
1.8.3.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [Qemu-devel] [PULL 03/14] target-i386: fix pcmpxstrx equal-ordered (strstr) mode
2015-11-04 16:18 [Qemu-devel] [PULL 00/14] Misc changes for QEMU 2.4-rc1 Paolo Bonzini
2015-11-04 16:18 ` [Qemu-devel] [PULL 01/14] file_ram_alloc: propagate error to caller instead of terminating QEMU Paolo Bonzini
2015-11-04 16:18 ` [Qemu-devel] [PULL 02/14] scripts/text2pod.pl: Escape left brace Paolo Bonzini
@ 2015-11-04 16:18 ` Paolo Bonzini
2015-11-04 16:18 ` [Qemu-devel] [PULL 04/14] ioport: do not use CPU_LOG_IOPORT Paolo Bonzini
` (12 subsequent siblings)
15 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2015-11-04 16:18 UTC (permalink / raw)
To: qemu-devel; +Cc: Eduardo Habkost, Richard Henderson
In this mode, referring an invalid element of the source forces the
result to false (table 4-7, last column) but referring an invalid
element of the destination forces the result to true, so the outer
loop should still be run even if some elements of the destination
will be invalid. They will be avoided in the inner loop, which
correctly bounds "i" to validd, but they will still contribute to a
positive outcome of the search.
This fixes tst_strstr in glibc 2.17.
Reported-by: Florian Weimer <fweimer@redhat.com>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
target-i386/ops_sse.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/target-i386/ops_sse.h b/target-i386/ops_sse.h
index 7aa693a..1780d1d 100644
--- a/target-i386/ops_sse.h
+++ b/target-i386/ops_sse.h
@@ -2037,10 +2037,10 @@ static inline unsigned pcmpxstrx(CPUX86State *env, Reg *d, Reg *s,
}
break;
case 3:
- for (j = valids - validd; j >= 0; j--) {
+ for (j = valids; j >= 0; j--) {
res <<= 1;
v = 1;
- for (i = MIN(upper - j, validd); i >= 0; i--) {
+ for (i = MIN(valids - j, validd); i >= 0; i--) {
v &= (pcmp_val(s, ctrl, i + j) == pcmp_val(d, ctrl, i));
}
res |= v;
--
1.8.3.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [Qemu-devel] [PULL 04/14] ioport: do not use CPU_LOG_IOPORT
2015-11-04 16:18 [Qemu-devel] [PULL 00/14] Misc changes for QEMU 2.4-rc1 Paolo Bonzini
` (2 preceding siblings ...)
2015-11-04 16:18 ` [Qemu-devel] [PULL 03/14] target-i386: fix pcmpxstrx equal-ordered (strstr) mode Paolo Bonzini
@ 2015-11-04 16:18 ` Paolo Bonzini
2015-11-04 16:18 ` [Qemu-devel] [PULL 05/14] qemu-log: remove -d ioport Paolo Bonzini
` (11 subsequent siblings)
15 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2015-11-04 16:18 UTC (permalink / raw)
To: qemu-devel
These messages are disabled by default; a perfect usecase for tracepoints,
which in fact already exist. Add the missing information to them and
stop using qemu_log_mask.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
ioport.c | 26 ++++++--------------------
trace-events | 4 ++--
2 files changed, 8 insertions(+), 22 deletions(-)
diff --git a/ioport.c b/ioport.c
index e39093e..193ef76 100644
--- a/ioport.c
+++ b/ioport.c
@@ -30,14 +30,6 @@
#include "exec/memory.h"
#include "exec/address-spaces.h"
-//#define DEBUG_IOPORT
-
-#ifdef DEBUG_IOPORT
-# define LOG_IOPORT(...) qemu_log_mask(CPU_LOG_IOPORT, ## __VA_ARGS__)
-#else
-# define LOG_IOPORT(...) do { } while (0)
-#endif
-
typedef struct MemoryRegionPortioList {
MemoryRegion mr;
void *portio_opaque;
@@ -62,8 +54,7 @@ const MemoryRegionOps unassigned_io_ops = {
void cpu_outb(pio_addr_t addr, uint8_t val)
{
- LOG_IOPORT("outb: %04"FMT_pioaddr" %02"PRIx8"\n", addr, val);
- trace_cpu_out(addr, val);
+ trace_cpu_out(addr, 'b', val);
address_space_write(&address_space_io, addr, MEMTXATTRS_UNSPECIFIED,
&val, 1);
}
@@ -72,8 +63,7 @@ void cpu_outw(pio_addr_t addr, uint16_t val)
{
uint8_t buf[2];
- LOG_IOPORT("outw: %04"FMT_pioaddr" %04"PRIx16"\n", addr, val);
- trace_cpu_out(addr, val);
+ trace_cpu_out(addr, 'w', val);
stw_p(buf, val);
address_space_write(&address_space_io, addr, MEMTXATTRS_UNSPECIFIED,
buf, 2);
@@ -83,8 +73,7 @@ void cpu_outl(pio_addr_t addr, uint32_t val)
{
uint8_t buf[4];
- LOG_IOPORT("outl: %04"FMT_pioaddr" %08"PRIx32"\n", addr, val);
- trace_cpu_out(addr, val);
+ trace_cpu_out(addr, 'l', val);
stl_p(buf, val);
address_space_write(&address_space_io, addr, MEMTXATTRS_UNSPECIFIED,
buf, 4);
@@ -96,8 +85,7 @@ uint8_t cpu_inb(pio_addr_t addr)
address_space_read(&address_space_io, addr, MEMTXATTRS_UNSPECIFIED,
&val, 1);
- trace_cpu_in(addr, val);
- LOG_IOPORT("inb : %04"FMT_pioaddr" %02"PRIx8"\n", addr, val);
+ trace_cpu_in(addr, 'b', val);
return val;
}
@@ -108,8 +96,7 @@ uint16_t cpu_inw(pio_addr_t addr)
address_space_read(&address_space_io, addr, MEMTXATTRS_UNSPECIFIED, buf, 2);
val = lduw_p(buf);
- trace_cpu_in(addr, val);
- LOG_IOPORT("inw : %04"FMT_pioaddr" %04"PRIx16"\n", addr, val);
+ trace_cpu_in(addr, 'w', val);
return val;
}
@@ -120,8 +107,7 @@ uint32_t cpu_inl(pio_addr_t addr)
address_space_read(&address_space_io, addr, MEMTXATTRS_UNSPECIFIED, buf, 4);
val = ldl_p(buf);
- trace_cpu_in(addr, val);
- LOG_IOPORT("inl : %04"FMT_pioaddr" %08"PRIx32"\n", addr, val);
+ trace_cpu_in(addr, 'l', val);
return val;
}
diff --git a/trace-events b/trace-events
index bdfe79f..89b38aa 100644
--- a/trace-events
+++ b/trace-events
@@ -139,8 +139,8 @@ paio_submit_co(int64_t sector_num, int nb_sectors, int type) "sector_num %"PRId6
paio_submit(void *acb, void *opaque, int64_t sector_num, int nb_sectors, int type) "acb %p opaque %p sector_num %"PRId64" nb_sectors %d type %d"
# ioport.c
-cpu_in(unsigned int addr, unsigned int val) "addr %#x value %u"
-cpu_out(unsigned int addr, unsigned int val) "addr %#x value %u"
+cpu_in(unsigned int addr, char size, unsigned int val) "addr %#x(%c) value %u"
+cpu_out(unsigned int addr, char size, unsigned int val) "addr %#x(%c) value %u"
# balloon.c
# Since requests are raised via monitor, not many tracepoints are needed.
--
1.8.3.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [Qemu-devel] [PULL 05/14] qemu-log: remove -d ioport
2015-11-04 16:18 [Qemu-devel] [PULL 00/14] Misc changes for QEMU 2.4-rc1 Paolo Bonzini
` (3 preceding siblings ...)
2015-11-04 16:18 ` [Qemu-devel] [PULL 04/14] ioport: do not use CPU_LOG_IOPORT Paolo Bonzini
@ 2015-11-04 16:18 ` Paolo Bonzini
2015-11-04 16:18 ` [Qemu-devel] [PULL 06/14] pc: Set hw_version on all machine classes Paolo Bonzini
` (10 subsequent siblings)
15 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2015-11-04 16:18 UTC (permalink / raw)
To: qemu-devel
It was disabled at compile-time, and is now replaced by tracepoints.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
include/qemu/log.h | 1 -
qemu-log.c | 2 --
2 files changed, 3 deletions(-)
diff --git a/include/qemu/log.h b/include/qemu/log.h
index 7de4500..362cbc4 100644
--- a/include/qemu/log.h
+++ b/include/qemu/log.h
@@ -35,7 +35,6 @@ static inline bool qemu_log_enabled(void)
#define CPU_LOG_INT (1 << 4)
#define CPU_LOG_EXEC (1 << 5)
#define CPU_LOG_PCALL (1 << 6)
-#define CPU_LOG_IOPORT (1 << 7)
#define CPU_LOG_TB_CPU (1 << 8)
#define CPU_LOG_RESET (1 << 9)
#define LOG_UNIMP (1 << 10)
diff --git a/qemu-log.c b/qemu-log.c
index efd07c8..7cb01a8 100644
--- a/qemu-log.c
+++ b/qemu-log.c
@@ -112,8 +112,6 @@ const QEMULogItem qemu_log_items[] = {
"x86 only: show protected mode far calls/returns/exceptions" },
{ CPU_LOG_RESET, "cpu_reset",
"show CPU state before CPU resets" },
- { CPU_LOG_IOPORT, "ioport",
- "show all i/o ports accesses" },
{ LOG_UNIMP, "unimp",
"log unimplemented functionality" },
{ LOG_GUEST_ERROR, "guest_errors",
--
1.8.3.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [Qemu-devel] [PULL 06/14] pc: Set hw_version on all machine classes
2015-11-04 16:18 [Qemu-devel] [PULL 00/14] Misc changes for QEMU 2.4-rc1 Paolo Bonzini
` (4 preceding siblings ...)
2015-11-04 16:18 ` [Qemu-devel] [PULL 05/14] qemu-log: remove -d ioport Paolo Bonzini
@ 2015-11-04 16:18 ` Paolo Bonzini
2015-11-04 16:18 ` [Qemu-devel] [PULL 07/14] osdep: Rename qemu_{get, set}_version() to qemu_{, set_}hw_version() Paolo Bonzini
` (9 subsequent siblings)
15 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2015-11-04 16:18 UTC (permalink / raw)
To: qemu-devel; +Cc: Eduardo Habkost
From: Eduardo Habkost <ehabkost@redhat.com>
In 2012, QEMU had a bug where it exposed QEMU version information to the
guest, meaning a QEMU upgrade would expose different hardware to the
guest OS even if the same machine-type is being used.
The bug was fixed by commit 93bfef4c6e4b23caea9d51e1099d06433d8835a4, on
all machines up to pc-1.0. But we kept introducing the same bug on all
newer machines since then. That means we are breaking guest ABI every
time QEMU was upgraded.
Fix this by setting the hw_version on all PC machines, making sure the
hardware won't change when upgrading QEMU.
Note that QEMU_VERSION was "1.0" in QEMU 1.0, but starting on QEMU
1.1.0, it started following the "x.y.0" pattern. We have to follow it,
to make sure we use the right QEMU_VERSION string from each QEMU
release.
The 2.5 machine classes could have hw_version unset, because the default
value for qemu_get_version() is QEMU_VERSION. But I decided to set it
explicitly to QEMU_VERSION so we don't forget to update it to "2.5.0"
after we release 2.5.0 and create a 2.6 machine class.
Reported-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Message-Id: <1446233769-7892-2-git-send-email-ehabkost@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
hw/i386/pc_piix.c | 13 +++++++++++++
hw/i386/pc_q35.c | 10 ++++++++++
2 files changed, 23 insertions(+)
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 393dcc4..07d0baa 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -472,6 +472,7 @@ static void pc_i440fx_machine_options(MachineClass *m)
static void pc_i440fx_2_5_machine_options(MachineClass *m)
{
pc_i440fx_machine_options(m);
+ m->hw_version = QEMU_VERSION;
m->alias = "pc";
m->is_default = 1;
}
@@ -484,6 +485,7 @@ static void pc_i440fx_2_4_machine_options(MachineClass *m)
{
PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
pc_i440fx_2_5_machine_options(m);
+ m->hw_version = "2.4.0";
m->alias = NULL;
m->is_default = 0;
pcmc->broken_reserved_end = true;
@@ -497,6 +499,7 @@ DEFINE_I440FX_MACHINE(v2_4, "pc-i440fx-2.4", NULL,
static void pc_i440fx_2_3_machine_options(MachineClass *m)
{
pc_i440fx_2_4_machine_options(m);
+ m->hw_version = "2.3.0";
m->alias = NULL;
m->is_default = 0;
SET_MACHINE_COMPAT(m, PC_COMPAT_2_3);
@@ -509,6 +512,7 @@ DEFINE_I440FX_MACHINE(v2_3, "pc-i440fx-2.3", pc_compat_2_3,
static void pc_i440fx_2_2_machine_options(MachineClass *m)
{
pc_i440fx_2_3_machine_options(m);
+ m->hw_version = "2.2.0";
SET_MACHINE_COMPAT(m, PC_COMPAT_2_2);
}
@@ -519,6 +523,7 @@ DEFINE_I440FX_MACHINE(v2_2, "pc-i440fx-2.2", pc_compat_2_2,
static void pc_i440fx_2_1_machine_options(MachineClass *m)
{
pc_i440fx_2_2_machine_options(m);
+ m->hw_version = "2.1.0";
m->default_display = NULL;
SET_MACHINE_COMPAT(m, PC_COMPAT_2_1);
}
@@ -531,6 +536,7 @@ DEFINE_I440FX_MACHINE(v2_1, "pc-i440fx-2.1", pc_compat_2_1,
static void pc_i440fx_2_0_machine_options(MachineClass *m)
{
pc_i440fx_2_1_machine_options(m);
+ m->hw_version = "2.0.0";
SET_MACHINE_COMPAT(m, PC_COMPAT_2_0);
}
@@ -541,6 +547,7 @@ DEFINE_I440FX_MACHINE(v2_0, "pc-i440fx-2.0", pc_compat_2_0,
static void pc_i440fx_1_7_machine_options(MachineClass *m)
{
pc_i440fx_2_0_machine_options(m);
+ m->hw_version = "1.7.0";
m->default_machine_opts = NULL;
SET_MACHINE_COMPAT(m, PC_COMPAT_1_7);
}
@@ -552,6 +559,7 @@ DEFINE_I440FX_MACHINE(v1_7, "pc-i440fx-1.7", pc_compat_1_7,
static void pc_i440fx_1_6_machine_options(MachineClass *m)
{
pc_i440fx_1_7_machine_options(m);
+ m->hw_version = "1.6.0";
SET_MACHINE_COMPAT(m, PC_COMPAT_1_6);
}
@@ -562,6 +570,7 @@ DEFINE_I440FX_MACHINE(v1_6, "pc-i440fx-1.6", pc_compat_1_6,
static void pc_i440fx_1_5_machine_options(MachineClass *m)
{
pc_i440fx_1_6_machine_options(m);
+ m->hw_version = "1.5.0";
SET_MACHINE_COMPAT(m, PC_COMPAT_1_5);
}
@@ -572,6 +581,7 @@ DEFINE_I440FX_MACHINE(v1_5, "pc-i440fx-1.5", pc_compat_1_5,
static void pc_i440fx_1_4_machine_options(MachineClass *m)
{
pc_i440fx_1_5_machine_options(m);
+ m->hw_version = "1.4.0";
m->hot_add_cpu = NULL;
SET_MACHINE_COMPAT(m, PC_COMPAT_1_4);
}
@@ -604,6 +614,7 @@ DEFINE_I440FX_MACHINE(v1_4, "pc-i440fx-1.4", pc_compat_1_4,
static void pc_i440fx_1_3_machine_options(MachineClass *m)
{
pc_i440fx_1_4_machine_options(m);
+ m->hw_version = "1.3.0";
SET_MACHINE_COMPAT(m, PC_COMPAT_1_3);
}
@@ -642,6 +653,7 @@ DEFINE_I440FX_MACHINE(v1_3, "pc-1.3", pc_compat_1_3,
static void pc_i440fx_1_2_machine_options(MachineClass *m)
{
pc_i440fx_1_3_machine_options(m);
+ m->hw_version = "1.2.0";
SET_MACHINE_COMPAT(m, PC_COMPAT_1_2);
}
@@ -684,6 +696,7 @@ DEFINE_I440FX_MACHINE(v1_2, "pc-1.2", pc_compat_1_2,
static void pc_i440fx_1_1_machine_options(MachineClass *m)
{
pc_i440fx_1_2_machine_options(m);
+ m->hw_version = "1.1.0";
SET_MACHINE_COMPAT(m, PC_COMPAT_1_1);
}
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index 2f8f396..0fdae09 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -373,6 +373,7 @@ static void pc_q35_machine_options(MachineClass *m)
static void pc_q35_2_5_machine_options(MachineClass *m)
{
pc_q35_machine_options(m);
+ m->hw_version = QEMU_VERSION;
m->alias = "q35";
}
@@ -383,6 +384,7 @@ static void pc_q35_2_4_machine_options(MachineClass *m)
{
PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
pc_q35_2_5_machine_options(m);
+ m->hw_version = "2.4.0";
m->alias = NULL;
pcmc->broken_reserved_end = true;
SET_MACHINE_COMPAT(m, PC_COMPAT_2_4);
@@ -395,6 +397,7 @@ DEFINE_Q35_MACHINE(v2_4, "pc-q35-2.4", NULL,
static void pc_q35_2_3_machine_options(MachineClass *m)
{
pc_q35_2_4_machine_options(m);
+ m->hw_version = "2.3.0";
m->no_floppy = 0;
m->no_tco = 1;
m->alias = NULL;
@@ -408,6 +411,7 @@ DEFINE_Q35_MACHINE(v2_3, "pc-q35-2.3", pc_compat_2_3,
static void pc_q35_2_2_machine_options(MachineClass *m)
{
pc_q35_2_3_machine_options(m);
+ m->hw_version = "2.2.0";
SET_MACHINE_COMPAT(m, PC_COMPAT_2_2);
}
@@ -418,6 +422,7 @@ DEFINE_Q35_MACHINE(v2_2, "pc-q35-2.2", pc_compat_2_2,
static void pc_q35_2_1_machine_options(MachineClass *m)
{
pc_q35_2_2_machine_options(m);
+ m->hw_version = "2.1.0";
m->default_display = NULL;
SET_MACHINE_COMPAT(m, PC_COMPAT_2_1);
}
@@ -429,6 +434,7 @@ DEFINE_Q35_MACHINE(v2_1, "pc-q35-2.1", pc_compat_2_1,
static void pc_q35_2_0_machine_options(MachineClass *m)
{
pc_q35_2_1_machine_options(m);
+ m->hw_version = "2.0.0";
SET_MACHINE_COMPAT(m, PC_COMPAT_2_0);
}
@@ -439,6 +445,7 @@ DEFINE_Q35_MACHINE(v2_0, "pc-q35-2.0", pc_compat_2_0,
static void pc_q35_1_7_machine_options(MachineClass *m)
{
pc_q35_2_0_machine_options(m);
+ m->hw_version = "1.7.0";
m->default_machine_opts = NULL;
SET_MACHINE_COMPAT(m, PC_COMPAT_1_7);
}
@@ -450,6 +457,7 @@ DEFINE_Q35_MACHINE(v1_7, "pc-q35-1.7", pc_compat_1_7,
static void pc_q35_1_6_machine_options(MachineClass *m)
{
pc_q35_machine_options(m);
+ m->hw_version = "1.6.0";
SET_MACHINE_COMPAT(m, PC_COMPAT_1_6);
}
@@ -460,6 +468,7 @@ DEFINE_Q35_MACHINE(v1_6, "pc-q35-1.6", pc_compat_1_6,
static void pc_q35_1_5_machine_options(MachineClass *m)
{
pc_q35_1_6_machine_options(m);
+ m->hw_version = "1.5.0";
SET_MACHINE_COMPAT(m, PC_COMPAT_1_5);
}
@@ -470,6 +479,7 @@ DEFINE_Q35_MACHINE(v1_5, "pc-q35-1.5", pc_compat_1_5,
static void pc_q35_1_4_machine_options(MachineClass *m)
{
pc_q35_1_5_machine_options(m);
+ m->hw_version = "1.4.0";
m->hot_add_cpu = NULL;
SET_MACHINE_COMPAT(m, PC_COMPAT_1_4);
}
--
1.8.3.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [Qemu-devel] [PULL 07/14] osdep: Rename qemu_{get, set}_version() to qemu_{, set_}hw_version()
2015-11-04 16:18 [Qemu-devel] [PULL 00/14] Misc changes for QEMU 2.4-rc1 Paolo Bonzini
` (5 preceding siblings ...)
2015-11-04 16:18 ` [Qemu-devel] [PULL 06/14] pc: Set hw_version on all machine classes Paolo Bonzini
@ 2015-11-04 16:18 ` Paolo Bonzini
2015-11-04 16:18 ` [Qemu-devel] [PULL 08/14] megasas: Use qemu_hw_version() instead of QEMU_VERSION Paolo Bonzini
` (8 subsequent siblings)
15 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2015-11-04 16:18 UTC (permalink / raw)
To: qemu-devel; +Cc: John Snow, Peter Maydell, Eduardo Habkost
From: Eduardo Habkost <ehabkost@redhat.com>
This makes the purpose of the function clearer: it is not about the
version of QEMU that's running, but the version string exposed in the
emulated hardware.
Cc: Andrzej Zaborowski <balrogg@gmail.com>
Cc: Peter Maydell <peter.maydell@linaro.org>
Cc: John Snow <jsnow@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: John Snow <jsnow@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Message-Id: <1446233769-7892-3-git-send-email-ehabkost@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
hw/arm/nseries.c | 2 +-
hw/ide/core.c | 2 +-
hw/scsi/scsi-bus.c | 2 +-
hw/scsi/scsi-disk.c | 2 +-
include/qemu/osdep.h | 4 ++--
target-i386/cpu.c | 2 +-
util/osdep.c | 10 +++++-----
vl.c | 2 +-
8 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/hw/arm/nseries.c b/hw/arm/nseries.c
index 6a6b3e6..2a8835e 100644
--- a/hw/arm/nseries.c
+++ b/hw/arm/nseries.c
@@ -1275,7 +1275,7 @@ static int n8x0_atag_setup(void *p, int model)
strcpy((void *) w, "hw-build"); /* char component[12] */
w += 6;
strcpy((void *) w, "QEMU ");
- pstrcat((void *) w, 12, qemu_get_version()); /* char version[12] */
+ pstrcat((void *) w, 12, qemu_hw_version()); /* char version[12] */
w += 6;
tag = (model == 810) ? "1.1.10-qemu" : "1.1.6-qemu";
diff --git a/hw/ide/core.c b/hw/ide/core.c
index 317406d..364ba21 100644
--- a/hw/ide/core.c
+++ b/hw/ide/core.c
@@ -2312,7 +2312,7 @@ int ide_init_drive(IDEState *s, BlockBackend *blk, IDEDriveKind kind,
if (version) {
pstrcpy(s->version, sizeof(s->version), version);
} else {
- pstrcpy(s->version, sizeof(s->version), qemu_get_version());
+ pstrcpy(s->version, sizeof(s->version), qemu_hw_version());
}
ide_reset(s);
diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c
index d373c1b..fd1171e 100644
--- a/hw/scsi/scsi-bus.c
+++ b/hw/scsi/scsi-bus.c
@@ -453,7 +453,7 @@ static bool scsi_target_emulate_inquiry(SCSITargetReq *r)
r->buf[7] = 0x10 | (r->req.bus->info->tcq ? 0x02 : 0); /* Sync, TCQ. */
memcpy(&r->buf[8], "QEMU ", 8);
memcpy(&r->buf[16], "QEMU TARGET ", 16);
- pstrcpy((char *) &r->buf[32], 4, qemu_get_version());
+ pstrcpy((char *) &r->buf[32], 4, qemu_hw_version());
}
return true;
}
diff --git a/hw/scsi/scsi-disk.c b/hw/scsi/scsi-disk.c
index bada9a7..707e734 100644
--- a/hw/scsi/scsi-disk.c
+++ b/hw/scsi/scsi-disk.c
@@ -2315,7 +2315,7 @@ static void scsi_realize(SCSIDevice *dev, Error **errp)
}
if (!s->version) {
- s->version = g_strdup(qemu_get_version());
+ s->version = g_strdup(qemu_hw_version());
}
if (!s->vendor) {
s->vendor = g_strdup("QEMU");
diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h
index b568424..ab2d5d9 100644
--- a/include/qemu/osdep.h
+++ b/include/qemu/osdep.h
@@ -247,8 +247,8 @@ static inline void qemu_timersub(const struct timeval *val1,
void qemu_set_cloexec(int fd);
-void qemu_set_version(const char *);
-const char *qemu_get_version(void);
+void qemu_set_hw_version(const char *);
+const char *qemu_hw_version(void);
void fips_set_state(bool requested);
bool fips_get_state(void);
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 9280bfc..9d0eedf 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
@@ -2243,7 +2243,7 @@ void x86_cpudef_setup(void)
pstrcpy(def->model_id, sizeof(def->model_id),
"QEMU Virtual CPU version ");
pstrcat(def->model_id, sizeof(def->model_id),
- qemu_get_version());
+ qemu_hw_version());
break;
}
}
diff --git a/util/osdep.c b/util/osdep.c
index 0092bb6..80c6bfe 100644
--- a/util/osdep.c
+++ b/util/osdep.c
@@ -52,7 +52,7 @@ extern int madvise(caddr_t, size_t, int);
static bool fips_enabled = false;
-static const char *qemu_version = QEMU_VERSION;
+static const char *hw_version = QEMU_VERSION;
int socket_set_cork(int fd, int v)
{
@@ -311,14 +311,14 @@ int qemu_accept(int s, struct sockaddr *addr, socklen_t *addrlen)
return ret;
}
-void qemu_set_version(const char *version)
+void qemu_set_hw_version(const char *version)
{
- qemu_version = version;
+ hw_version = version;
}
-const char *qemu_get_version(void)
+const char *qemu_hw_version(void)
{
- return qemu_version;
+ return hw_version;
}
void fips_set_state(bool requested)
diff --git a/vl.c b/vl.c
index f5f7c3f..d7cdf96 100644
--- a/vl.c
+++ b/vl.c
@@ -4052,7 +4052,7 @@ int main(int argc, char **argv, char **envp)
cpu_exec_init_all();
if (machine_class->hw_version) {
- qemu_set_version(machine_class->hw_version);
+ qemu_set_hw_version(machine_class->hw_version);
}
/* Init CPU def lists, based on config
--
1.8.3.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [Qemu-devel] [PULL 08/14] megasas: Use qemu_hw_version() instead of QEMU_VERSION
2015-11-04 16:18 [Qemu-devel] [PULL 00/14] Misc changes for QEMU 2.4-rc1 Paolo Bonzini
` (6 preceding siblings ...)
2015-11-04 16:18 ` [Qemu-devel] [PULL 07/14] osdep: Rename qemu_{get, set}_version() to qemu_{, set_}hw_version() Paolo Bonzini
@ 2015-11-04 16:18 ` Paolo Bonzini
2015-11-04 16:18 ` [Qemu-devel] [PULL 09/14] memory: call begin, log_start and commit when registering a new listener Paolo Bonzini
` (7 subsequent siblings)
15 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2015-11-04 16:18 UTC (permalink / raw)
To: qemu-devel; +Cc: Eduardo Habkost, qemu-block, Hannes Reinecke
From: Eduardo Habkost <ehabkost@redhat.com>
Guest visible data shouldn't change with a simple QEMU upgrade, so use
qemu_hw_version() to ensure it won't change (as long as the machine
class being used has hw_version set).
Cc: Hannes Reinecke <hare@suse.de>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: qemu-block@nongnu.org
Reviewed-by: Hannes Reinecke <hare@suse.com>
Acked-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Message-Id: <1446233769-7892-4-git-send-email-ehabkost@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
hw/scsi/megasas.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/scsi/megasas.c b/hw/scsi/megasas.c
index dcd724e..d7dc667 100644
--- a/hw/scsi/megasas.c
+++ b/hw/scsi/megasas.c
@@ -757,7 +757,7 @@ static int megasas_ctrl_get_info(MegasasState *s, MegasasCmd *cmd)
memcpy(info.product_name, base_class->product_name, 24);
snprintf(info.serial_number, 32, "%s", s->hba_serial);
- snprintf(info.package_version, 0x60, "%s-QEMU", QEMU_VERSION);
+ snprintf(info.package_version, 0x60, "%s-QEMU", qemu_hw_version());
memcpy(info.image_component[0].name, "APP", 3);
snprintf(info.image_component[0].version, 10, "%s-QEMU",
base_class->product_version);
--
1.8.3.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [Qemu-devel] [PULL 09/14] memory: call begin, log_start and commit when registering a new listener
2015-11-04 16:18 [Qemu-devel] [PULL 00/14] Misc changes for QEMU 2.4-rc1 Paolo Bonzini
` (7 preceding siblings ...)
2015-11-04 16:18 ` [Qemu-devel] [PULL 08/14] megasas: Use qemu_hw_version() instead of QEMU_VERSION Paolo Bonzini
@ 2015-11-04 16:18 ` Paolo Bonzini
2015-11-04 16:18 ` [Qemu-devel] [PULL 10/14] cpu-exec: Fix compiler warning (-Werror=clobbered) Paolo Bonzini
` (6 subsequent siblings)
15 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2015-11-04 16:18 UTC (permalink / raw)
To: qemu-devel
This ensures that cpu_reload_memory_map() is called as soon as
tcg_cpu_address_space_init() is called, and before cpu->memory_dispatch
is used. qemu-system-s390x never changes the address spaces after
tcg_cpu_address_space_init() is called, and thus tcg_commit() is never
called. This causes a SIGSEGV.
Because memory_map_init() will now call mem_commit(), we have to
initialize io_mem_* before address_space_memory and friends.
Reported-by: Philipp Kern <pkern@debian.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Fixes: 0a1c71cec63e95f9b8d0dc96d049d2daa00c5210
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
exec.c | 2 +-
memory.c | 9 +++++++++
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/exec.c b/exec.c
index 7431f2f..819ecc3 100644
--- a/exec.c
+++ b/exec.c
@@ -2694,8 +2694,8 @@ void cpu_register_map_client(QEMUBH *bh)
void cpu_exec_init_all(void)
{
qemu_mutex_init(&ram_list.mutex);
- memory_map_init();
io_mem_init();
+ memory_map_init();
qemu_mutex_init(&map_client_list_lock);
}
diff --git a/memory.c b/memory.c
index 2eb1597..c435c88 100644
--- a/memory.c
+++ b/memory.c
@@ -2036,6 +2036,9 @@ static void listener_add_address_space(MemoryListener *listener,
return;
}
+ if (listener->begin) {
+ listener->begin(listener);
+ }
if (global_dirty_log) {
if (listener->log_global_start) {
listener->log_global_start(listener);
@@ -2052,10 +2055,16 @@ static void listener_add_address_space(MemoryListener *listener,
.offset_within_address_space = int128_get64(fr->addr.start),
.readonly = fr->readonly,
};
+ if (fr->dirty_log_mask && listener->log_start) {
+ listener->log_start(listener, §ion, 0, fr->dirty_log_mask);
+ }
if (listener->region_add) {
listener->region_add(listener, §ion);
}
}
+ if (listener->commit) {
+ listener->commit(listener);
+ }
flatview_unref(view);
}
--
1.8.3.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [Qemu-devel] [PULL 10/14] cpu-exec: Fix compiler warning (-Werror=clobbered)
2015-11-04 16:18 [Qemu-devel] [PULL 00/14] Misc changes for QEMU 2.4-rc1 Paolo Bonzini
` (8 preceding siblings ...)
2015-11-04 16:18 ` [Qemu-devel] [PULL 09/14] memory: call begin, log_start and commit when registering a new listener Paolo Bonzini
@ 2015-11-04 16:18 ` Paolo Bonzini
2015-11-04 16:18 ` [Qemu-devel] [PULL 11/14] configure: disallow ccache during compile tests Paolo Bonzini
` (5 subsequent siblings)
15 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2015-11-04 16:18 UTC (permalink / raw)
To: qemu-devel; +Cc: Stefan Weil
From: Stefan Weil <sw@weilnetz.de>
Reloading of local variables after sigsetjmp is only needed for some
buggy compilers.
The code which should reload these variables causes compiler warnings
with gcc 4.7 when compiler optimizations are enabled:
cpu-exec.c:204:15: error:
variable ‘cpu’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Werror=clobbered]
cpu-exec.c:207:15: error:
variable ‘cc’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Werror=clobbered]
cpu-exec.c:202:28: error:
argument ‘env’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Werror=clobbered]
Now this code is only used for compilers which need it
(and gcc 4.5.x, x > 0 which does not need it but won't give warnings).
There were bug reports for clang and gcc 4.5.0, while gcc 4.5.1
was reported to work fine without the reload code. For clang it
is not clear which versions are affected, so simply keep the status quo
for all clang compilations. This can be improved later.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
Message-Id: <1443266606-21400-1-git-send-email-sw@weilnetz.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
cpu-exec.c | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/cpu-exec.c b/cpu-exec.c
index 7eef083..2cfb3d0 100644
--- a/cpu-exec.c
+++ b/cpu-exec.c
@@ -539,15 +539,27 @@ int cpu_exec(CPUState *cpu)
only be set by a memory fault) */
} /* for(;;) */
} else {
- /* Reload env after longjmp - the compiler may have smashed all
- * local variables as longjmp is marked 'noreturn'. */
+#if defined(__clang__) || !QEMU_GNUC_PREREQ(4, 6)
+ /* Some compilers wrongly smash all local variables after
+ * siglongjmp. There were bug reports for gcc 4.5.0 and clang.
+ * Reload essential local variables here for those compilers.
+ * Newer versions of gcc would complain about this code (-Wclobbered). */
cpu = current_cpu;
cc = CPU_GET_CLASS(cpu);
- cpu->can_do_io = 1;
#ifdef TARGET_I386
x86_cpu = X86_CPU(cpu);
env = &x86_cpu->env;
#endif
+#else /* buggy compiler */
+ /* Assert that the compiler does not smash local variables. */
+ g_assert(cpu == current_cpu);
+ g_assert(cc == CPU_GET_CLASS(cpu));
+#ifdef TARGET_I386
+ g_assert(x86_cpu == X86_CPU(cpu));
+ g_assert(env == &x86_cpu->env);
+#endif
+#endif /* buggy compiler */
+ cpu->can_do_io = 1;
tb_lock_reset();
}
} /* for(;;) */
--
1.8.3.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [Qemu-devel] [PULL 11/14] configure: disallow ccache during compile tests
2015-11-04 16:18 [Qemu-devel] [PULL 00/14] Misc changes for QEMU 2.4-rc1 Paolo Bonzini
` (9 preceding siblings ...)
2015-11-04 16:18 ` [Qemu-devel] [PULL 10/14] cpu-exec: Fix compiler warning (-Werror=clobbered) Paolo Bonzini
@ 2015-11-04 16:18 ` Paolo Bonzini
2015-11-04 16:18 ` [Qemu-devel] [PULL 12/14] backends/hostmem-file: Allow to specify full pathname for backing file Paolo Bonzini
` (4 subsequent siblings)
15 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2015-11-04 16:18 UTC (permalink / raw)
To: qemu-devel; +Cc: John Snow
From: John Snow <jsnow@redhat.com>
If the user is using ccache during the configuration step,
it may interfere with some of the configuration tests,
particularly the "Is ccache interfering with macro analysis" step,
which is a bit of a poetic problem.
1) Disallow ccache from reading from the cache during configure,
but don't disable it entirely to allow us to see if it causes other
problems.
2) Force off CCACHE_CPP2 during the ccache test to get a deterministic
answer over whether or not we need to enable that feature later.
Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <1446055000-29150-1-git-send-email-jsnow@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
configure | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/configure b/configure
index 7a1d08d..9c726eb 100755
--- a/configure
+++ b/configure
@@ -8,6 +8,9 @@
CLICOLOR_FORCE= GREP_OPTIONS=
unset CLICOLOR_FORCE GREP_OPTIONS
+# Don't allow CCACHE, if present, to use cached results of compile tests!
+export CCACHE_RECACHE=yes
+
# Temporary directory used for files created while
# configure runs. Since it is in the build directory
# we can safely blow away any previous version of it
@@ -4412,6 +4415,7 @@ fi
# check if ccache is interfering with
# semantic analysis of macros
+unset CCACHE_CPP2
ccache_cpp2=no
cat > $TMPC << EOF
static const int Z = 1;
--
1.8.3.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [Qemu-devel] [PULL 12/14] backends/hostmem-file: Allow to specify full pathname for backing file
2015-11-04 16:18 [Qemu-devel] [PULL 00/14] Misc changes for QEMU 2.4-rc1 Paolo Bonzini
` (10 preceding siblings ...)
2015-11-04 16:18 ` [Qemu-devel] [PULL 11/14] configure: disallow ccache during compile tests Paolo Bonzini
@ 2015-11-04 16:18 ` Paolo Bonzini
2015-11-04 16:18 ` [Qemu-devel] [PULL 13/14] iscsi: Translate scsi sense into error code Paolo Bonzini
` (3 subsequent siblings)
15 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2015-11-04 16:18 UTC (permalink / raw)
To: qemu-devel; +Cc: Pavel Fedin
From: Pavel Fedin <p.fedin@samsung.com>
This allows to explicitly specify file name to use with the backend. This
is important when using it together with ivshmem in order to make it backed
by hugetlbfs. By default filename is autogenerated using mkstemp(), and the
file is unlink()ed after creation, effectively making it anonymous. This is
not very useful with ivshmem because it ends up in a memory which cannot be
accessed by something else.
Distinction between directory and file name is done by stat() check. If an
existing directory is given, the code keeps old behavior. Otherwise it
creates or opens a file with the given pathname.
Signed-off-by: Pavel Fedin <p.fedin@samsung.com>
Tested-by: Igor Skalkin <i.skalkin@samsung.com>
Message-Id: <004301d11166$9672fe30$c358fa90$@samsung.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
exec.c | 34 +++++++++++++++++++++-------------
qemu-doc.texi | 2 +-
2 files changed, 22 insertions(+), 14 deletions(-)
diff --git a/exec.c b/exec.c
index 819ecc3..1e8b51b 100644
--- a/exec.c
+++ b/exec.c
@@ -1205,6 +1205,7 @@ static void *file_ram_alloc(RAMBlock *block,
const char *path,
Error **errp)
{
+ struct stat st;
char *filename;
char *sanitized_name;
char *c;
@@ -1233,26 +1234,33 @@ static void *file_ram_alloc(RAMBlock *block,
goto error;
}
- /* Make name safe to use with mkstemp by replacing '/' with '_'. */
- sanitized_name = g_strdup(memory_region_name(block->mr));
- for (c = sanitized_name; *c != '\0'; c++) {
- if (*c == '/')
- *c = '_';
- }
+ if (!stat(path, &st) && S_ISDIR(st.st_mode)) {
+ /* Make name safe to use with mkstemp by replacing '/' with '_'. */
+ sanitized_name = g_strdup(memory_region_name(block->mr));
+ for (c = sanitized_name; *c != '\0'; c++) {
+ if (*c == '/') {
+ *c = '_';
+ }
+ }
- filename = g_strdup_printf("%s/qemu_back_mem.%s.XXXXXX", path,
- sanitized_name);
- g_free(sanitized_name);
+ filename = g_strdup_printf("%s/qemu_back_mem.%s.XXXXXX", path,
+ sanitized_name);
+ g_free(sanitized_name);
+
+ fd = mkstemp(filename);
+ if (fd >= 0) {
+ unlink(filename);
+ }
+ g_free(filename);
+ } else {
+ fd = open(path, O_RDWR | O_CREAT, 0644);
+ }
- fd = mkstemp(filename);
if (fd < 0) {
error_setg_errno(errp, errno,
"unable to create backing store for hugepages");
- g_free(filename);
goto error;
}
- unlink(filename);
- g_free(filename);
memory = ROUND_UP(memory, hpagesize);
diff --git a/qemu-doc.texi b/qemu-doc.texi
index 3126abd..460ab71 100644
--- a/qemu-doc.texi
+++ b/qemu-doc.texi
@@ -1299,7 +1299,7 @@ Instead of specifying the <shm size> using POSIX shm, you may specify
a memory backend that has hugepage support:
@example
-qemu-system-i386 -object memory-backend-file,size=1G,mem-path=/mnt/hugepages,id=mb1
+qemu-system-i386 -object memory-backend-file,size=1G,mem-path=/mnt/hugepages/my-shmem-file,id=mb1
-device ivshmem,memdev=mb1
@end example
--
1.8.3.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [Qemu-devel] [PULL 13/14] iscsi: Translate scsi sense into error code
2015-11-04 16:18 [Qemu-devel] [PULL 00/14] Misc changes for QEMU 2.4-rc1 Paolo Bonzini
` (11 preceding siblings ...)
2015-11-04 16:18 ` [Qemu-devel] [PULL 12/14] backends/hostmem-file: Allow to specify full pathname for backing file Paolo Bonzini
@ 2015-11-04 16:18 ` Paolo Bonzini
2015-11-04 16:18 ` [Qemu-devel] [PULL 14/14] configure: disable FORTIFY_SOURCE under clang Paolo Bonzini
` (2 subsequent siblings)
15 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2015-11-04 16:18 UTC (permalink / raw)
To: qemu-devel; +Cc: Fam Zheng
From: Fam Zheng <famz@redhat.com>
Previously we return -EIO blindly when anything goes wrong. Add a helper
function to parse sense fields and try to make the return code more
meaningful.
This also fixes the default werror configuration (enospc) when we're
using qcow2 on an iscsi lun. The old -EIO not being treated as out of
space error failed to trigger vm stop.
Signed-off-by: Fam Zheng <famz@redhat.com>
Message-Id: <1446600974-24676-1-git-send-email-famz@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
block/iscsi.c | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++--------
1 file changed, 55 insertions(+), 8 deletions(-)
diff --git a/block/iscsi.c b/block/iscsi.c
index 9a628b7..b1bc0ef 100644
--- a/block/iscsi.c
+++ b/block/iscsi.c
@@ -84,6 +84,7 @@ typedef struct IscsiTask {
IscsiLun *iscsilun;
QEMUTimer retry_timer;
bool force_next_flush;
+ int err_code;
} IscsiTask;
typedef struct IscsiAIOCB {
@@ -182,6 +183,51 @@ static inline unsigned exp_random(double mean)
#define QEMU_SCSI_STATUS_TIMEOUT SCSI_STATUS_TIMEOUT
#endif
+static int iscsi_translate_sense(struct scsi_sense *sense)
+{
+ int ret;
+
+ switch (sense->key) {
+ case SCSI_SENSE_NOT_READY:
+ return -EBUSY;
+ case SCSI_SENSE_DATA_PROTECTION:
+ return -EACCES;
+ case SCSI_SENSE_COMMAND_ABORTED:
+ return -ECANCELED;
+ case SCSI_SENSE_ILLEGAL_REQUEST:
+ /* Parse ASCQ */
+ break;
+ default:
+ return -EIO;
+ }
+ switch (sense->ascq) {
+ case SCSI_SENSE_ASCQ_PARAMETER_LIST_LENGTH_ERROR:
+ case SCSI_SENSE_ASCQ_INVALID_OPERATION_CODE:
+ case SCSI_SENSE_ASCQ_INVALID_FIELD_IN_CDB:
+ case SCSI_SENSE_ASCQ_INVALID_FIELD_IN_PARAMETER_LIST:
+ ret = -EINVAL;
+ break;
+ case SCSI_SENSE_ASCQ_LBA_OUT_OF_RANGE:
+ ret = -ENOSPC;
+ break;
+ case SCSI_SENSE_ASCQ_LOGICAL_UNIT_NOT_SUPPORTED:
+ ret = -ENOTSUP;
+ break;
+ case SCSI_SENSE_ASCQ_MEDIUM_NOT_PRESENT:
+ case SCSI_SENSE_ASCQ_MEDIUM_NOT_PRESENT_TRAY_CLOSED:
+ case SCSI_SENSE_ASCQ_MEDIUM_NOT_PRESENT_TRAY_OPEN:
+ ret = -ENOMEDIUM;
+ break;
+ case SCSI_SENSE_ASCQ_WRITE_PROTECTED:
+ ret = -EACCES;
+ break;
+ default:
+ ret = -EIO;
+ break;
+ }
+ return ret;
+}
+
static void
iscsi_co_generic_cb(struct iscsi_context *iscsi, int status,
void *command_data, void *opaque)
@@ -226,6 +272,7 @@ iscsi_co_generic_cb(struct iscsi_context *iscsi, int status,
return;
}
}
+ iTask->err_code = iscsi_translate_sense(&task->sense);
error_report("iSCSI Failure: %s", iscsi_get_error(iscsi));
} else {
iTask->iscsilun->force_next_flush |= iTask->force_next_flush;
@@ -455,7 +502,7 @@ retry:
}
if (iTask.status != SCSI_STATUS_GOOD) {
- return -EIO;
+ return iTask.err_code;
}
iscsi_allocationmap_set(iscsilun, sector_num, nb_sectors);
@@ -536,14 +583,14 @@ retry:
lbas = scsi_datain_unmarshall(iTask.task);
if (lbas == NULL) {
- ret = -EIO;
+ ret = iTask.err_code;
goto out;
}
lbasd = &lbas->descriptors[0];
if (sector_qemu2lun(sector_num, iscsilun) != lbasd->lba) {
- ret = -EIO;
+ ret = iTask.err_code;
goto out;
}
@@ -644,7 +691,7 @@ retry:
}
if (iTask.status != SCSI_STATUS_GOOD) {
- return -EIO;
+ return iTask.err_code;
}
return 0;
@@ -683,7 +730,7 @@ retry:
}
if (iTask.status != SCSI_STATUS_GOOD) {
- return -EIO;
+ return iTask.err_code;
}
return 0;
@@ -703,7 +750,7 @@ iscsi_aio_ioctl_cb(struct iscsi_context *iscsi, int status,
if (status < 0) {
error_report("Failed to ioctl(SG_IO) to iSCSI lun. %s",
iscsi_get_error(iscsi));
- acb->status = -EIO;
+ acb->status = iscsi_translate_sense(&acb->task->sense);
}
acb->ioh->driver_status = 0;
@@ -905,7 +952,7 @@ retry:
}
if (iTask.status != SCSI_STATUS_GOOD) {
- return -EIO;
+ return iTask.err_code;
}
iscsi_allocationmap_clear(iscsilun, sector_num, nb_sectors);
@@ -999,7 +1046,7 @@ retry:
}
if (iTask.status != SCSI_STATUS_GOOD) {
- return -EIO;
+ return iTask.err_code;
}
if (flags & BDRV_REQ_MAY_UNMAP) {
--
1.8.3.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [Qemu-devel] [PULL 14/14] configure: disable FORTIFY_SOURCE under clang
2015-11-04 16:18 [Qemu-devel] [PULL 00/14] Misc changes for QEMU 2.4-rc1 Paolo Bonzini
` (12 preceding siblings ...)
2015-11-04 16:18 ` [Qemu-devel] [PULL 13/14] iscsi: Translate scsi sense into error code Paolo Bonzini
@ 2015-11-04 16:18 ` Paolo Bonzini
2015-11-04 16:34 ` [Qemu-devel] [PULL 00/14] Misc changes for QEMU 2.4-rc1 Peter Maydell
2015-11-04 16:53 ` Denis V. Lunev
15 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2015-11-04 16:18 UTC (permalink / raw)
To: qemu-devel; +Cc: John Snow
From: John Snow <jsnow@redhat.com>
Some versions of clang may have difficulty compiling glibc headers when
-D_FORTIFY_SOURCE is used. For example, Clang++ 3.5.0-9.fc22 cannot
compile glibc's stdio headers when -D_FORTIFY_SOURCE=2 is used. This
manifests currently as build failures with clang and any arm target.
According to LLVM dev Richard Smith, clang does not target or support
FORTIFY_SOURCE + glibc, and it should not be relied on.
"It's still an unsupported combination, and while it might compile, some
of the checks are unlikely to work because they require a frontend
inliner to be useful"
See: http://lists.llvm.org/pipermail/cfe-dev/2015-November/045846.html
Conclusion: disable fortify-source if we appear to be using clang instead
of testing for compile success or failure, which may be incidental or not
indicative of proper support of the feature.
Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <1446583422-10153-1-git-send-email-jsnow@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
configure | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/configure b/configure
index 9c726eb..a1ac1c7 100755
--- a/configure
+++ b/configure
@@ -264,6 +264,7 @@ rdma=""
gprof="no"
debug_tcg="no"
debug="no"
+fortify_source=""
strip_opt="yes"
tcg_interpreter="no"
bigendian="no"
@@ -879,6 +880,7 @@ for opt do
debug_tcg="yes"
debug="yes"
strip_opt="no"
+ fortify_source="no"
;;
--enable-sparse) sparse="yes"
;;
@@ -4439,6 +4441,19 @@ if ! compile_object "-Werror"; then
ccache_cpp2=yes
fi
+#################################################
+# clang does not support glibc + FORTIFY_SOURCE.
+
+if test "$fortify_source" != "no"; then
+ if echo | $cc -dM -E - | grep __clang__ > /dev/null 2>&1 ; then
+ fortify_source="no";
+ elif echo | $cxx -dM -E - | grep __clang__ > /dev/null 2>&1 ; then
+ fortify_source="no";
+ else
+ fortify_source="yes"
+ fi
+fi
+
##########################################
# End of CC checks
# After here, no more $cc or $ld runs
@@ -4446,7 +4461,7 @@ fi
if test "$gcov" = "yes" ; then
CFLAGS="-fprofile-arcs -ftest-coverage -g $CFLAGS"
LDFLAGS="-fprofile-arcs -ftest-coverage $LDFLAGS"
-elif test "$debug" = "no" ; then
+elif test "$fortify_source" = "yes" ; then
CFLAGS="-O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 $CFLAGS"
fi
--
1.8.3.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* Re: [Qemu-devel] [PULL 00/14] Misc changes for QEMU 2.4-rc1
2015-11-04 16:18 [Qemu-devel] [PULL 00/14] Misc changes for QEMU 2.4-rc1 Paolo Bonzini
` (13 preceding siblings ...)
2015-11-04 16:18 ` [Qemu-devel] [PULL 14/14] configure: disable FORTIFY_SOURCE under clang Paolo Bonzini
@ 2015-11-04 16:34 ` Peter Maydell
2015-11-04 16:36 ` Paolo Bonzini
2015-11-05 4:58 ` Fam Zheng
2015-11-04 16:53 ` Denis V. Lunev
15 siblings, 2 replies; 20+ messages in thread
From: Peter Maydell @ 2015-11-04 16:34 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: QEMU Developers
On 4 November 2015 at 16:18, Paolo Bonzini <pbonzini@redhat.com> wrote:
> The following changes since commit 7bc8e0c967a4ef77657174d28af775691e18b4ce:
>
> Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging (2015-10-29 09:49:52 +0000)
>
> are available in the git repository at:
>
>
> git://github.com/bonzini/qemu.git tags/for-upstream
>
> for you to fetch changes up to 8670e274ef292086e109ada29e072ef27d68177b:
>
> configure: disable FORTIFY_SOURCE under clang (2015-11-04 15:56:05 +0100)
>
> ----------------------------------------------------------------
> * Guest ABI fixes for PC machines (hw_version)
> * Fixes for recent Perl
> * John Snow's configure fixes
> * file-backed RAM improvements (Igor, Pavel)
> * -Werror=clobbered fixes (Stefan)
> * Kill -d ioport
> * Fix qemu-system-s390x
Is the 2.4 in the subject a typo, or are these two pulls
targeting a stable branch rather than master?
thanks
-- PMM
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Qemu-devel] [PULL 00/14] Misc changes for QEMU 2.4-rc1
2015-11-04 16:34 ` [Qemu-devel] [PULL 00/14] Misc changes for QEMU 2.4-rc1 Peter Maydell
@ 2015-11-04 16:36 ` Paolo Bonzini
2015-11-05 4:58 ` Fam Zheng
1 sibling, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2015-11-04 16:36 UTC (permalink / raw)
To: Peter Maydell; +Cc: QEMU Developers
On 04/11/2015 17:34, Peter Maydell wrote:
>> > * Guest ABI fixes for PC machines (hw_version)
>> > * Fixes for recent Perl
>> > * John Snow's configure fixes
>> > * file-backed RAM improvements (Igor, Pavel)
>> > * -Werror=clobbered fixes (Stefan)
>> > * Kill -d ioport
>> > * Fix qemu-system-s390x
> Is the 2.4 in the subject a typo, or are these two pulls
> targeting a stable branch rather than master?
It's a typo.
Paolo
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Qemu-devel] [PULL 00/14] Misc changes for QEMU 2.4-rc1
2015-11-04 16:18 [Qemu-devel] [PULL 00/14] Misc changes for QEMU 2.4-rc1 Paolo Bonzini
` (14 preceding siblings ...)
2015-11-04 16:34 ` [Qemu-devel] [PULL 00/14] Misc changes for QEMU 2.4-rc1 Peter Maydell
@ 2015-11-04 16:53 ` Denis V. Lunev
15 siblings, 0 replies; 20+ messages in thread
From: Denis V. Lunev @ 2015-11-04 16:53 UTC (permalink / raw)
To: Paolo Bonzini, qemu-devel
On 11/04/2015 07:18 PM, Paolo Bonzini wrote:
> The following changes since commit 7bc8e0c967a4ef77657174d28af775691e18b4ce:
>
> Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging (2015-10-29 09:49:52 +0000)
>
> are available in the git repository at:
>
>
> git://github.com/bonzini/qemu.git tags/for-upstream
>
> for you to fetch changes up to 8670e274ef292086e109ada29e072ef27d68177b:
>
> configure: disable FORTIFY_SOURCE under clang (2015-11-04 15:56:05 +0100)
>
> ----------------------------------------------------------------
> * Guest ABI fixes for PC machines (hw_version)
> * Fixes for recent Perl
> * John Snow's configure fixes
> * file-backed RAM improvements (Igor, Pavel)
> * -Werror=clobbered fixes (Stefan)
> * Kill -d ioport
> * Fix qemu-system-s390x
>
> ----------------------------------------------------------------
> Eduardo Habkost (3):
> pc: Set hw_version on all machine classes
> osdep: Rename qemu_{get, set}_version() to qemu_{, set_}hw_version()
> megasas: Use qemu_hw_version() instead of QEMU_VERSION
>
> Fam Zheng (2):
> scripts/text2pod.pl: Escape left brace
> iscsi: Translate scsi sense into error code
>
> Igor Mammedov (1):
> file_ram_alloc: propagate error to caller instead of terminating QEMU
>
> John Snow (2):
> configure: disallow ccache during compile tests
> configure: disable FORTIFY_SOURCE under clang
>
> Paolo Bonzini (4):
> target-i386: fix pcmpxstrx equal-ordered (strstr) mode
> ioport: do not use CPU_LOG_IOPORT
> qemu-log: remove -d ioport
> memory: call begin, log_start and commit when registering a new listener
>
> Pavel Fedin (1):
> backends/hostmem-file: Allow to specify full pathname for backing file
>
> Stefan Weil (1):
> cpu-exec: Fix compiler warning (-Werror=clobbered)
>
> block/iscsi.c | 63 ++++++++++++++++++++++++++++++++++++++++++++-------
> configure | 21 ++++++++++++++++-
> cpu-exec.c | 18 ++++++++++++---
> exec.c | 40 +++++++++++++++++---------------
> hw/arm/nseries.c | 2 +-
> hw/i386/pc_piix.c | 13 +++++++++++
> hw/i386/pc_q35.c | 10 ++++++++
> hw/ide/core.c | 2 +-
> hw/scsi/megasas.c | 2 +-
> hw/scsi/scsi-bus.c | 2 +-
> hw/scsi/scsi-disk.c | 2 +-
> include/qemu/log.h | 1 -
> include/qemu/osdep.h | 4 ++--
> ioport.c | 26 +++++----------------
> memory.c | 9 ++++++++
> qemu-doc.texi | 2 +-
> qemu-log.c | 2 --
> scripts/texi2pod.pl | 2 +-
> target-i386/cpu.c | 2 +-
> target-i386/ops_sse.h | 4 ++--
> trace-events | 4 ++--
> util/osdep.c | 10 ++++----
> vl.c | 2 +-
> 23 files changed, 170 insertions(+), 73 deletions(-)
do you mean 2,5? :)
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Qemu-devel] [PULL 00/14] Misc changes for QEMU 2.4-rc1
2015-11-04 16:34 ` [Qemu-devel] [PULL 00/14] Misc changes for QEMU 2.4-rc1 Peter Maydell
2015-11-04 16:36 ` Paolo Bonzini
@ 2015-11-05 4:58 ` Fam Zheng
2015-11-05 8:02 ` Peter Maydell
1 sibling, 1 reply; 20+ messages in thread
From: Fam Zheng @ 2015-11-05 4:58 UTC (permalink / raw)
To: Peter Maydell; +Cc: Paolo Bonzini, QEMU Developers
On Wed, 11/04 16:34, Peter Maydell wrote:
> On 4 November 2015 at 16:18, Paolo Bonzini <pbonzini@redhat.com> wrote:
> > The following changes since commit 7bc8e0c967a4ef77657174d28af775691e18b4ce:
> >
> > Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging (2015-10-29 09:49:52 +0000)
> >
> > are available in the git repository at:
> >
> >
> > git://github.com/bonzini/qemu.git tags/for-upstream
> >
> > for you to fetch changes up to 8670e274ef292086e109ada29e072ef27d68177b:
> >
> > configure: disable FORTIFY_SOURCE under clang (2015-11-04 15:56:05 +0100)
> >
> > ----------------------------------------------------------------
> > * Guest ABI fixes for PC machines (hw_version)
> > * Fixes for recent Perl
> > * John Snow's configure fixes
> > * file-backed RAM improvements (Igor, Pavel)
> > * -Werror=clobbered fixes (Stefan)
> > * Kill -d ioport
> > * Fix qemu-system-s390x
>
> Is the 2.4 in the subject a typo, or are these two pulls
> targeting a stable branch rather than master?
>
Please drop 13/14 'iscsi: Translate scsi sense into error code' when applying.
I need to send a new version.
Fam
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Qemu-devel] [PULL 00/14] Misc changes for QEMU 2.4-rc1
2015-11-05 4:58 ` Fam Zheng
@ 2015-11-05 8:02 ` Peter Maydell
0 siblings, 0 replies; 20+ messages in thread
From: Peter Maydell @ 2015-11-05 8:02 UTC (permalink / raw)
To: Fam Zheng; +Cc: Paolo Bonzini, QEMU Developers
On 5 November 2015 at 04:58, Fam Zheng <famz@redhat.com> wrote:
> On Wed, 11/04 16:34, Peter Maydell wrote:
>> On 4 November 2015 at 16:18, Paolo Bonzini <pbonzini@redhat.com> wrote:
>> > The following changes since commit 7bc8e0c967a4ef77657174d28af775691e18b4ce:
>> >
>> > Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging (2015-10-29 09:49:52 +0000)
>> >
>> > are available in the git repository at:
>> >
>> >
>> > git://github.com/bonzini/qemu.git tags/for-upstream
>> >
>> > for you to fetch changes up to 8670e274ef292086e109ada29e072ef27d68177b:
>> >
>> > configure: disable FORTIFY_SOURCE under clang (2015-11-04 15:56:05 +0100)
>> >
>> > ----------------------------------------------------------------
>> > * Guest ABI fixes for PC machines (hw_version)
>> > * Fixes for recent Perl
>> > * John Snow's configure fixes
>> > * file-backed RAM improvements (Igor, Pavel)
>> > * -Werror=clobbered fixes (Stefan)
>> > * Kill -d ioport
>> > * Fix qemu-system-s390x
>>
>> Is the 2.4 in the subject a typo, or are these two pulls
>> targeting a stable branch rather than master?
>>
>
> Please drop 13/14 'iscsi: Translate scsi sense into error code' when applying.
> I need to send a new version.
Paolo will need to respin and resend the pull request:
it's not possible for me to adjust which parts of a pull
I apply to master.
thanks
-- PMM
^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2015-11-05 8:02 UTC | newest]
Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-04 16:18 [Qemu-devel] [PULL 00/14] Misc changes for QEMU 2.4-rc1 Paolo Bonzini
2015-11-04 16:18 ` [Qemu-devel] [PULL 01/14] file_ram_alloc: propagate error to caller instead of terminating QEMU Paolo Bonzini
2015-11-04 16:18 ` [Qemu-devel] [PULL 02/14] scripts/text2pod.pl: Escape left brace Paolo Bonzini
2015-11-04 16:18 ` [Qemu-devel] [PULL 03/14] target-i386: fix pcmpxstrx equal-ordered (strstr) mode Paolo Bonzini
2015-11-04 16:18 ` [Qemu-devel] [PULL 04/14] ioport: do not use CPU_LOG_IOPORT Paolo Bonzini
2015-11-04 16:18 ` [Qemu-devel] [PULL 05/14] qemu-log: remove -d ioport Paolo Bonzini
2015-11-04 16:18 ` [Qemu-devel] [PULL 06/14] pc: Set hw_version on all machine classes Paolo Bonzini
2015-11-04 16:18 ` [Qemu-devel] [PULL 07/14] osdep: Rename qemu_{get, set}_version() to qemu_{, set_}hw_version() Paolo Bonzini
2015-11-04 16:18 ` [Qemu-devel] [PULL 08/14] megasas: Use qemu_hw_version() instead of QEMU_VERSION Paolo Bonzini
2015-11-04 16:18 ` [Qemu-devel] [PULL 09/14] memory: call begin, log_start and commit when registering a new listener Paolo Bonzini
2015-11-04 16:18 ` [Qemu-devel] [PULL 10/14] cpu-exec: Fix compiler warning (-Werror=clobbered) Paolo Bonzini
2015-11-04 16:18 ` [Qemu-devel] [PULL 11/14] configure: disallow ccache during compile tests Paolo Bonzini
2015-11-04 16:18 ` [Qemu-devel] [PULL 12/14] backends/hostmem-file: Allow to specify full pathname for backing file Paolo Bonzini
2015-11-04 16:18 ` [Qemu-devel] [PULL 13/14] iscsi: Translate scsi sense into error code Paolo Bonzini
2015-11-04 16:18 ` [Qemu-devel] [PULL 14/14] configure: disable FORTIFY_SOURCE under clang Paolo Bonzini
2015-11-04 16:34 ` [Qemu-devel] [PULL 00/14] Misc changes for QEMU 2.4-rc1 Peter Maydell
2015-11-04 16:36 ` Paolo Bonzini
2015-11-05 4:58 ` Fam Zheng
2015-11-05 8:02 ` Peter Maydell
2015-11-04 16:53 ` Denis V. Lunev
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).