* [Qemu-devel] [PULL 00/10] pc,net,MAINTAINERS,build updates
@ 2014-05-07 15:37 Michael S. Tsirkin
2014-05-07 15:37 ` [Qemu-devel] [PULL 01/10] acpi/pcihp.c: Rewrite acpi_pcihp_get_bsel using object_property_get_int Michael S. Tsirkin
` (10 more replies)
0 siblings, 11 replies; 13+ messages in thread
From: Michael S. Tsirkin @ 2014-05-07 15:37 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell, Anthony Liguori
The following changes since commit 9898370497da3f18e0c9555b65c858eabc78ab50:
Merge remote-tracking branch 'remotes/kraxel/tags/pull-smbios-2' into staging (2014-05-06 12:23:05 +0100)
are available in the git repository at:
git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
for you to fetch changes up to afc8362d0e858db08a98ea4c48cd5b06c7c71123:
MAINTAINERS: addresses for responsible disclosure (2014-05-07 18:36:37 +0300)
----------------------------------------------------------------
pc,net,MAINTAINERS,build updates
MAINTAINERS updated with link to the security process documentation
apic version modified to make more guests happy
On top of that, bugfixes all over the place
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
----------------------------------------------------------------
Gabriel L. Somlo (2):
pc: add compat_props placeholder for 2.0 machine type
apic: use emulated lapic version 0x14 on pc machines >= 2.1
Hervé Poussineau (1):
i8259: don't abort when trying to use level sensitive irqs
Kirill Batuzov (2):
acpi/pcihp.c: Rewrite acpi_pcihp_get_bsel using object_property_get_int
acpi-build: properly decrement objects' reference counters
Michael S. Tsirkin (2):
acpi: fix tables for no-hpet configuration
MAINTAINERS: addresses for responsible disclosure
Paolo Bonzini (3):
smbus: allow returning an error from reads
smbus: return -1 if nothing found at the given address
pm_smbus: correctly report unclaimed cycles
include/hw/i2c/smbus.h | 18 +++++------
include/hw/i386/apic_internal.h | 1 +
include/hw/i386/pc.h | 12 ++++++++
hw/acpi/pcihp.c | 18 ++++++-----
hw/i2c/pm_smbus.c | 63 +++++++++++++++++++++++++-------------
hw/i2c/smbus.c | 68 ++++++++++++++++++++++++++++-------------
hw/i386/acpi-build.c | 13 ++++++--
hw/i386/pc_piix.c | 4 +++
hw/i386/pc_q35.c | 4 +++
hw/intc/apic.c | 2 +-
hw/intc/apic_common.c | 1 +
hw/intc/i8259.c | 3 +-
MAINTAINERS | 7 +++++
13 files changed, 149 insertions(+), 65 deletions(-)
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Qemu-devel] [PULL 01/10] acpi/pcihp.c: Rewrite acpi_pcihp_get_bsel using object_property_get_int
2014-05-07 15:37 [Qemu-devel] [PULL 00/10] pc,net,MAINTAINERS,build updates Michael S. Tsirkin
@ 2014-05-07 15:37 ` Michael S. Tsirkin
2014-05-07 15:41 ` [Qemu-devel] [PULL 02/10] acpi-build: properly decrement objects' reference counters Michael S. Tsirkin
` (9 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: Michael S. Tsirkin @ 2014-05-07 15:37 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell, Anthony Liguori, Kirill Batuzov
From: Kirill Batuzov <batuzovk@ispras.ru>
acpi_pcihp_get_bsel implements functionality of object_property_get_int for
specific property named ACPI_PCIHP_PROP_BSEL, but fails to decrement object's
reference counter properly. Rewriting it using generic object_property_get_int
serves two purposes: reducing code duplication and fixing memory leak.
Signed-off-by: Kirill Batuzov <batuzovk@ispras.ru>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
hw/acpi/pcihp.c | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/hw/acpi/pcihp.c b/hw/acpi/pcihp.c
index f80c480..3b143b3 100644
--- a/hw/acpi/pcihp.c
+++ b/hw/acpi/pcihp.c
@@ -63,16 +63,18 @@ typedef struct AcpiPciHpFind {
static int acpi_pcihp_get_bsel(PCIBus *bus)
{
- QObject *o = object_property_get_qobject(OBJECT(bus),
- ACPI_PCIHP_PROP_BSEL, NULL);
- int64_t bsel = -1;
- if (o) {
- bsel = qint_get_int(qobject_to_qint(o));
- }
- if (bsel < 0) {
+ Error *local_err = NULL;
+ int64_t bsel = object_property_get_int(OBJECT(bus), ACPI_PCIHP_PROP_BSEL,
+ &local_err);
+
+ if (local_err || bsel < 0 || bsel >= ACPI_PCIHP_MAX_HOTPLUG_BUS) {
+ if (local_err) {
+ error_free(local_err);
+ }
return -1;
+ } else {
+ return bsel;
}
- return bsel;
}
static void acpi_pcihp_test_hotplug_bus(PCIBus *bus, void *opaque)
--
MST
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [Qemu-devel] [PULL 02/10] acpi-build: properly decrement objects' reference counters
2014-05-07 15:37 [Qemu-devel] [PULL 00/10] pc,net,MAINTAINERS,build updates Michael S. Tsirkin
2014-05-07 15:37 ` [Qemu-devel] [PULL 01/10] acpi/pcihp.c: Rewrite acpi_pcihp_get_bsel using object_property_get_int Michael S. Tsirkin
@ 2014-05-07 15:41 ` Michael S. Tsirkin
2014-05-07 15:41 ` [Qemu-devel] [PULL 03/10] acpi: fix tables for no-hpet configuration Michael S. Tsirkin
` (8 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: Michael S. Tsirkin @ 2014-05-07 15:41 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell, Anthony Liguori, Kirill Batuzov
From: Kirill Batuzov <batuzovk@ispras.ru>
Object returned by object_property_get_qobject needs its reference counter to
be decremented when it is not needed by caller anymore.
Signed-off-by: Kirill Batuzov <batuzovk@ispras.ru>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
hw/i386/acpi-build.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index c98df88..1ef8ca9 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -156,18 +156,21 @@ static void acpi_get_pm_info(AcpiPmInfo *pm)
} else {
pm->s3_disabled = false;
}
+ qobject_decref(o);
o = object_property_get_qobject(obj, ACPI_PM_PROP_S4_DISABLED, NULL);
if (o) {
pm->s4_disabled = qint_get_int(qobject_to_qint(o));
} else {
pm->s4_disabled = false;
}
+ qobject_decref(o);
o = object_property_get_qobject(obj, ACPI_PM_PROP_S4_VAL, NULL);
if (o) {
pm->s4_val = qint_get_int(qobject_to_qint(o));
} else {
pm->s4_val = false;
}
+ qobject_decref(o);
/* Fill in mandatory properties */
pm->sci_int = object_property_get_int(obj, ACPI_PM_PROP_SCI_INT, NULL);
@@ -973,6 +976,7 @@ static void build_pci_bus_end(PCIBus *bus, void *bus_state)
}
}
+ qobject_decref(bsel);
build_free_array(bus_table);
build_pci_bus_state_cleanup(child);
g_free(child);
@@ -1362,10 +1366,12 @@ static bool acpi_get_mcfg(AcpiMcfgInfo *mcfg)
return false;
}
mcfg->mcfg_base = qint_get_int(qobject_to_qint(o));
+ qobject_decref(o);
o = object_property_get_qobject(pci_host, PCIE_HOST_MCFG_SIZE, NULL);
assert(o);
mcfg->mcfg_size = qint_get_int(qobject_to_qint(o));
+ qobject_decref(o);
return true;
}
--
MST
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [Qemu-devel] [PULL 03/10] acpi: fix tables for no-hpet configuration
2014-05-07 15:37 [Qemu-devel] [PULL 00/10] pc,net,MAINTAINERS,build updates Michael S. Tsirkin
2014-05-07 15:37 ` [Qemu-devel] [PULL 01/10] acpi/pcihp.c: Rewrite acpi_pcihp_get_bsel using object_property_get_int Michael S. Tsirkin
2014-05-07 15:41 ` [Qemu-devel] [PULL 02/10] acpi-build: properly decrement objects' reference counters Michael S. Tsirkin
@ 2014-05-07 15:41 ` Michael S. Tsirkin
2014-05-07 15:41 ` [Qemu-devel] [PULL 04/10] i8259: don't abort when trying to use level sensitive irqs Michael S. Tsirkin
` (7 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: Michael S. Tsirkin @ 2014-05-07 15:41 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell, qemu-stable, Anthony Liguori, TeLeMan
acpi build tried to add offset of hpet table to rsdt even when hpet was
disabled. If no tables follow hpet, this could lead to a malformed
rsdt.
Fix it up.
To avoid such errors in the future, rearrange code slightly to make it
clear that acpi_add_table stores the offset of the following table - not
of the previous one.
Reported-by: TeLeMan <geleman@gmail.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Cc: qemu-stable@nongnu.org
---
hw/i386/acpi-build.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index 1ef8ca9..9fac589 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -1416,15 +1416,16 @@ void acpi_build(PcGuestInfo *guest_info, AcpiBuildTables *tables)
/* ACPI tables pointed to by RSDT */
acpi_add_table(table_offsets, tables->table_data);
build_fadt(tables->table_data, tables->linker, &pm, facs, dsdt);
- acpi_add_table(table_offsets, tables->table_data);
+ acpi_add_table(table_offsets, tables->table_data);
build_ssdt(tables->table_data, tables->linker, &cpu, &pm, &misc, &pci,
guest_info);
- acpi_add_table(table_offsets, tables->table_data);
- build_madt(tables->table_data, tables->linker, &cpu, guest_info);
acpi_add_table(table_offsets, tables->table_data);
+ build_madt(tables->table_data, tables->linker, &cpu, guest_info);
+
if (misc.has_hpet) {
+ acpi_add_table(table_offsets, tables->table_data);
build_hpet(tables->table_data, tables->linker);
}
if (guest_info->numa_nodes) {
--
MST
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [Qemu-devel] [PULL 04/10] i8259: don't abort when trying to use level sensitive irqs
2014-05-07 15:37 [Qemu-devel] [PULL 00/10] pc,net,MAINTAINERS,build updates Michael S. Tsirkin
` (2 preceding siblings ...)
2014-05-07 15:41 ` [Qemu-devel] [PULL 03/10] acpi: fix tables for no-hpet configuration Michael S. Tsirkin
@ 2014-05-07 15:41 ` Michael S. Tsirkin
2014-05-07 15:41 ` [Qemu-devel] [PULL 05/10] pc: add compat_props placeholder for 2.0 machine type Michael S. Tsirkin
` (6 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: Michael S. Tsirkin @ 2014-05-07 15:41 UTC (permalink / raw)
To: qemu-devel
Cc: Peter Maydell, Anthony Liguori,
=?UTF-8?q?Herv=C3=A9=20Poussineau?=, Alex Bligh, Paolo Bonzini,
=?UTF-8?q?Andreas=20F=C3=A4rber?=
From: Hervé Poussineau <hpoussin@reactos.org>
This is a guest-triggerable error, as seen when using Xenix 2.3.4.
Replace hw_error by LOG_UNIMPL, so that guests can continue.
With this patch, I can install and use Xenix 2.3.4a without any problem.
I can also start installation of Xenix 2.3.4q, but it fails due to not
finding an hard disk.
Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
hw/intc/i8259.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/hw/intc/i8259.c b/hw/intc/i8259.c
index c6f248b..a069d04 100644
--- a/hw/intc/i8259.c
+++ b/hw/intc/i8259.c
@@ -265,7 +265,8 @@ static void pic_ioport_write(void *opaque, hwaddr addr64,
s->init4 = val & 1;
s->single_mode = val & 2;
if (val & 0x08) {
- hw_error("level sensitive irq not supported");
+ qemu_log_mask(LOG_UNIMP,
+ "i8259: level sensitive irq not supported\n");
}
} else if (val & 0x08) {
if (val & 0x04) {
--
MST
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [Qemu-devel] [PULL 05/10] pc: add compat_props placeholder for 2.0 machine type
2014-05-07 15:37 [Qemu-devel] [PULL 00/10] pc,net,MAINTAINERS,build updates Michael S. Tsirkin
` (3 preceding siblings ...)
2014-05-07 15:41 ` [Qemu-devel] [PULL 04/10] i8259: don't abort when trying to use level sensitive irqs Michael S. Tsirkin
@ 2014-05-07 15:41 ` Michael S. Tsirkin
2014-05-07 15:41 ` [Qemu-devel] [PULL 06/10] apic: use emulated lapic version 0x14 on pc machines >= 2.1 Michael S. Tsirkin
` (5 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: Michael S. Tsirkin @ 2014-05-07 15:41 UTC (permalink / raw)
To: qemu-devel
Cc: Peter Maydell, Gabriel Somlo, Alexander Graf, Gabriel L. Somlo,
Anthony Liguori, =?UTF-8?q?Andreas=20F=C3=A4rber?=
From: "Gabriel L. Somlo" <gsomlo@gmail.com>
Add the "boilerplate" necessary for subsequent patches to
simply drop in compat_props for pc machines 2.0 and older.
This patch contains no functional changes.
Signed-off-by: Gabriel Somlo <somlo@cmu.edu>
Acked-by: Alexander Graf <agraf@suse.de>
Reviewed-by: Andreas Färber <afaerber@suse.de>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
include/hw/i386/pc.h | 9 +++++++++
hw/i386/pc_piix.c | 4 ++++
hw/i386/pc_q35.c | 4 ++++
3 files changed, 17 insertions(+)
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index 9f26e14..0ade0f1 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -242,8 +242,12 @@ int e820_add_entry(uint64_t, uint64_t, uint32_t);
int e820_get_num_entries(void);
bool e820_get_entry(int, uint32_t, uint64_t *, uint64_t *);
+#define PC_Q35_COMPAT_2_0 \
+ PC_COMPAT_2_0
+
#define PC_Q35_COMPAT_1_7 \
PC_COMPAT_1_7, \
+ PC_Q35_COMPAT_2_0, \
{\
.driver = "hpet",\
.property = HPET_INTCAP,\
@@ -262,7 +266,12 @@ bool e820_get_entry(int, uint32_t, uint64_t *, uint64_t *);
PC_COMPAT_1_4, \
PC_Q35_COMPAT_1_5
+#define PC_COMPAT_2_0 \
+ {\
+ }
+
#define PC_COMPAT_1_7 \
+ PC_COMPAT_2_0, \
{\
.driver = TYPE_USB_DEVICE,\
.property = "msos-desc",\
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index ea72502..eaf3e61 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -414,6 +414,10 @@ static QEMUMachine pc_i440fx_machine_v2_0 = {
PC_I440FX_2_0_MACHINE_OPTIONS,
.name = "pc-i440fx-2.0",
.init = pc_init_pci_2_0,
+ .compat_props = (GlobalProperty[]) {
+ PC_COMPAT_2_0,
+ { /* end of list */ }
+ },
};
#define PC_I440FX_1_7_MACHINE_OPTIONS PC_I440FX_MACHINE_OPTIONS
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index 3306f89..9517ec6 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -327,6 +327,10 @@ static QEMUMachine pc_q35_machine_v2_0 = {
PC_Q35_2_0_MACHINE_OPTIONS,
.name = "pc-q35-2.0",
.init = pc_q35_init_2_0,
+ .compat_props = (GlobalProperty[]) {
+ PC_Q35_COMPAT_2_0,
+ { /* end of list */ }
+ },
};
#define PC_Q35_1_7_MACHINE_OPTIONS PC_Q35_MACHINE_OPTIONS
--
MST
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [Qemu-devel] [PULL 06/10] apic: use emulated lapic version 0x14 on pc machines >= 2.1
2014-05-07 15:37 [Qemu-devel] [PULL 00/10] pc,net,MAINTAINERS,build updates Michael S. Tsirkin
` (4 preceding siblings ...)
2014-05-07 15:41 ` [Qemu-devel] [PULL 05/10] pc: add compat_props placeholder for 2.0 machine type Michael S. Tsirkin
@ 2014-05-07 15:41 ` Michael S. Tsirkin
2014-05-07 15:41 ` [Qemu-devel] [PULL 07/10] smbus: allow returning an error from reads Michael S. Tsirkin
` (4 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: Michael S. Tsirkin @ 2014-05-07 15:41 UTC (permalink / raw)
To: qemu-devel
Cc: Peter Maydell, Stefan Hajnoczi, xiaoqiang zhao, Stefan Weil,
Gabriel L. Somlo, Michael Tokarev, Alexander Graf,
Markus Armbruster, Gabriel L. Somlo, Anthony Liguori,
=?UTF-8?q?Andreas=20F=C3=A4rber?=
From: "Gabriel L. Somlo" <gsomlo@gmail.com>
Add "version" property to local apic, and have it default to
0x14 for pc machines starting at 2.1. For compatibility with
previous releases, pc machines up to 2.0 will have their local
apic version set to 0x11.
Signed-off-by: Gabriel L. Somlo <somlo@cmu.edu>
Acked-by: Alexander Graf <agraf@suse.de>
Reviewed-by: Andreas Färber <afaerber@suse.de>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
include/hw/i386/apic_internal.h | 1 +
include/hw/i386/pc.h | 3 +++
hw/intc/apic.c | 2 +-
hw/intc/apic_common.c | 1 +
4 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/include/hw/i386/apic_internal.h b/include/hw/i386/apic_internal.h
index 70542a6..83e2a42 100644
--- a/include/hw/i386/apic_internal.h
+++ b/include/hw/i386/apic_internal.h
@@ -98,6 +98,7 @@ struct APICCommonState {
X86CPU *cpu;
uint32_t apicbase;
uint8_t id;
+ uint8_t version;
uint8_t arb_id;
uint8_t tpr;
uint32_t spurious_vec;
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index 0ade0f1..32a7687 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -268,6 +268,9 @@ bool e820_get_entry(int, uint32_t, uint64_t *, uint64_t *);
#define PC_COMPAT_2_0 \
{\
+ .driver = "apic",\
+ .property = "version",\
+ .value = stringify(0x11),\
}
#define PC_COMPAT_1_7 \
diff --git a/hw/intc/apic.c b/hw/intc/apic.c
index 2f40cba..ef19e55 100644
--- a/hw/intc/apic.c
+++ b/hw/intc/apic.c
@@ -675,7 +675,7 @@ static uint32_t apic_mem_readl(void *opaque, hwaddr addr)
val = s->id << 24;
break;
case 0x03: /* version */
- val = 0x11 | ((APIC_LVT_NB - 1) << 16); /* version 0x11 */
+ val = s->version | ((APIC_LVT_NB - 1) << 16);
break;
case 0x08:
apic_sync_vapic(s, SYNC_FROM_VAPIC);
diff --git a/hw/intc/apic_common.c b/hw/intc/apic_common.c
index 7ecce2d..7137653 100644
--- a/hw/intc/apic_common.c
+++ b/hw/intc/apic_common.c
@@ -380,6 +380,7 @@ static const VMStateDescription vmstate_apic_common = {
static Property apic_properties_common[] = {
DEFINE_PROP_UINT8("id", APICCommonState, id, -1),
+ DEFINE_PROP_UINT8("version", APICCommonState, version, 0x14),
DEFINE_PROP_BIT("vapic", APICCommonState, vapic_control, VAPIC_ENABLE_BIT,
true),
DEFINE_PROP_END_OF_LIST(),
--
MST
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [Qemu-devel] [PULL 07/10] smbus: allow returning an error from reads
2014-05-07 15:37 [Qemu-devel] [PULL 00/10] pc,net,MAINTAINERS,build updates Michael S. Tsirkin
` (5 preceding siblings ...)
2014-05-07 15:41 ` [Qemu-devel] [PULL 06/10] apic: use emulated lapic version 0x14 on pc machines >= 2.1 Michael S. Tsirkin
@ 2014-05-07 15:41 ` Michael S. Tsirkin
2014-05-07 15:41 ` [Qemu-devel] [PULL 08/10] smbus: return -1 if nothing found at the given address Michael S. Tsirkin
` (3 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: Michael S. Tsirkin @ 2014-05-07 15:41 UTC (permalink / raw)
To: qemu-devel
Cc: Peter Maydell, Peter Crosthwaite,
=?UTF-8?q?Andreas=20F=C3=A4rber?=, Anthony Liguori, Paolo Bonzini
From: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Andreas Färber <afaerber@suse.de>
---
include/hw/i2c/smbus.h | 6 +++---
hw/i2c/smbus.c | 6 +++---
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/include/hw/i2c/smbus.h b/include/hw/i2c/smbus.h
index 63f0cc4..285d3b5 100644
--- a/include/hw/i2c/smbus.h
+++ b/include/hw/i2c/smbus.h
@@ -67,11 +67,11 @@ struct SMBusDevice {
/* Master device commands. */
void smbus_quick_command(I2CBus *bus, uint8_t addr, int read);
-uint8_t smbus_receive_byte(I2CBus *bus, uint8_t addr);
+int smbus_receive_byte(I2CBus *bus, uint8_t addr);
void smbus_send_byte(I2CBus *bus, uint8_t addr, uint8_t data);
-uint8_t smbus_read_byte(I2CBus *bus, uint8_t addr, uint8_t command);
+int smbus_read_byte(I2CBus *bus, uint8_t addr, uint8_t command);
void smbus_write_byte(I2CBus *bus, uint8_t addr, uint8_t command, uint8_t data);
-uint16_t smbus_read_word(I2CBus *bus, uint8_t addr, uint8_t command);
+int smbus_read_word(I2CBus *bus, uint8_t addr, uint8_t command);
void smbus_write_word(I2CBus *bus, uint8_t addr, uint8_t command, uint16_t data);
int smbus_read_block(I2CBus *bus, uint8_t addr, uint8_t command, uint8_t *data);
void smbus_write_block(I2CBus *bus, uint8_t addr, uint8_t command, uint8_t *data,
diff --git a/hw/i2c/smbus.c b/hw/i2c/smbus.c
index 3febf3c..190f08e 100644
--- a/hw/i2c/smbus.c
+++ b/hw/i2c/smbus.c
@@ -214,7 +214,7 @@ void smbus_quick_command(I2CBus *bus, uint8_t addr, int read)
i2c_end_transfer(bus);
}
-uint8_t smbus_receive_byte(I2CBus *bus, uint8_t addr)
+int smbus_receive_byte(I2CBus *bus, uint8_t addr)
{
uint8_t data;
@@ -232,7 +232,7 @@ void smbus_send_byte(I2CBus *bus, uint8_t addr, uint8_t data)
i2c_end_transfer(bus);
}
-uint8_t smbus_read_byte(I2CBus *bus, uint8_t addr, uint8_t command)
+int smbus_read_byte(I2CBus *bus, uint8_t addr, uint8_t command)
{
uint8_t data;
i2c_start_transfer(bus, addr, 0);
@@ -252,7 +252,7 @@ void smbus_write_byte(I2CBus *bus, uint8_t addr, uint8_t command, uint8_t data)
i2c_end_transfer(bus);
}
-uint16_t smbus_read_word(I2CBus *bus, uint8_t addr, uint8_t command)
+int smbus_read_word(I2CBus *bus, uint8_t addr, uint8_t command)
{
uint16_t data;
i2c_start_transfer(bus, addr, 0);
--
MST
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [Qemu-devel] [PULL 08/10] smbus: return -1 if nothing found at the given address
2014-05-07 15:37 [Qemu-devel] [PULL 00/10] pc,net,MAINTAINERS,build updates Michael S. Tsirkin
` (6 preceding siblings ...)
2014-05-07 15:41 ` [Qemu-devel] [PULL 07/10] smbus: allow returning an error from reads Michael S. Tsirkin
@ 2014-05-07 15:41 ` Michael S. Tsirkin
2014-05-07 15:42 ` [Qemu-devel] [PULL 09/10] pm_smbus: correctly report unclaimed cycles Michael S. Tsirkin
` (2 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: Michael S. Tsirkin @ 2014-05-07 15:41 UTC (permalink / raw)
To: qemu-devel
Cc: Peter Maydell, Peter Crosthwaite,
=?UTF-8?q?Andreas=20F=C3=A4rber?=, Anthony Liguori, Paolo Bonzini
From: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Andreas Färber <afaerber@suse.de>
---
include/hw/i2c/smbus.h | 12 +++++-----
hw/i2c/smbus.c | 62 +++++++++++++++++++++++++++++++++++---------------
2 files changed, 50 insertions(+), 24 deletions(-)
diff --git a/include/hw/i2c/smbus.h b/include/hw/i2c/smbus.h
index 285d3b5..544bbc1 100644
--- a/include/hw/i2c/smbus.h
+++ b/include/hw/i2c/smbus.h
@@ -66,16 +66,16 @@ struct SMBusDevice {
};
/* Master device commands. */
-void smbus_quick_command(I2CBus *bus, uint8_t addr, int read);
+int smbus_quick_command(I2CBus *bus, uint8_t addr, int read);
int smbus_receive_byte(I2CBus *bus, uint8_t addr);
-void smbus_send_byte(I2CBus *bus, uint8_t addr, uint8_t data);
+int smbus_send_byte(I2CBus *bus, uint8_t addr, uint8_t data);
int smbus_read_byte(I2CBus *bus, uint8_t addr, uint8_t command);
-void smbus_write_byte(I2CBus *bus, uint8_t addr, uint8_t command, uint8_t data);
+int smbus_write_byte(I2CBus *bus, uint8_t addr, uint8_t command, uint8_t data);
int smbus_read_word(I2CBus *bus, uint8_t addr, uint8_t command);
-void smbus_write_word(I2CBus *bus, uint8_t addr, uint8_t command, uint16_t data);
+int smbus_write_word(I2CBus *bus, uint8_t addr, uint8_t command, uint16_t data);
int smbus_read_block(I2CBus *bus, uint8_t addr, uint8_t command, uint8_t *data);
-void smbus_write_block(I2CBus *bus, uint8_t addr, uint8_t command, uint8_t *data,
- int len);
+int smbus_write_block(I2CBus *bus, uint8_t addr, uint8_t command, uint8_t *data,
+ int len);
void smbus_eeprom_init(I2CBus *smbus, int nb_eeprom,
const uint8_t *eeprom_spd, int size);
diff --git a/hw/i2c/smbus.c b/hw/i2c/smbus.c
index 190f08e..6e27ae8 100644
--- a/hw/i2c/smbus.c
+++ b/hw/i2c/smbus.c
@@ -208,34 +208,44 @@ static int smbus_device_init(I2CSlave *i2c)
}
/* Master device commands. */
-void smbus_quick_command(I2CBus *bus, uint8_t addr, int read)
+int smbus_quick_command(I2CBus *bus, uint8_t addr, int read)
{
- i2c_start_transfer(bus, addr, read);
+ if (i2c_start_transfer(bus, addr, read)) {
+ return -1;
+ }
i2c_end_transfer(bus);
+ return 0;
}
int smbus_receive_byte(I2CBus *bus, uint8_t addr)
{
uint8_t data;
- i2c_start_transfer(bus, addr, 1);
+ if (i2c_start_transfer(bus, addr, 1)) {
+ return -1;
+ }
data = i2c_recv(bus);
i2c_nack(bus);
i2c_end_transfer(bus);
return data;
}
-void smbus_send_byte(I2CBus *bus, uint8_t addr, uint8_t data)
+int smbus_send_byte(I2CBus *bus, uint8_t addr, uint8_t data)
{
- i2c_start_transfer(bus, addr, 0);
+ if (i2c_start_transfer(bus, addr, 0)) {
+ return -1;
+ }
i2c_send(bus, data);
i2c_end_transfer(bus);
+ return 0;
}
int smbus_read_byte(I2CBus *bus, uint8_t addr, uint8_t command)
{
uint8_t data;
- i2c_start_transfer(bus, addr, 0);
+ if (i2c_start_transfer(bus, addr, 0)) {
+ return -1;
+ }
i2c_send(bus, command);
i2c_start_transfer(bus, addr, 1);
data = i2c_recv(bus);
@@ -244,18 +254,23 @@ int smbus_read_byte(I2CBus *bus, uint8_t addr, uint8_t command)
return data;
}
-void smbus_write_byte(I2CBus *bus, uint8_t addr, uint8_t command, uint8_t data)
+int smbus_write_byte(I2CBus *bus, uint8_t addr, uint8_t command, uint8_t data)
{
- i2c_start_transfer(bus, addr, 0);
+ if (i2c_start_transfer(bus, addr, 0)) {
+ return -1;
+ }
i2c_send(bus, command);
i2c_send(bus, data);
i2c_end_transfer(bus);
+ return 0;
}
int smbus_read_word(I2CBus *bus, uint8_t addr, uint8_t command)
{
uint16_t data;
- i2c_start_transfer(bus, addr, 0);
+ if (i2c_start_transfer(bus, addr, 0)) {
+ return -1;
+ }
i2c_send(bus, command);
i2c_start_transfer(bus, addr, 1);
data = i2c_recv(bus);
@@ -265,13 +280,16 @@ int smbus_read_word(I2CBus *bus, uint8_t addr, uint8_t command)
return data;
}
-void smbus_write_word(I2CBus *bus, uint8_t addr, uint8_t command, uint16_t data)
+int smbus_write_word(I2CBus *bus, uint8_t addr, uint8_t command, uint16_t data)
{
- i2c_start_transfer(bus, addr, 0);
+ if (i2c_start_transfer(bus, addr, 0)) {
+ return -1;
+ }
i2c_send(bus, command);
i2c_send(bus, data & 0xff);
i2c_send(bus, data >> 8);
i2c_end_transfer(bus);
+ return 0;
}
int smbus_read_block(I2CBus *bus, uint8_t addr, uint8_t command, uint8_t *data)
@@ -279,33 +297,41 @@ int smbus_read_block(I2CBus *bus, uint8_t addr, uint8_t command, uint8_t *data)
int len;
int i;
- i2c_start_transfer(bus, addr, 0);
+ if (i2c_start_transfer(bus, addr, 0)) {
+ return -1;
+ }
i2c_send(bus, command);
i2c_start_transfer(bus, addr, 1);
len = i2c_recv(bus);
- if (len > 32)
+ if (len > 32) {
len = 0;
- for (i = 0; i < len; i++)
+ }
+ for (i = 0; i < len; i++) {
data[i] = i2c_recv(bus);
+ }
i2c_nack(bus);
i2c_end_transfer(bus);
return len;
}
-void smbus_write_block(I2CBus *bus, uint8_t addr, uint8_t command, uint8_t *data,
- int len)
+int smbus_write_block(I2CBus *bus, uint8_t addr, uint8_t command, uint8_t *data,
+ int len)
{
int i;
if (len > 32)
len = 32;
- i2c_start_transfer(bus, addr, 0);
+ if (i2c_start_transfer(bus, addr, 0)) {
+ return -1;
+ }
i2c_send(bus, command);
i2c_send(bus, len);
- for (i = 0; i < len; i++)
+ for (i = 0; i < len; i++) {
i2c_send(bus, data[i]);
+ }
i2c_end_transfer(bus);
+ return 0;
}
static void smbus_device_class_init(ObjectClass *klass, void *data)
--
MST
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [Qemu-devel] [PULL 09/10] pm_smbus: correctly report unclaimed cycles
2014-05-07 15:37 [Qemu-devel] [PULL 00/10] pc,net,MAINTAINERS,build updates Michael S. Tsirkin
` (7 preceding siblings ...)
2014-05-07 15:41 ` [Qemu-devel] [PULL 08/10] smbus: return -1 if nothing found at the given address Michael S. Tsirkin
@ 2014-05-07 15:42 ` Michael S. Tsirkin
2014-05-07 15:42 ` [Qemu-devel] [PULL 10/10] MAINTAINERS: addresses for responsible disclosure Michael S. Tsirkin
2014-05-07 16:13 ` [Qemu-devel] [PULL 00/10] pc,net,MAINTAINERS,build updates Peter Maydell
10 siblings, 0 replies; 13+ messages in thread
From: Michael S. Tsirkin @ 2014-05-07 15:42 UTC (permalink / raw)
To: qemu-devel
Cc: Peter Maydell, Peter Crosthwaite, Anthony Liguori,
Anthony Liguori, Paolo Bonzini, MRatnikov,
=?UTF-8?q?Andreas=20F=C3=A4rber?=
From: Paolo Bonzini <pbonzini@redhat.com>
Without this patch, i2cdetect will report all addresses as present.
With it, only 0x50..0x57 are present.
Before:
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
10: 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
20: 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
30: 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f
40: 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f
50: 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f
60: 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f
70: 70 71 72 73 74 75 76 77
After:
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: 50 51 52 53 54 55 56 57 -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Andreas Färber <afaerber@suse.de>
---
hw/i2c/pm_smbus.c | 63 ++++++++++++++++++++++++++++++++++++-------------------
1 file changed, 41 insertions(+), 22 deletions(-)
diff --git a/hw/i2c/pm_smbus.c b/hw/i2c/pm_smbus.c
index 9f50067..fedb5fb 100644
--- a/hw/i2c/pm_smbus.c
+++ b/hw/i2c/pm_smbus.c
@@ -60,59 +60,78 @@ static void smb_transaction(PMSMBus *s)
uint8_t cmd = s->smb_cmd;
uint8_t addr = s->smb_addr >> 1;
I2CBus *bus = s->smbus;
+ int ret;
SMBUS_DPRINTF("SMBus trans addr=0x%02x prot=0x%02x\n", addr, prot);
/* Transaction isn't exec if STS_DEV_ERR bit set */
if ((s->smb_stat & STS_DEV_ERR) != 0) {
- goto error;
- }
+ goto error;
+ }
switch(prot) {
case 0x0:
- smbus_quick_command(bus, addr, read);
- s->smb_stat |= STS_BYTE_DONE | STS_INTR;
- break;
+ ret = smbus_quick_command(bus, addr, read);
+ goto done;
case 0x1:
if (read) {
- s->smb_data0 = smbus_receive_byte(bus, addr);
+ ret = smbus_receive_byte(bus, addr);
+ goto data8;
} else {
- smbus_send_byte(bus, addr, cmd);
+ ret = smbus_send_byte(bus, addr, cmd);
+ goto done;
}
- s->smb_stat |= STS_BYTE_DONE | STS_INTR;
- break;
case 0x2:
if (read) {
- s->smb_data0 = smbus_read_byte(bus, addr, cmd);
+ ret = smbus_read_byte(bus, addr, cmd);
+ goto data8;
} else {
- smbus_write_byte(bus, addr, cmd, s->smb_data0);
+ ret = smbus_write_byte(bus, addr, cmd, s->smb_data0);
+ goto done;
}
- s->smb_stat |= STS_BYTE_DONE | STS_INTR;
break;
case 0x3:
if (read) {
- uint16_t val;
- val = smbus_read_word(bus, addr, cmd);
- s->smb_data0 = val;
- s->smb_data1 = val >> 8;
+ ret = smbus_read_word(bus, addr, cmd);
+ goto data16;
} else {
- smbus_write_word(bus, addr, cmd, (s->smb_data1 << 8) | s->smb_data0);
+ ret = smbus_write_word(bus, addr, cmd, (s->smb_data1 << 8) | s->smb_data0);
+ goto done;
}
- s->smb_stat |= STS_BYTE_DONE | STS_INTR;
break;
case 0x5:
if (read) {
- s->smb_data0 = smbus_read_block(bus, addr, cmd, s->smb_data);
+ ret = smbus_read_block(bus, addr, cmd, s->smb_data);
+ goto data8;
} else {
- smbus_write_block(bus, addr, cmd, s->smb_data, s->smb_data0);
+ ret = smbus_write_block(bus, addr, cmd, s->smb_data, s->smb_data0);
+ goto done;
}
- s->smb_stat |= STS_BYTE_DONE | STS_INTR;
break;
default:
goto error;
}
+ abort();
+
+data16:
+ if (ret < 0) {
+ goto error;
+ }
+ s->smb_data1 = ret >> 8;
+data8:
+ if (ret < 0) {
+ goto error;
+ }
+ s->smb_data0 = ret;
+done:
+ if (ret < 0) {
+ goto error;
+ }
+ s->smb_stat |= STS_BYTE_DONE | STS_INTR;
return;
- error:
+error:
s->smb_stat |= STS_DEV_ERR;
+ return;
+
}
static void smb_ioport_writeb(void *opaque, hwaddr addr, uint64_t val,
--
MST
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [Qemu-devel] [PULL 10/10] MAINTAINERS: addresses for responsible disclosure
2014-05-07 15:37 [Qemu-devel] [PULL 00/10] pc,net,MAINTAINERS,build updates Michael S. Tsirkin
` (8 preceding siblings ...)
2014-05-07 15:42 ` [Qemu-devel] [PULL 09/10] pm_smbus: correctly report unclaimed cycles Michael S. Tsirkin
@ 2014-05-07 15:42 ` Michael S. Tsirkin
2014-05-07 16:13 ` [Qemu-devel] [PULL 00/10] pc,net,MAINTAINERS,build updates Peter Maydell
10 siblings, 0 replies; 13+ messages in thread
From: Michael S. Tsirkin @ 2014-05-07 15:42 UTC (permalink / raw)
To: qemu-devel; +Cc: Kevin Wolf, Peter Maydell, Stefan Hajnoczi, Anthony Liguori
Adding addresses to MAINTAINERS, as agreed on the last conference call:
http://wiki.qemu.org/SecurityProcess
People sometimes detect security issues in upstream
QEMU and don't know where to report them in a non-public way.
Of course whoever just wants full disclosure can just go public,
but there's nothing specified for non-public - until recently Anthony
was doing this informally.
As I started doing this recently anyway, I can handle this on the QEMU side
in a more formal way.
Adding a secalert mailing list as well - they are the ones who is actually
opening CVEs, communicating issues to all downstreams etc,
and they are already handling this for upstream, not just Red Hat.
Keeping Anthony's address around in case he wants to be informed.
Peter Maydell said that he prefers not to be on this contact list at
this point.
A public mailing list has been created - not listing it here yet -
until we know how to set it up in a secure fashion and
until there are more people so manually copying everyone
becomes unwieldy for reporters.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
MAINTAINERS | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index b287ef8..3f1ad12 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -52,6 +52,13 @@ General Project Administration
------------------------------
M: Anthony Liguori <aliguori@amazon.com>
+Responsible Disclosure, Reporting Security Issues
+------------------------------
+W: http://wiki.qemu.org/SecurityProcess
+M: Michael S. Tsirkin <mst@redhat.com>
+M: Anthony Liguori <aliguori@amazon.com>
+L: secalert@redhat.com
+
Guest CPU cores (TCG):
----------------------
Alpha
--
MST
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] [PULL 00/10] pc,net,MAINTAINERS,build updates
2014-05-07 15:37 [Qemu-devel] [PULL 00/10] pc,net,MAINTAINERS,build updates Michael S. Tsirkin
` (9 preceding siblings ...)
2014-05-07 15:42 ` [Qemu-devel] [PULL 10/10] MAINTAINERS: addresses for responsible disclosure Michael S. Tsirkin
@ 2014-05-07 16:13 ` Peter Maydell
2014-05-07 16:17 ` Michael S. Tsirkin
10 siblings, 1 reply; 13+ messages in thread
From: Peter Maydell @ 2014-05-07 16:13 UTC (permalink / raw)
To: Michael S. Tsirkin; +Cc: QEMU Developers, Anthony Liguori
On 7 May 2014 16:37, Michael S. Tsirkin <mst@redhat.com> wrote:
> The following changes since commit 9898370497da3f18e0c9555b65c858eabc78ab50:
>
> Merge remote-tracking branch 'remotes/kraxel/tags/pull-smbios-2' into staging (2014-05-06 12:23:05 +0100)
>
> are available in the git repository at:
>
>
> git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
>
> for you to fetch changes up to afc8362d0e858db08a98ea4c48cd5b06c7c71123:
>
> MAINTAINERS: addresses for responsible disclosure (2014-05-07 18:36:37 +0300)
Not all the patches in this pull have your signed-off-by: can
I get you to update it, please?
thanks
-- PMM
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] [PULL 00/10] pc,net,MAINTAINERS,build updates
2014-05-07 16:13 ` [Qemu-devel] [PULL 00/10] pc,net,MAINTAINERS,build updates Peter Maydell
@ 2014-05-07 16:17 ` Michael S. Tsirkin
0 siblings, 0 replies; 13+ messages in thread
From: Michael S. Tsirkin @ 2014-05-07 16:17 UTC (permalink / raw)
To: Peter Maydell; +Cc: QEMU Developers, Anthony Liguori
On Wed, May 07, 2014 at 05:13:06PM +0100, Peter Maydell wrote:
> On 7 May 2014 16:37, Michael S. Tsirkin <mst@redhat.com> wrote:
> > The following changes since commit 9898370497da3f18e0c9555b65c858eabc78ab50:
> >
> > Merge remote-tracking branch 'remotes/kraxel/tags/pull-smbios-2' into staging (2014-05-06 12:23:05 +0100)
> >
> > are available in the git repository at:
> >
> >
> > git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
> >
> > for you to fetch changes up to afc8362d0e858db08a98ea4c48cd5b06c7c71123:
> >
> > MAINTAINERS: addresses for responsible disclosure (2014-05-07 18:36:37 +0300)
>
> Not all the patches in this pull have your signed-off-by: can
> I get you to update it, please?
>
> thanks
> -- PMM
ok I sent v2, though when patches are from Paolo and have my ack
this is probably not strictly necessary for reasons legal or practical ...
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2014-05-07 16:19 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-07 15:37 [Qemu-devel] [PULL 00/10] pc,net,MAINTAINERS,build updates Michael S. Tsirkin
2014-05-07 15:37 ` [Qemu-devel] [PULL 01/10] acpi/pcihp.c: Rewrite acpi_pcihp_get_bsel using object_property_get_int Michael S. Tsirkin
2014-05-07 15:41 ` [Qemu-devel] [PULL 02/10] acpi-build: properly decrement objects' reference counters Michael S. Tsirkin
2014-05-07 15:41 ` [Qemu-devel] [PULL 03/10] acpi: fix tables for no-hpet configuration Michael S. Tsirkin
2014-05-07 15:41 ` [Qemu-devel] [PULL 04/10] i8259: don't abort when trying to use level sensitive irqs Michael S. Tsirkin
2014-05-07 15:41 ` [Qemu-devel] [PULL 05/10] pc: add compat_props placeholder for 2.0 machine type Michael S. Tsirkin
2014-05-07 15:41 ` [Qemu-devel] [PULL 06/10] apic: use emulated lapic version 0x14 on pc machines >= 2.1 Michael S. Tsirkin
2014-05-07 15:41 ` [Qemu-devel] [PULL 07/10] smbus: allow returning an error from reads Michael S. Tsirkin
2014-05-07 15:41 ` [Qemu-devel] [PULL 08/10] smbus: return -1 if nothing found at the given address Michael S. Tsirkin
2014-05-07 15:42 ` [Qemu-devel] [PULL 09/10] pm_smbus: correctly report unclaimed cycles Michael S. Tsirkin
2014-05-07 15:42 ` [Qemu-devel] [PULL 10/10] MAINTAINERS: addresses for responsible disclosure Michael S. Tsirkin
2014-05-07 16:13 ` [Qemu-devel] [PULL 00/10] pc,net,MAINTAINERS,build updates Peter Maydell
2014-05-07 16:17 ` Michael S. Tsirkin
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).