* [Qemu-devel] [PULL 0/6] target-arm queue @ 2016-07-07 13:48 Peter Maydell 2016-07-07 13:48 ` [Qemu-devel] [PULL 1/6] target-arm/arm-semi.c: In SYS_HEAPINFO use correct type for 'limit' Peter Maydell ` (6 more replies) 0 siblings, 7 replies; 36+ messages in thread From: Peter Maydell @ 2016-07-07 13:48 UTC (permalink / raw) To: qemu-devel This week's collection of target-arm bugfixes... thanks -- PMM The following changes since commit 5563168c530e2cde8e000ee7aa4afc0ea4d0b42e: Merge remote-tracking branch 'remotes/jasowang/tags/net-pull-request' into staging (2016-07-07 10:29:05 +0100) are available in the git repository at: git://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20160707 for you to fetch changes up to 66542f639927bd1420db38a969d5fa8ad1c89ae1: i.MX: split the GPT timer implementation into per SOC definitions (2016-07-07 13:47:01 +0100) ---------------------------------------------------------------- target-arm queue: * fix a wrong variable type for A64 SYS_HEAPINFO semihosting call * xlnx_dp: fix iffy xlnx_dp_aux_push_tx_fifo * aux: fix break that wanted to break two levels out * aux: Rename aux.[ch] to auxbus.[ch] for the benefit of Windows * hw/block/m25p80: fix resource leak * i.MX: split the GPT timer implementation into per SOC definitions ---------------------------------------------------------------- Jean-Christophe Dubois (1): i.MX: split the GPT timer implementation into per SOC definitions Paolo Bonzini (2): xlnx_dp: fix iffy xlnx_dp_aux_push_tx_fifo aux: fix break that wanted to break two levels out Peter Maydell (2): target-arm/arm-semi.c: In SYS_HEAPINFO use correct type for 'limit' aux: Rename aux.[ch] to auxbus.[ch] for the benefit of Windows Shannon Zhao (1): hw/block/m25p80: fix resource leak hw/arm/fsl-imx25.c | 2 +- hw/arm/fsl-imx31.c | 2 +- hw/arm/fsl-imx6.c | 2 +- hw/block/m25p80.c | 6 ++-- hw/display/dpcd.c | 2 +- hw/display/xlnx_dp.c | 10 +++--- hw/misc/Makefile.objs | 2 +- hw/misc/{aux.c => auxbus.c} | 16 ++++----- hw/misc/imx6_ccm.c | 6 ++++ hw/timer/imx_gpt.c | 69 +++++++++++++++++++++++++++++++++---- include/hw/display/xlnx_dp.h | 2 +- include/hw/misc/{aux.h => auxbus.h} | 2 +- include/hw/misc/imx_ccm.h | 5 ++- include/hw/timer/imx_gpt.h | 9 ++++- target-arm/arm-semi.c | 2 +- 15 files changed, 107 insertions(+), 30 deletions(-) rename hw/misc/{aux.c => auxbus.c} (97%) rename include/hw/misc/{aux.h => auxbus.h} (99%) ^ permalink raw reply [flat|nested] 36+ messages in thread
* [Qemu-devel] [PULL 1/6] target-arm/arm-semi.c: In SYS_HEAPINFO use correct type for 'limit' 2016-07-07 13:48 [Qemu-devel] [PULL 0/6] target-arm queue Peter Maydell @ 2016-07-07 13:48 ` Peter Maydell 2016-07-07 13:48 ` [Qemu-devel] [PULL 2/6] xlnx_dp: fix iffy xlnx_dp_aux_push_tx_fifo Peter Maydell ` (5 subsequent siblings) 6 siblings, 0 replies; 36+ messages in thread From: Peter Maydell @ 2016-07-07 13:48 UTC (permalink / raw) To: qemu-devel In commit f5666418c4 most of the SYS_HEAPINFO implementation was fixed to use target_ulong rather than uint32_t, but the 'limit' variable was not changed. Reported-by: Laurent Desnogues <laurent.desnogues@gmail.com> Reviewed-by: Laurent Desnogues <laurent.desnogues@gmail.com> Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 1467650942-28706-1-git-send-email-peter.maydell@linaro.org --- target-arm/arm-semi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target-arm/arm-semi.c b/target-arm/arm-semi.c index d50726f..7cac873 100644 --- a/target-arm/arm-semi.c +++ b/target-arm/arm-semi.c @@ -565,7 +565,7 @@ target_ulong do_arm_semihosting(CPUARMState *env) case TARGET_SYS_HEAPINFO: { target_ulong retvals[4]; - uint32_t limit; + target_ulong limit; int i; GET_ARG(0); -- 1.9.1 ^ permalink raw reply related [flat|nested] 36+ messages in thread
* [Qemu-devel] [PULL 2/6] xlnx_dp: fix iffy xlnx_dp_aux_push_tx_fifo 2016-07-07 13:48 [Qemu-devel] [PULL 0/6] target-arm queue Peter Maydell 2016-07-07 13:48 ` [Qemu-devel] [PULL 1/6] target-arm/arm-semi.c: In SYS_HEAPINFO use correct type for 'limit' Peter Maydell @ 2016-07-07 13:48 ` Peter Maydell 2016-07-07 13:48 ` [Qemu-devel] [PULL 3/6] aux: fix break that wanted to break two levels out Peter Maydell ` (4 subsequent siblings) 6 siblings, 0 replies; 36+ messages in thread From: Peter Maydell @ 2016-07-07 13:48 UTC (permalink / raw) To: qemu-devel From: Paolo Bonzini <pbonzini@redhat.com> xlnx_dp_aux_push_tx_fifo takes an immediate uint8_t and a buffer length, which must be 1 because that is how many uint8_t's fit in a uint8_t. Sure enough, that is what xlnx_dp_write passes to it, but the function is just weird. Therefore, make xlnx_dp_aux_push_tx_fifo look like xlnx_dp_aux_push_rx_fifo, taking a pointer to the buffer. Reported by Coverity. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Peter Maydell <peter.maydell@linaro.org> --- hw/display/xlnx_dp.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/hw/display/xlnx_dp.c b/hw/display/xlnx_dp.c index be53b75..f43eb09 100644 --- a/hw/display/xlnx_dp.c +++ b/hw/display/xlnx_dp.c @@ -438,10 +438,10 @@ static void xlnx_dp_aux_clear_tx_fifo(XlnxDPState *s) fifo8_reset(&s->tx_fifo); } -static void xlnx_dp_aux_push_tx_fifo(XlnxDPState *s, uint8_t val, size_t len) +static void xlnx_dp_aux_push_tx_fifo(XlnxDPState *s, uint8_t *buf, size_t len) { DPRINTF("Push %u data in tx_fifo\n", (unsigned)len); - fifo8_push_all(&s->tx_fifo, &val, len); + fifo8_push_all(&s->tx_fifo, buf, len); } static uint8_t xlnx_dp_aux_pop_tx_fifo(XlnxDPState *s) @@ -806,9 +806,11 @@ static void xlnx_dp_write(void *opaque, hwaddr offset, uint64_t value, * TODO: Power down things? */ break; - case DP_AUX_WRITE_FIFO: - xlnx_dp_aux_push_tx_fifo(s, value, 1); + case DP_AUX_WRITE_FIFO: { + uint8_t c = value; + xlnx_dp_aux_push_tx_fifo(s, &c, 1); break; + } case DP_AUX_CLOCK_DIVIDER: break; case DP_AUX_REPLY_COUNT: -- 1.9.1 ^ permalink raw reply related [flat|nested] 36+ messages in thread
* [Qemu-devel] [PULL 3/6] aux: fix break that wanted to break two levels out 2016-07-07 13:48 [Qemu-devel] [PULL 0/6] target-arm queue Peter Maydell 2016-07-07 13:48 ` [Qemu-devel] [PULL 1/6] target-arm/arm-semi.c: In SYS_HEAPINFO use correct type for 'limit' Peter Maydell 2016-07-07 13:48 ` [Qemu-devel] [PULL 2/6] xlnx_dp: fix iffy xlnx_dp_aux_push_tx_fifo Peter Maydell @ 2016-07-07 13:48 ` Peter Maydell 2016-07-07 13:48 ` [Qemu-devel] [PULL 4/6] aux: Rename aux.[ch] to auxbus.[ch] for the benefit of Windows Peter Maydell ` (3 subsequent siblings) 6 siblings, 0 replies; 36+ messages in thread From: Peter Maydell @ 2016-07-07 13:48 UTC (permalink / raw) To: qemu-devel From: Paolo Bonzini <pbonzini@redhat.com> The last "ret = AUX_I2C_NACK;" is dead, because it is always overridden by AUX_I2C_ACK. What really the code wants is to jump out of the switch statement, and a "return" will not cut it because it would omit a debug printf. Change the logic so that we can break out of the while loop. For clarity, hoist the bus->last_* assignments up, right after i2c_start_transfer. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Peter Maydell <peter.maydell@linaro.org> --- hw/misc/aux.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/hw/misc/aux.c b/hw/misc/aux.c index 25d7712..06e24ca 100644 --- a/hw/misc/aux.c +++ b/hw/misc/aux.c @@ -153,12 +153,12 @@ AUXReply aux_request(AUXBus *bus, AUXCommand cmd, uint32_t address, case WRITE_I2C_MOT: case READ_I2C_MOT: is_write = cmd == READ_I2C_MOT ? false : true; + ret = AUX_I2C_NACK; if (!i2c_bus_busy(i2c_bus)) { /* * No transactions started.. */ if (i2c_start_transfer(i2c_bus, address, is_write)) { - ret = AUX_I2C_NACK; break; } } else if ((address != bus->last_i2c_address) || @@ -168,22 +168,22 @@ AUXReply aux_request(AUXBus *bus, AUXCommand cmd, uint32_t address, */ i2c_end_transfer(i2c_bus); if (i2c_start_transfer(i2c_bus, address, is_write)) { - ret = AUX_I2C_NACK; break; } } + bus->last_transaction = cmd; + bus->last_i2c_address = address; while (len > 0) { if (i2c_send_recv(i2c_bus, data++, is_write) < 0) { - ret = AUX_I2C_NACK; i2c_end_transfer(i2c_bus); break; } len--; } - bus->last_transaction = cmd; - bus->last_i2c_address = address; - ret = AUX_I2C_ACK; + if (len == 0) { + ret = AUX_I2C_ACK; + } break; default: DPRINTF("Not implemented!\n"); -- 1.9.1 ^ permalink raw reply related [flat|nested] 36+ messages in thread
* [Qemu-devel] [PULL 4/6] aux: Rename aux.[ch] to auxbus.[ch] for the benefit of Windows 2016-07-07 13:48 [Qemu-devel] [PULL 0/6] target-arm queue Peter Maydell ` (2 preceding siblings ...) 2016-07-07 13:48 ` [Qemu-devel] [PULL 3/6] aux: fix break that wanted to break two levels out Peter Maydell @ 2016-07-07 13:48 ` Peter Maydell 2016-07-07 13:48 ` [Qemu-devel] [PULL 5/6] hw/block/m25p80: fix resource leak Peter Maydell ` (2 subsequent siblings) 6 siblings, 0 replies; 36+ messages in thread From: Peter Maydell @ 2016-07-07 13:48 UTC (permalink / raw) To: qemu-devel On Windows 'aux.*' is a reserved name and cannot be used for filenames; see https://msdn.microsoft.com/en-gb/library/windows/desktop/aa365247(v=vs.85).aspx This prevents cloning the QEMU git repo on Windows: C:\Java\sources\kvm> git clone https://github.com/qemu/qemu.git Cloning into 'qemu'... remote: Counting objects: 279563, done. remote: Total 279563 (delta 0), reused 0 (delta 0), pack-reused 279563R Receiving objects: 100% (279563/279563), 122.45 MiB | 3.52 MiB/s, done. Resolving deltas: 100% (221942/221942), done. Checking connectivity... done. error: unable to create file hw/misc/aux.c (No such file or directory) error: unable to create file include/hw/misc/aux.h (No such file or directory) Checking out files: 100% (4795/4795), done. fatal: unable to checkout working tree warning: Clone succeeded, but checkout failed. You can inspect what was checked out with 'git status' and retry the checkout with 'git checkout -f HEAD' (bug https://bugs.launchpad.net/bugs/1595240) Rename the offending files for the benefit of Windows. Reported-by: Алексей Курган <akurgan@yandex.ru> Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Wei Huang <wei@redhat.com> Tested-by: KONRAD Frederic <fred.konrad@greensocs.com> Message-id: 1467377145-32385-1-git-send-email-peter.maydell@linaro.org --- hw/display/dpcd.c | 2 +- hw/misc/Makefile.objs | 2 +- hw/misc/aux.c | 292 ------------------------------------------- hw/misc/auxbus.c | 292 +++++++++++++++++++++++++++++++++++++++++++ include/hw/display/xlnx_dp.h | 2 +- include/hw/misc/aux.h | 128 ------------------- include/hw/misc/auxbus.h | 128 +++++++++++++++++++ 7 files changed, 423 insertions(+), 423 deletions(-) delete mode 100644 hw/misc/aux.c create mode 100644 hw/misc/auxbus.c delete mode 100644 include/hw/misc/aux.h create mode 100644 include/hw/misc/auxbus.h diff --git a/hw/display/dpcd.c b/hw/display/dpcd.c index 5a36855..ce92ff6 100644 --- a/hw/display/dpcd.c +++ b/hw/display/dpcd.c @@ -28,7 +28,7 @@ #include "qemu/osdep.h" #include "qemu/log.h" -#include "hw/misc/aux.h" +#include "hw/misc/auxbus.h" #include "hw/display/dpcd.h" #ifndef DEBUG_DPCD diff --git a/hw/misc/Makefile.objs b/hw/misc/Makefile.objs index 54020aa..4cfbd10 100644 --- a/hw/misc/Makefile.objs +++ b/hw/misc/Makefile.objs @@ -51,5 +51,5 @@ obj-$(CONFIG_MIPS_ITU) += mips_itu.o obj-$(CONFIG_PVPANIC) += pvpanic.o obj-$(CONFIG_EDU) += edu.o obj-$(CONFIG_HYPERV_TESTDEV) += hyperv_testdev.o -obj-$(CONFIG_AUX) += aux.o +obj-$(CONFIG_AUX) += auxbus.o obj-$(CONFIG_ASPEED_SOC) += aspeed_scu.o diff --git a/hw/misc/aux.c b/hw/misc/aux.c deleted file mode 100644 index 06e24ca..0000000 --- a/hw/misc/aux.c +++ /dev/null @@ -1,292 +0,0 @@ -/* - * aux.c - * - * Copyright 2015 : GreenSocs Ltd - * http://www.greensocs.com/ , email: info@greensocs.com - * - * Developed by : - * Frederic Konrad <fred.konrad@greensocs.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option)any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, see <http://www.gnu.org/licenses/>. - * - */ - -/* - * This is an implementation of the AUX bus for VESA Display Port v1.1a. - */ - -#include "qemu/osdep.h" -#include "qemu/log.h" -#include "hw/misc/aux.h" -#include "hw/i2c/i2c.h" -#include "monitor/monitor.h" - -#ifndef DEBUG_AUX -#define DEBUG_AUX 0 -#endif - -#define DPRINTF(fmt, ...) do { \ - if (DEBUG_AUX) { \ - qemu_log("aux: " fmt , ## __VA_ARGS__); \ - } \ -} while (0); - -#define TYPE_AUXTOI2C "aux-to-i2c-bridge" -#define AUXTOI2C(obj) OBJECT_CHECK(AUXTOI2CState, (obj), TYPE_AUXTOI2C) - -static void aux_slave_dev_print(Monitor *mon, DeviceState *dev, int indent); -static inline I2CBus *aux_bridge_get_i2c_bus(AUXTOI2CState *bridge); - -/* aux-bus implementation (internal not public) */ -static void aux_bus_class_init(ObjectClass *klass, void *data) -{ - BusClass *k = BUS_CLASS(klass); - - /* AUXSlave has an MMIO so we need to change the way we print information - * in monitor. - */ - k->print_dev = aux_slave_dev_print; -} - -AUXBus *aux_init_bus(DeviceState *parent, const char *name) -{ - AUXBus *bus; - - bus = AUX_BUS(qbus_create(TYPE_AUX_BUS, parent, name)); - bus->bridge = AUXTOI2C(qdev_create(BUS(bus), TYPE_AUXTOI2C)); - - /* Memory related. */ - bus->aux_io = g_malloc(sizeof(*bus->aux_io)); - memory_region_init(bus->aux_io, OBJECT(bus), "aux-io", (1 << 20)); - address_space_init(&bus->aux_addr_space, bus->aux_io, "aux-io"); - return bus; -} - -static void aux_bus_map_device(AUXBus *bus, AUXSlave *dev, hwaddr addr) -{ - memory_region_add_subregion(bus->aux_io, addr, dev->mmio); -} - -static bool aux_bus_is_bridge(AUXBus *bus, DeviceState *dev) -{ - return (dev == DEVICE(bus->bridge)); -} - -I2CBus *aux_get_i2c_bus(AUXBus *bus) -{ - return aux_bridge_get_i2c_bus(bus->bridge); -} - -AUXReply aux_request(AUXBus *bus, AUXCommand cmd, uint32_t address, - uint8_t len, uint8_t *data) -{ - AUXReply ret = AUX_NACK; - I2CBus *i2c_bus = aux_get_i2c_bus(bus); - size_t i; - bool is_write = false; - - DPRINTF("request at address 0x%" PRIX32 ", command %u, len %u\n", address, - cmd, len); - - switch (cmd) { - /* - * Forward the request on the AUX bus.. - */ - case WRITE_AUX: - case READ_AUX: - is_write = cmd == READ_AUX ? false : true; - for (i = 0; i < len; i++) { - if (!address_space_rw(&bus->aux_addr_space, address++, - MEMTXATTRS_UNSPECIFIED, data++, 1, - is_write)) { - ret = AUX_I2C_ACK; - } else { - ret = AUX_NACK; - break; - } - } - break; - /* - * Classic I2C transactions.. - */ - case READ_I2C: - case WRITE_I2C: - is_write = cmd == READ_I2C ? false : true; - if (i2c_bus_busy(i2c_bus)) { - i2c_end_transfer(i2c_bus); - } - - if (i2c_start_transfer(i2c_bus, address, is_write)) { - ret = AUX_I2C_NACK; - break; - } - - ret = AUX_I2C_ACK; - while (len > 0) { - if (i2c_send_recv(i2c_bus, data++, is_write) < 0) { - ret = AUX_I2C_NACK; - break; - } - len--; - } - i2c_end_transfer(i2c_bus); - break; - /* - * I2C MOT transactions. - * - * Here we send a start when: - * - We didn't start transaction yet. - * - We had a READ and we do a WRITE. - * - We changed the address. - */ - case WRITE_I2C_MOT: - case READ_I2C_MOT: - is_write = cmd == READ_I2C_MOT ? false : true; - ret = AUX_I2C_NACK; - if (!i2c_bus_busy(i2c_bus)) { - /* - * No transactions started.. - */ - if (i2c_start_transfer(i2c_bus, address, is_write)) { - break; - } - } else if ((address != bus->last_i2c_address) || - (bus->last_transaction != cmd)) { - /* - * Transaction started but we need to restart.. - */ - i2c_end_transfer(i2c_bus); - if (i2c_start_transfer(i2c_bus, address, is_write)) { - break; - } - } - - bus->last_transaction = cmd; - bus->last_i2c_address = address; - while (len > 0) { - if (i2c_send_recv(i2c_bus, data++, is_write) < 0) { - i2c_end_transfer(i2c_bus); - break; - } - len--; - } - if (len == 0) { - ret = AUX_I2C_ACK; - } - break; - default: - DPRINTF("Not implemented!\n"); - return AUX_NACK; - } - - DPRINTF("reply: %u\n", ret); - return ret; -} - -static const TypeInfo aux_bus_info = { - .name = TYPE_AUX_BUS, - .parent = TYPE_BUS, - .instance_size = sizeof(AUXBus), - .class_init = aux_bus_class_init -}; - -/* aux-i2c implementation (internal not public) */ -struct AUXTOI2CState { - /*< private >*/ - DeviceState parent_obj; - - /*< public >*/ - I2CBus *i2c_bus; -}; - -static void aux_bridge_init(Object *obj) -{ - AUXTOI2CState *s = AUXTOI2C(obj); - - s->i2c_bus = i2c_init_bus(DEVICE(obj), "aux-i2c"); -} - -static inline I2CBus *aux_bridge_get_i2c_bus(AUXTOI2CState *bridge) -{ - return bridge->i2c_bus; -} - -static const TypeInfo aux_to_i2c_type_info = { - .name = TYPE_AUXTOI2C, - .parent = TYPE_DEVICE, - .instance_size = sizeof(AUXTOI2CState), - .instance_init = aux_bridge_init -}; - -/* aux-slave implementation */ -static void aux_slave_dev_print(Monitor *mon, DeviceState *dev, int indent) -{ - AUXBus *bus = AUX_BUS(qdev_get_parent_bus(dev)); - AUXSlave *s; - - /* Don't print anything if the device is I2C "bridge". */ - if (aux_bus_is_bridge(bus, dev)) { - return; - } - - s = AUX_SLAVE(dev); - - monitor_printf(mon, "%*smemory " TARGET_FMT_plx "/" TARGET_FMT_plx "\n", - indent, "", - object_property_get_int(OBJECT(s->mmio), "addr", NULL), - memory_region_size(s->mmio)); -} - -DeviceState *aux_create_slave(AUXBus *bus, const char *type, uint32_t addr) -{ - DeviceState *dev; - - dev = DEVICE(object_new(type)); - assert(dev); - qdev_set_parent_bus(dev, &bus->qbus); - qdev_init_nofail(dev); - aux_bus_map_device(AUX_BUS(qdev_get_parent_bus(dev)), AUX_SLAVE(dev), addr); - return dev; -} - -void aux_init_mmio(AUXSlave *aux_slave, MemoryRegion *mmio) -{ - assert(!aux_slave->mmio); - aux_slave->mmio = mmio; -} - -static void aux_slave_class_init(ObjectClass *klass, void *data) -{ - DeviceClass *k = DEVICE_CLASS(klass); - - set_bit(DEVICE_CATEGORY_MISC, k->categories); - k->bus_type = TYPE_AUX_BUS; -} - -static const TypeInfo aux_slave_type_info = { - .name = TYPE_AUX_SLAVE, - .parent = TYPE_DEVICE, - .instance_size = sizeof(AUXSlave), - .abstract = true, - .class_init = aux_slave_class_init, -}; - -static void aux_register_types(void) -{ - type_register_static(&aux_bus_info); - type_register_static(&aux_slave_type_info); - type_register_static(&aux_to_i2c_type_info); -} - -type_init(aux_register_types) diff --git a/hw/misc/auxbus.c b/hw/misc/auxbus.c new file mode 100644 index 0000000..e4a7ba4 --- /dev/null +++ b/hw/misc/auxbus.c @@ -0,0 +1,292 @@ +/* + * auxbus.c + * + * Copyright 2015 : GreenSocs Ltd + * http://www.greensocs.com/ , email: info@greensocs.com + * + * Developed by : + * Frederic Konrad <fred.konrad@greensocs.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option)any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, see <http://www.gnu.org/licenses/>. + * + */ + +/* + * This is an implementation of the AUX bus for VESA Display Port v1.1a. + */ + +#include "qemu/osdep.h" +#include "qemu/log.h" +#include "hw/misc/auxbus.h" +#include "hw/i2c/i2c.h" +#include "monitor/monitor.h" + +#ifndef DEBUG_AUX +#define DEBUG_AUX 0 +#endif + +#define DPRINTF(fmt, ...) do { \ + if (DEBUG_AUX) { \ + qemu_log("aux: " fmt , ## __VA_ARGS__); \ + } \ +} while (0); + +#define TYPE_AUXTOI2C "aux-to-i2c-bridge" +#define AUXTOI2C(obj) OBJECT_CHECK(AUXTOI2CState, (obj), TYPE_AUXTOI2C) + +static void aux_slave_dev_print(Monitor *mon, DeviceState *dev, int indent); +static inline I2CBus *aux_bridge_get_i2c_bus(AUXTOI2CState *bridge); + +/* aux-bus implementation (internal not public) */ +static void aux_bus_class_init(ObjectClass *klass, void *data) +{ + BusClass *k = BUS_CLASS(klass); + + /* AUXSlave has an MMIO so we need to change the way we print information + * in monitor. + */ + k->print_dev = aux_slave_dev_print; +} + +AUXBus *aux_init_bus(DeviceState *parent, const char *name) +{ + AUXBus *bus; + + bus = AUX_BUS(qbus_create(TYPE_AUX_BUS, parent, name)); + bus->bridge = AUXTOI2C(qdev_create(BUS(bus), TYPE_AUXTOI2C)); + + /* Memory related. */ + bus->aux_io = g_malloc(sizeof(*bus->aux_io)); + memory_region_init(bus->aux_io, OBJECT(bus), "aux-io", (1 << 20)); + address_space_init(&bus->aux_addr_space, bus->aux_io, "aux-io"); + return bus; +} + +static void aux_bus_map_device(AUXBus *bus, AUXSlave *dev, hwaddr addr) +{ + memory_region_add_subregion(bus->aux_io, addr, dev->mmio); +} + +static bool aux_bus_is_bridge(AUXBus *bus, DeviceState *dev) +{ + return (dev == DEVICE(bus->bridge)); +} + +I2CBus *aux_get_i2c_bus(AUXBus *bus) +{ + return aux_bridge_get_i2c_bus(bus->bridge); +} + +AUXReply aux_request(AUXBus *bus, AUXCommand cmd, uint32_t address, + uint8_t len, uint8_t *data) +{ + AUXReply ret = AUX_NACK; + I2CBus *i2c_bus = aux_get_i2c_bus(bus); + size_t i; + bool is_write = false; + + DPRINTF("request at address 0x%" PRIX32 ", command %u, len %u\n", address, + cmd, len); + + switch (cmd) { + /* + * Forward the request on the AUX bus.. + */ + case WRITE_AUX: + case READ_AUX: + is_write = cmd == READ_AUX ? false : true; + for (i = 0; i < len; i++) { + if (!address_space_rw(&bus->aux_addr_space, address++, + MEMTXATTRS_UNSPECIFIED, data++, 1, + is_write)) { + ret = AUX_I2C_ACK; + } else { + ret = AUX_NACK; + break; + } + } + break; + /* + * Classic I2C transactions.. + */ + case READ_I2C: + case WRITE_I2C: + is_write = cmd == READ_I2C ? false : true; + if (i2c_bus_busy(i2c_bus)) { + i2c_end_transfer(i2c_bus); + } + + if (i2c_start_transfer(i2c_bus, address, is_write)) { + ret = AUX_I2C_NACK; + break; + } + + ret = AUX_I2C_ACK; + while (len > 0) { + if (i2c_send_recv(i2c_bus, data++, is_write) < 0) { + ret = AUX_I2C_NACK; + break; + } + len--; + } + i2c_end_transfer(i2c_bus); + break; + /* + * I2C MOT transactions. + * + * Here we send a start when: + * - We didn't start transaction yet. + * - We had a READ and we do a WRITE. + * - We changed the address. + */ + case WRITE_I2C_MOT: + case READ_I2C_MOT: + is_write = cmd == READ_I2C_MOT ? false : true; + ret = AUX_I2C_NACK; + if (!i2c_bus_busy(i2c_bus)) { + /* + * No transactions started.. + */ + if (i2c_start_transfer(i2c_bus, address, is_write)) { + break; + } + } else if ((address != bus->last_i2c_address) || + (bus->last_transaction != cmd)) { + /* + * Transaction started but we need to restart.. + */ + i2c_end_transfer(i2c_bus); + if (i2c_start_transfer(i2c_bus, address, is_write)) { + break; + } + } + + bus->last_transaction = cmd; + bus->last_i2c_address = address; + while (len > 0) { + if (i2c_send_recv(i2c_bus, data++, is_write) < 0) { + i2c_end_transfer(i2c_bus); + break; + } + len--; + } + if (len == 0) { + ret = AUX_I2C_ACK; + } + break; + default: + DPRINTF("Not implemented!\n"); + return AUX_NACK; + } + + DPRINTF("reply: %u\n", ret); + return ret; +} + +static const TypeInfo aux_bus_info = { + .name = TYPE_AUX_BUS, + .parent = TYPE_BUS, + .instance_size = sizeof(AUXBus), + .class_init = aux_bus_class_init +}; + +/* aux-i2c implementation (internal not public) */ +struct AUXTOI2CState { + /*< private >*/ + DeviceState parent_obj; + + /*< public >*/ + I2CBus *i2c_bus; +}; + +static void aux_bridge_init(Object *obj) +{ + AUXTOI2CState *s = AUXTOI2C(obj); + + s->i2c_bus = i2c_init_bus(DEVICE(obj), "aux-i2c"); +} + +static inline I2CBus *aux_bridge_get_i2c_bus(AUXTOI2CState *bridge) +{ + return bridge->i2c_bus; +} + +static const TypeInfo aux_to_i2c_type_info = { + .name = TYPE_AUXTOI2C, + .parent = TYPE_DEVICE, + .instance_size = sizeof(AUXTOI2CState), + .instance_init = aux_bridge_init +}; + +/* aux-slave implementation */ +static void aux_slave_dev_print(Monitor *mon, DeviceState *dev, int indent) +{ + AUXBus *bus = AUX_BUS(qdev_get_parent_bus(dev)); + AUXSlave *s; + + /* Don't print anything if the device is I2C "bridge". */ + if (aux_bus_is_bridge(bus, dev)) { + return; + } + + s = AUX_SLAVE(dev); + + monitor_printf(mon, "%*smemory " TARGET_FMT_plx "/" TARGET_FMT_plx "\n", + indent, "", + object_property_get_int(OBJECT(s->mmio), "addr", NULL), + memory_region_size(s->mmio)); +} + +DeviceState *aux_create_slave(AUXBus *bus, const char *type, uint32_t addr) +{ + DeviceState *dev; + + dev = DEVICE(object_new(type)); + assert(dev); + qdev_set_parent_bus(dev, &bus->qbus); + qdev_init_nofail(dev); + aux_bus_map_device(AUX_BUS(qdev_get_parent_bus(dev)), AUX_SLAVE(dev), addr); + return dev; +} + +void aux_init_mmio(AUXSlave *aux_slave, MemoryRegion *mmio) +{ + assert(!aux_slave->mmio); + aux_slave->mmio = mmio; +} + +static void aux_slave_class_init(ObjectClass *klass, void *data) +{ + DeviceClass *k = DEVICE_CLASS(klass); + + set_bit(DEVICE_CATEGORY_MISC, k->categories); + k->bus_type = TYPE_AUX_BUS; +} + +static const TypeInfo aux_slave_type_info = { + .name = TYPE_AUX_SLAVE, + .parent = TYPE_DEVICE, + .instance_size = sizeof(AUXSlave), + .abstract = true, + .class_init = aux_slave_class_init, +}; + +static void aux_register_types(void) +{ + type_register_static(&aux_bus_info); + type_register_static(&aux_slave_type_info); + type_register_static(&aux_to_i2c_type_info); +} + +type_init(aux_register_types) diff --git a/include/hw/display/xlnx_dp.h b/include/hw/display/xlnx_dp.h index d3a03f1..ee046a5 100644 --- a/include/hw/display/xlnx_dp.h +++ b/include/hw/display/xlnx_dp.h @@ -24,7 +24,7 @@ #include "hw/sysbus.h" #include "ui/console.h" -#include "hw/misc/aux.h" +#include "hw/misc/auxbus.h" #include "hw/i2c/i2c.h" #include "hw/display/dpcd.h" #include "hw/i2c/i2c-ddc.h" diff --git a/include/hw/misc/aux.h b/include/hw/misc/aux.h deleted file mode 100644 index 759c3bf..0000000 --- a/include/hw/misc/aux.h +++ /dev/null @@ -1,128 +0,0 @@ -/* - * aux.h - * - * Copyright (C)2014 : GreenSocs Ltd - * http://www.greensocs.com/ , email: info@greensocs.com - * - * Developed by : - * Frederic Konrad <fred.konrad@greensocs.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option)any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, see <http://www.gnu.org/licenses/>. - * - */ - -#ifndef QEMU_AUX_H -#define QEMU_AUX_H - -#include "hw/qdev.h" - -typedef struct AUXBus AUXBus; -typedef struct AUXSlave AUXSlave; -typedef enum AUXCommand AUXCommand; -typedef enum AUXReply AUXReply; -typedef struct AUXTOI2CState AUXTOI2CState; - -enum AUXCommand { - WRITE_I2C = 0, - READ_I2C = 1, - WRITE_I2C_STATUS = 2, - WRITE_I2C_MOT = 4, - READ_I2C_MOT = 5, - WRITE_AUX = 8, - READ_AUX = 9 -}; - -enum AUXReply { - AUX_I2C_ACK = 0, - AUX_NACK = 1, - AUX_DEFER = 2, - AUX_I2C_NACK = 4, - AUX_I2C_DEFER = 8 -}; - -#define TYPE_AUX_BUS "aux-bus" -#define AUX_BUS(obj) OBJECT_CHECK(AUXBus, (obj), TYPE_AUX_BUS) - -struct AUXBus { - /* < private > */ - BusState qbus; - - /* < public > */ - AUXSlave *current_dev; - AUXSlave *dev; - uint32_t last_i2c_address; - AUXCommand last_transaction; - - AUXTOI2CState *bridge; - - MemoryRegion *aux_io; - AddressSpace aux_addr_space; -}; - -#define TYPE_AUX_SLAVE "aux-slave" -#define AUX_SLAVE(obj) \ - OBJECT_CHECK(AUXSlave, (obj), TYPE_AUX_SLAVE) - -struct AUXSlave { - /* < private > */ - DeviceState parent_obj; - - /* < public > */ - MemoryRegion *mmio; -}; - -/** - * aux_init_bus: Initialize an AUX bus. - * - * Returns the new AUX bus created. - * - * @parent The device where this bus is located. - * @name The name of the bus. - */ -AUXBus *aux_init_bus(DeviceState *parent, const char *name); - -/* - * aux_request: Make a request on the bus. - * - * Returns the reply of the request. - * - * @bus Ths bus where the request happen. - * @cmd The command requested. - * @address The 20bits address of the slave. - * @len The length of the read or write. - * @data The data array which will be filled or read during transfer. - */ -AUXReply aux_request(AUXBus *bus, AUXCommand cmd, uint32_t address, - uint8_t len, uint8_t *data); - -/* - * aux_get_i2c_bus: Get the i2c bus for I2C over AUX command. - * - * Returns the i2c bus associated to this AUX bus. - * - * @bus The AUX bus. - */ -I2CBus *aux_get_i2c_bus(AUXBus *bus); - -/* - * aux_init_mmio: Init an mmio for an AUX slave. - * - * @aux_slave The AUX slave. - * @mmio The mmio to be registered. - */ -void aux_init_mmio(AUXSlave *aux_slave, MemoryRegion *mmio); - -DeviceState *aux_create_slave(AUXBus *bus, const char *name, uint32_t addr); - -#endif /* !QEMU_AUX_H */ diff --git a/include/hw/misc/auxbus.h b/include/hw/misc/auxbus.h new file mode 100644 index 0000000..af39db7 --- /dev/null +++ b/include/hw/misc/auxbus.h @@ -0,0 +1,128 @@ +/* + * auxbus.h + * + * Copyright (C)2014 : GreenSocs Ltd + * http://www.greensocs.com/ , email: info@greensocs.com + * + * Developed by : + * Frederic Konrad <fred.konrad@greensocs.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option)any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, see <http://www.gnu.org/licenses/>. + * + */ + +#ifndef QEMU_AUX_H +#define QEMU_AUX_H + +#include "hw/qdev.h" + +typedef struct AUXBus AUXBus; +typedef struct AUXSlave AUXSlave; +typedef enum AUXCommand AUXCommand; +typedef enum AUXReply AUXReply; +typedef struct AUXTOI2CState AUXTOI2CState; + +enum AUXCommand { + WRITE_I2C = 0, + READ_I2C = 1, + WRITE_I2C_STATUS = 2, + WRITE_I2C_MOT = 4, + READ_I2C_MOT = 5, + WRITE_AUX = 8, + READ_AUX = 9 +}; + +enum AUXReply { + AUX_I2C_ACK = 0, + AUX_NACK = 1, + AUX_DEFER = 2, + AUX_I2C_NACK = 4, + AUX_I2C_DEFER = 8 +}; + +#define TYPE_AUX_BUS "aux-bus" +#define AUX_BUS(obj) OBJECT_CHECK(AUXBus, (obj), TYPE_AUX_BUS) + +struct AUXBus { + /* < private > */ + BusState qbus; + + /* < public > */ + AUXSlave *current_dev; + AUXSlave *dev; + uint32_t last_i2c_address; + AUXCommand last_transaction; + + AUXTOI2CState *bridge; + + MemoryRegion *aux_io; + AddressSpace aux_addr_space; +}; + +#define TYPE_AUX_SLAVE "aux-slave" +#define AUX_SLAVE(obj) \ + OBJECT_CHECK(AUXSlave, (obj), TYPE_AUX_SLAVE) + +struct AUXSlave { + /* < private > */ + DeviceState parent_obj; + + /* < public > */ + MemoryRegion *mmio; +}; + +/** + * aux_init_bus: Initialize an AUX bus. + * + * Returns the new AUX bus created. + * + * @parent The device where this bus is located. + * @name The name of the bus. + */ +AUXBus *aux_init_bus(DeviceState *parent, const char *name); + +/* + * aux_request: Make a request on the bus. + * + * Returns the reply of the request. + * + * @bus Ths bus where the request happen. + * @cmd The command requested. + * @address The 20bits address of the slave. + * @len The length of the read or write. + * @data The data array which will be filled or read during transfer. + */ +AUXReply aux_request(AUXBus *bus, AUXCommand cmd, uint32_t address, + uint8_t len, uint8_t *data); + +/* + * aux_get_i2c_bus: Get the i2c bus for I2C over AUX command. + * + * Returns the i2c bus associated to this AUX bus. + * + * @bus The AUX bus. + */ +I2CBus *aux_get_i2c_bus(AUXBus *bus); + +/* + * aux_init_mmio: Init an mmio for an AUX slave. + * + * @aux_slave The AUX slave. + * @mmio The mmio to be registered. + */ +void aux_init_mmio(AUXSlave *aux_slave, MemoryRegion *mmio); + +DeviceState *aux_create_slave(AUXBus *bus, const char *name, uint32_t addr); + +#endif /* !QEMU_AUX_H */ -- 1.9.1 ^ permalink raw reply related [flat|nested] 36+ messages in thread
* [Qemu-devel] [PULL 5/6] hw/block/m25p80: fix resource leak 2016-07-07 13:48 [Qemu-devel] [PULL 0/6] target-arm queue Peter Maydell ` (3 preceding siblings ...) 2016-07-07 13:48 ` [Qemu-devel] [PULL 4/6] aux: Rename aux.[ch] to auxbus.[ch] for the benefit of Windows Peter Maydell @ 2016-07-07 13:48 ` Peter Maydell 2016-07-07 13:48 ` [Qemu-devel] [PULL 6/6] i.MX: split the GPT timer implementation into per SOC definitions Peter Maydell 2016-07-11 10:16 ` [Qemu-devel] [PULL 0/6] target-arm queue Peter Maydell 6 siblings, 0 replies; 36+ messages in thread From: Peter Maydell @ 2016-07-07 13:48 UTC (permalink / raw) To: qemu-devel From: Shannon Zhao <shannon.zhao@linaro.org> These two are spot by Coverity 1357232 and 1357233. Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org> Message-id: 1467684998-12076-1-git-send-email-zhaoshenglong@huawei.com Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org> --- hw/block/m25p80.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/hw/block/m25p80.c b/hw/block/m25p80.c index d9b2793..ca8c12c 100644 --- a/hw/block/m25p80.c +++ b/hw/block/m25p80.c @@ -459,12 +459,13 @@ static void blk_sync_complete(void *opaque, int ret) static void flash_sync_page(Flash *s, int page) { - QEMUIOVector *iov = g_new(QEMUIOVector, 1); + QEMUIOVector *iov; if (!s->blk || blk_is_read_only(s->blk)) { return; } + iov = g_new(QEMUIOVector, 1); qemu_iovec_init(iov, 1); qemu_iovec_add(iov, s->storage + page * s->pi->page_size, s->pi->page_size); @@ -474,13 +475,14 @@ static void flash_sync_page(Flash *s, int page) static inline void flash_sync_area(Flash *s, int64_t off, int64_t len) { - QEMUIOVector *iov = g_new(QEMUIOVector, 1); + QEMUIOVector *iov; if (!s->blk || blk_is_read_only(s->blk)) { return; } assert(!(len % BDRV_SECTOR_SIZE)); + iov = g_new(QEMUIOVector, 1); qemu_iovec_init(iov, 1); qemu_iovec_add(iov, s->storage + off, len); blk_aio_pwritev(s->blk, off, iov, 0, blk_sync_complete, iov); -- 1.9.1 ^ permalink raw reply related [flat|nested] 36+ messages in thread
* [Qemu-devel] [PULL 6/6] i.MX: split the GPT timer implementation into per SOC definitions 2016-07-07 13:48 [Qemu-devel] [PULL 0/6] target-arm queue Peter Maydell ` (4 preceding siblings ...) 2016-07-07 13:48 ` [Qemu-devel] [PULL 5/6] hw/block/m25p80: fix resource leak Peter Maydell @ 2016-07-07 13:48 ` Peter Maydell 2016-07-11 10:16 ` [Qemu-devel] [PULL 0/6] target-arm queue Peter Maydell 6 siblings, 0 replies; 36+ messages in thread From: Peter Maydell @ 2016-07-07 13:48 UTC (permalink / raw) To: qemu-devel From: Jean-Christophe Dubois <jcd@tribudubois.net> In various Freescale SOCs, the GPT timers can be configured to select its input clock. Depending on the SOC the set of available input clocks may vary. The actual single GPT definition was no good enough and because of it booting the sabrelite board with a i.MX6DL device tree would fail because of an incorrect input clock definition for the i.MX6DL SOC. This patch fixes the i.MX6DL boot failure by adding the ability to define a different set of input clocks depending on the considered SOC. A different class has been defined for i.MX25, i.MX31 and i.MX6 each with its specific set of input clocks. The patch has been tested by booting KZM, i.MX25 PDK, i.MX6Q sabrelite and i.MX6DL sabrelite. Signed-off-by: Jean-Christophe Dubois <jcd@tribudubois.net> Message-id: 1467325619-8374-1-git-send-email-jcd@tribudubois.net Reviewed-by: Peter Maydell <peter.maydell@linaro.org> [PMM: fixed spacing round '/' operator] Signed-off-by: Peter Maydell <peter.maydell@linaro.org> --- hw/arm/fsl-imx25.c | 2 +- hw/arm/fsl-imx31.c | 2 +- hw/arm/fsl-imx6.c | 2 +- hw/misc/imx6_ccm.c | 6 ++++ hw/timer/imx_gpt.c | 69 ++++++++++++++++++++++++++++++++++++++++++---- include/hw/misc/imx_ccm.h | 5 +++- include/hw/timer/imx_gpt.h | 9 +++++- 7 files changed, 84 insertions(+), 11 deletions(-) diff --git a/hw/arm/fsl-imx25.c b/hw/arm/fsl-imx25.c index 1a53e51..b4e358d 100644 --- a/hw/arm/fsl-imx25.c +++ b/hw/arm/fsl-imx25.c @@ -51,7 +51,7 @@ static void fsl_imx25_init(Object *obj) } for (i = 0; i < FSL_IMX25_NUM_GPTS; i++) { - object_initialize(&s->gpt[i], sizeof(s->gpt[i]), TYPE_IMX_GPT); + object_initialize(&s->gpt[i], sizeof(s->gpt[i]), TYPE_IMX25_GPT); qdev_set_parent_bus(DEVICE(&s->gpt[i]), sysbus_get_default()); } diff --git a/hw/arm/fsl-imx31.c b/hw/arm/fsl-imx31.c index b283b71..fe204ac 100644 --- a/hw/arm/fsl-imx31.c +++ b/hw/arm/fsl-imx31.c @@ -47,7 +47,7 @@ static void fsl_imx31_init(Object *obj) qdev_set_parent_bus(DEVICE(&s->uart[i]), sysbus_get_default()); } - object_initialize(&s->gpt, sizeof(s->gpt), TYPE_IMX_GPT); + object_initialize(&s->gpt, sizeof(s->gpt), TYPE_IMX31_GPT); qdev_set_parent_bus(DEVICE(&s->gpt), sysbus_get_default()); for (i = 0; i < FSL_IMX31_NUM_EPITS; i++) { diff --git a/hw/arm/fsl-imx6.c b/hw/arm/fsl-imx6.c index ed392a9..6a1bf26 100644 --- a/hw/arm/fsl-imx6.c +++ b/hw/arm/fsl-imx6.c @@ -67,7 +67,7 @@ static void fsl_imx6_init(Object *obj) object_property_add_child(obj, name, OBJECT(&s->uart[i]), NULL); } - object_initialize(&s->gpt, sizeof(s->gpt), TYPE_IMX_GPT); + object_initialize(&s->gpt, sizeof(s->gpt), TYPE_IMX6_GPT); qdev_set_parent_bus(DEVICE(&s->gpt), sysbus_get_default()); object_property_add_child(obj, "gpt", OBJECT(&s->gpt), NULL); diff --git a/hw/misc/imx6_ccm.c b/hw/misc/imx6_ccm.c index ec58eef..17e15d4 100644 --- a/hw/misc/imx6_ccm.c +++ b/hw/misc/imx6_ccm.c @@ -371,6 +371,12 @@ static uint32_t imx6_ccm_get_clock_frequency(IMXCCMState *dev, IMXClk clock) case CLK_32k: freq = CKIL_FREQ; break; + case CLK_HIGH: + freq = 24000000; + break; + case CLK_HIGH_DIV: + freq = 24000000 / 8; + break; default: qemu_log_mask(LOG_GUEST_ERROR, "[%s]%s: unsupported clock %d\n", TYPE_IMX6_CCM, __func__, clock); diff --git a/hw/timer/imx_gpt.c b/hw/timer/imx_gpt.c index 3c2f01a..82bc73c 100644 --- a/hw/timer/imx_gpt.c +++ b/hw/timer/imx_gpt.c @@ -14,7 +14,6 @@ #include "qemu/osdep.h" #include "hw/timer/imx_gpt.h" -#include "hw/misc/imx_ccm.h" #include "qemu/main-loop.h" #include "qemu/log.h" @@ -81,7 +80,18 @@ static const VMStateDescription vmstate_imx_timer_gpt = { } }; -static const IMXClk imx_gpt_clocks[] = { +static const IMXClk imx25_gpt_clocks[] = { + CLK_NONE, /* 000 No clock source */ + CLK_IPG, /* 001 ipg_clk, 532MHz*/ + CLK_IPG_HIGH, /* 010 ipg_clk_highfreq */ + CLK_NONE, /* 011 not defined */ + CLK_32k, /* 100 ipg_clk_32k */ + CLK_32k, /* 101 ipg_clk_32k */ + CLK_32k, /* 110 ipg_clk_32k */ + CLK_32k, /* 111 ipg_clk_32k */ +}; + +static const IMXClk imx31_gpt_clocks[] = { CLK_NONE, /* 000 No clock source */ CLK_IPG, /* 001 ipg_clk, 532MHz*/ CLK_IPG_HIGH, /* 010 ipg_clk_highfreq */ @@ -92,12 +102,23 @@ static const IMXClk imx_gpt_clocks[] = { CLK_NONE, /* 111 not defined */ }; +static const IMXClk imx6_gpt_clocks[] = { + CLK_NONE, /* 000 No clock source */ + CLK_IPG, /* 001 ipg_clk, 532MHz*/ + CLK_IPG_HIGH, /* 010 ipg_clk_highfreq */ + CLK_EXT, /* 011 External clock */ + CLK_32k, /* 100 ipg_clk_32k */ + CLK_HIGH_DIV, /* 101 reference clock / 8 */ + CLK_NONE, /* 110 not defined */ + CLK_HIGH, /* 111 reference clock */ +}; + static void imx_gpt_set_freq(IMXGPTState *s) { uint32_t clksrc = extract32(s->cr, GPT_CR_CLKSRC_SHIFT, 3); s->freq = imx_ccm_get_clock_frequency(s->ccm, - imx_gpt_clocks[clksrc]) / (1 + s->pr); + s->clocks[clksrc]) / (1 + s->pr); DPRINTF("Setting clksrc %d to frequency %d\n", clksrc, s->freq); @@ -453,16 +474,52 @@ static void imx_gpt_class_init(ObjectClass *klass, void *data) dc->desc = "i.MX general timer"; } -static const TypeInfo imx_gpt_info = { - .name = TYPE_IMX_GPT, +static void imx25_gpt_init(Object *obj) +{ + IMXGPTState *s = IMX_GPT(obj); + + s->clocks = imx25_gpt_clocks; +} + +static void imx31_gpt_init(Object *obj) +{ + IMXGPTState *s = IMX_GPT(obj); + + s->clocks = imx31_gpt_clocks; +} + +static void imx6_gpt_init(Object *obj) +{ + IMXGPTState *s = IMX_GPT(obj); + + s->clocks = imx6_gpt_clocks; +} + +static const TypeInfo imx25_gpt_info = { + .name = TYPE_IMX25_GPT, .parent = TYPE_SYS_BUS_DEVICE, .instance_size = sizeof(IMXGPTState), + .instance_init = imx25_gpt_init, .class_init = imx_gpt_class_init, }; +static const TypeInfo imx31_gpt_info = { + .name = TYPE_IMX31_GPT, + .parent = TYPE_IMX25_GPT, + .instance_init = imx31_gpt_init, +}; + +static const TypeInfo imx6_gpt_info = { + .name = TYPE_IMX6_GPT, + .parent = TYPE_IMX25_GPT, + .instance_init = imx6_gpt_init, +}; + static void imx_gpt_register_types(void) { - type_register_static(&imx_gpt_info); + type_register_static(&imx25_gpt_info); + type_register_static(&imx31_gpt_info); + type_register_static(&imx6_gpt_info); } type_init(imx_gpt_register_types) diff --git a/include/hw/misc/imx_ccm.h b/include/hw/misc/imx_ccm.h index 48a7afa..33cbc09 100644 --- a/include/hw/misc/imx_ccm.h +++ b/include/hw/misc/imx_ccm.h @@ -46,7 +46,10 @@ typedef enum { CLK_NONE, CLK_IPG, CLK_IPG_HIGH, - CLK_32k + CLK_32k, + CLK_EXT, + CLK_HIGH_DIV, + CLK_HIGH, } IMXClk; typedef struct IMXCCMClass { diff --git a/include/hw/timer/imx_gpt.h b/include/hw/timer/imx_gpt.h index 461adbe..eac59b2 100644 --- a/include/hw/timer/imx_gpt.h +++ b/include/hw/timer/imx_gpt.h @@ -74,7 +74,12 @@ #define GPT_IR_OF3IE (1 << 2) #define GPT_IR_ROVIE (1 << 5) -#define TYPE_IMX_GPT "imx.gpt" +#define TYPE_IMX25_GPT "imx25.gpt" +#define TYPE_IMX31_GPT "imx31.gpt" +#define TYPE_IMX6_GPT "imx6.gpt" + +#define TYPE_IMX_GPT TYPE_IMX25_GPT + #define IMX_GPT(obj) OBJECT_CHECK(IMXGPTState, (obj), TYPE_IMX_GPT) typedef struct IMXGPTState{ @@ -103,6 +108,8 @@ typedef struct IMXGPTState{ uint32_t freq; qemu_irq irq; + + const IMXClk *clocks; } IMXGPTState; #endif /* IMX_GPT_H */ -- 1.9.1 ^ permalink raw reply related [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [PULL 0/6] target-arm queue 2016-07-07 13:48 [Qemu-devel] [PULL 0/6] target-arm queue Peter Maydell ` (5 preceding siblings ...) 2016-07-07 13:48 ` [Qemu-devel] [PULL 6/6] i.MX: split the GPT timer implementation into per SOC definitions Peter Maydell @ 2016-07-11 10:16 ` Peter Maydell 6 siblings, 0 replies; 36+ messages in thread From: Peter Maydell @ 2016-07-11 10:16 UTC (permalink / raw) To: QEMU Developers On 7 July 2016 at 14:48, Peter Maydell <peter.maydell@linaro.org> wrote: > > This week's collection of target-arm bugfixes... > > thanks > -- PMM > > > The following changes since commit 5563168c530e2cde8e000ee7aa4afc0ea4d0b42e: > > Merge remote-tracking branch 'remotes/jasowang/tags/net-pull-request' into staging (2016-07-07 10:29:05 +0100) > > are available in the git repository at: > > > git://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20160707 > > for you to fetch changes up to 66542f639927bd1420db38a969d5fa8ad1c89ae1: > > i.MX: split the GPT timer implementation into per SOC definitions (2016-07-07 13:47:01 +0100) > > ---------------------------------------------------------------- > target-arm queue: > * fix a wrong variable type for A64 SYS_HEAPINFO semihosting call > * xlnx_dp: fix iffy xlnx_dp_aux_push_tx_fifo > * aux: fix break that wanted to break two levels out > * aux: Rename aux.[ch] to auxbus.[ch] for the benefit of Windows > * hw/block/m25p80: fix resource leak > * i.MX: split the GPT timer implementation into per SOC definitions > Applied, thanks. -- PMM ^ permalink raw reply [flat|nested] 36+ messages in thread
* [Qemu-devel] [PULL 0/6] target-arm queue @ 2018-10-29 15:34 Peter Maydell 0 siblings, 0 replies; 36+ messages in thread From: Peter Maydell @ 2018-10-29 15:34 UTC (permalink / raw) To: qemu-devel Last lot of patches for arm before softfreeze tomorrow... thanks -- PMM The following changes since commit ef3a6af5e789ff078d1fef880f9dfb6adf18e8f1: Merge remote-tracking branch 'remotes/kraxel/tags/vga-20181029-pull-request' into staging (2018-10-29 12:59:15 +0000) are available in the Git repository at: https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20181029 for you to fetch changes up to 20cf5663734310a282e27b7389bc9f53ffe227e6: tests/boot-serial-test: Add microbit board testcase (2018-10-29 15:19:48 +0000) ---------------------------------------------------------------- target-arm queue: * microbit: Add the UART to our nRF51 SoC model * Add a virtual Xilinx Versal board "xlnx-versal-virt" * hw/arm/virt: Set VIRT_COMPAT_3_0 compat ---------------------------------------------------------------- Edgar E. Iglesias (2): hw/arm: versal: Add a model of Xilinx Versal SoC hw/arm: versal: Add a virtual Xilinx Versal board Eric Auger (1): hw/arm/virt: Set VIRT_COMPAT_3_0 compat Julia Suvorova (3): hw/char: Implement nRF51 SoC UART hw/arm/nrf51_soc: Connect UART to nRF51 SoC tests/boot-serial-test: Add microbit board testcase hw/arm/Makefile.objs | 1 + hw/char/Makefile.objs | 1 + include/hw/arm/nrf51_soc.h | 3 + include/hw/arm/xlnx-versal.h | 122 +++++++++ include/hw/char/nrf51_uart.h | 78 ++++++ hw/arm/microbit.c | 2 + hw/arm/nrf51_soc.c | 20 ++ hw/arm/virt.c | 4 + hw/arm/xlnx-versal-virt.c | 493 ++++++++++++++++++++++++++++++++++++ hw/arm/xlnx-versal.c | 323 +++++++++++++++++++++++ hw/char/nrf51_uart.c | 330 ++++++++++++++++++++++++ tests/boot-serial-test.c | 19 ++ default-configs/aarch64-softmmu.mak | 1 + hw/char/trace-events | 4 + 14 files changed, 1401 insertions(+) create mode 100644 include/hw/arm/xlnx-versal.h create mode 100644 include/hw/char/nrf51_uart.h create mode 100644 hw/arm/xlnx-versal-virt.c create mode 100644 hw/arm/xlnx-versal.c create mode 100644 hw/char/nrf51_uart.c ^ permalink raw reply [flat|nested] 36+ messages in thread
* [Qemu-devel] [PULL 0/6] target-arm queue @ 2018-07-30 14:17 Peter Maydell 2018-07-30 18:11 ` Peter Maydell 0 siblings, 1 reply; 36+ messages in thread From: Peter Maydell @ 2018-07-30 14:17 UTC (permalink / raw) To: qemu-devel A set of small bugfixes for arm for 3.0; the "migration was broken" fixes for SMMUv3 and v7M NVIC with security extensions are the most significant. thanks -- PMM The following changes since commit 6d9dd5fb9d0e9f4a174f53a0e20a39fbe809c71e: Merge remote-tracking branch 'remotes/armbru/tags/pull-qobject-2018-07-27-v2' into staging (2018-07-30 09:55:47 +0100) are available in the Git repository at: git://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20180730 for you to fetch changes up to 0261fb805c00a6f97d143235e7b06b0906bdf898: target/arm: Remove duplicate 'host' entry in '-cpu ?' output (2018-07-30 15:07:08 +0100) ---------------------------------------------------------------- target-arm queue: * arm/smmuv3: Fix broken VM state migration * armv7m_nvic: Fix broken VM state migration * hw/arm/sysbus-fdt: Fix assertion in copy_properties_from_host() * hw/arm/iotkit: Fix IRQ number for timer1 * hw/misc/tz-mpc: Zero the LUT on initialization, not just reset * target/arm: Remove duplicate 'host' entry in '-cpu ?' output ---------------------------------------------------------------- Dr. David Alan Gilbert (1): arm/smmuv3: Fix missing VMSD terminator Geert Uytterhoeven (1): hw/arm/sysbus-fdt: Fix assertion in copy_properties_from_host() Peter Maydell (3): armv7m_nvic: Fix m-security subsection name hw/arm/iotkit: Fix IRQ number for timer1 hw/misc/tz-mpc: Zero the LUT on initialization, not just reset Philippe Mathieu-Daudé (1): target/arm: Remove duplicate 'host' entry in '-cpu ?' output hw/arm/iotkit.c | 2 +- hw/arm/smmuv3.c | 1 + hw/arm/sysbus-fdt.c | 1 + hw/intc/armv7m_nvic.c | 2 +- hw/misc/tz-mpc.c | 2 +- target/arm/helper.c | 6 ------ 6 files changed, 5 insertions(+), 9 deletions(-) ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [PULL 0/6] target-arm queue 2018-07-30 14:17 Peter Maydell @ 2018-07-30 18:11 ` Peter Maydell 0 siblings, 0 replies; 36+ messages in thread From: Peter Maydell @ 2018-07-30 18:11 UTC (permalink / raw) To: QEMU Developers On 30 July 2018 at 15:17, Peter Maydell <peter.maydell@linaro.org> wrote: > A set of small bugfixes for arm for 3.0; the "migration was > broken" fixes for SMMUv3 and v7M NVIC with security extensions > are the most significant. > > thanks > -- PMM > > The following changes since commit 6d9dd5fb9d0e9f4a174f53a0e20a39fbe809c71e: > > Merge remote-tracking branch 'remotes/armbru/tags/pull-qobject-2018-07-27-v2' into staging (2018-07-30 09:55:47 +0100) > > are available in the Git repository at: > > git://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20180730 > > for you to fetch changes up to 0261fb805c00a6f97d143235e7b06b0906bdf898: > > target/arm: Remove duplicate 'host' entry in '-cpu ?' output (2018-07-30 15:07:08 +0100) > > ---------------------------------------------------------------- > target-arm queue: > * arm/smmuv3: Fix broken VM state migration > * armv7m_nvic: Fix broken VM state migration > * hw/arm/sysbus-fdt: Fix assertion in copy_properties_from_host() > * hw/arm/iotkit: Fix IRQ number for timer1 > * hw/misc/tz-mpc: Zero the LUT on initialization, not just reset > * target/arm: Remove duplicate 'host' entry in '-cpu ?' output > > ---------------------------------------------------------------- Applied, thanks. -- PMM ^ permalink raw reply [flat|nested] 36+ messages in thread
* [Qemu-devel] [PULL 0/6] target-arm queue @ 2014-03-19 12:05 Peter Maydell 2014-03-19 13:33 ` Peter Maydell 0 siblings, 1 reply; 36+ messages in thread From: Peter Maydell @ 2014-03-19 12:05 UTC (permalink / raw) To: Anthony Liguori Cc: Blue Swirl, Andreas Färber, qemu-devel, Aurelien Jarno Last target-arm pull before rc1. I don't know of any further outstanding ARM related issues which would need to be fixed for 2.0 so barring any late-breaking bug reports I think this should be it until release. thanks -- PMM The following changes since commit 059b3527f0229f4d60fd77a317503d42abd5e50f: Merge remote-tracking branch 'remotes/kraxel/tags/pull-vnc-2' into staging (2014-03-18 16:39:29 +0000) are available in the git repository at: git://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20140319 for you to fetch changes up to 09e037354b6f940c18f417f23355cffd23f4fde5: target-arm: A64: Add saturating accumulate ops (USQADD/SUQADD) (2014-03-18 23:10:06 +0000) ---------------------------------------------------------------- target-arm queue: * last few A64 Neon instructions * fix some PL011 UART bugs causing occasional serial lockups * fix the non-PCI AHCI device ---------------------------------------------------------------- Alex Bennée (2): target-arm: A64: Add saturating int ops (SQNEG/SQABS) target-arm: A64: Add saturating accumulate ops (USQADD/SUQADD) Rob Herring (4): ahci: fix sysbus support pl011: reset the fifo when enabled or disabled pl011: fix UARTRSR accesses corrupting the UARTCR value pl011: fix incorrect logic to set the RXFF flag hw/char/pl011.c | 24 ++++-- hw/ide/ahci.c | 13 ++-- target-arm/helper.h | 34 ++++++--- target-arm/neon_helper.c | 187 +++++++++++++++++++++++++++++++++++++++++++++ target-arm/translate-a64.c | 160 +++++++++++++++++++++++++++++++++++--- 5 files changed, 383 insertions(+), 35 deletions(-) ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [PULL 0/6] target-arm queue 2014-03-19 12:05 Peter Maydell @ 2014-03-19 13:33 ` Peter Maydell 0 siblings, 0 replies; 36+ messages in thread From: Peter Maydell @ 2014-03-19 13:33 UTC (permalink / raw) To: Anthony Liguori; +Cc: Blue Swirl, QEMU Developers, Aurelien Jarno On 19 March 2014 12:05, Peter Maydell <peter.maydell@linaro.org> wrote: > Last target-arm pull before rc1. I don't know of any further outstanding > ARM related issues which would need to be fixed for 2.0 so barring any > late-breaking bug reports I think this should be it until release. Applied, thanks. -- PMM ^ permalink raw reply [flat|nested] 36+ messages in thread
* [Qemu-devel] [PULL 0/6] target-arm queue @ 2013-10-25 18:07 Peter Maydell 2013-10-31 14:02 ` Edgar E. Iglesias 0 siblings, 1 reply; 36+ messages in thread From: Peter Maydell @ 2013-10-25 18:07 UTC (permalink / raw) To: Anthony Liguori; +Cc: qemu-devel The following changes since commit fc8ead74674b7129e8f31c2595c76658e5622197: Merge remote-tracking branch 'qemu-kvm/uq/master' into staging (2013-10-18 10:03:24 -0700) are available in the git repository at: git://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20131025 for you to fetch changes up to 71c903cc3b78fc563122fe40c5cadd050068b91a: integrator: fix Linux boot failure by emulating dbg region (2013-10-25 18:27:07 +0100) ---------------------------------------------------------------- target-arm queue: a couple of trivial features to improve support for some guest emulation cases, notably running UEFI images: * support VBAR (vector base address register) * allow running without specifying a kernel (ie just running an image from flash) Plus some bugfixes. ---------------------------------------------------------------- Alex Bennée (1): integrator: fix Linux boot failure by emulating dbg region Alvise Rigo (2): target-arm: sort TCG cpreg list by KVM-style 64 bit ID number target-arm: fix sorting issue of KVM cpreg list Nathan Rossi (1): target-arm: Add CP15 VBAR support Peter Maydell (2): hw/arm/boot: Make user not specifying a kernel not an error hw/arm: Tidy up conditional calls to arm_load_kernel default-configs/arm-softmmu.mak | 1 + hw/arm/boot.c | 6 +- hw/arm/integratorcp.c | 2 + hw/arm/omap_sx1.c | 10 ++-- hw/arm/palm.c | 10 ++-- hw/arm/z2.c | 12 ++-- hw/misc/Makefile.objs | 1 + hw/misc/arm_integrator_debug.c | 99 ++++++++++++++++++++++++++++++++ include/hw/misc/arm_integrator_debug.h | 18 ++++++ target-arm/cpu.h | 1 + target-arm/helper.c | 33 ++++++++++- target-arm/kvm.c | 8 ++- 12 files changed, 176 insertions(+), 25 deletions(-) create mode 100644 hw/misc/arm_integrator_debug.c create mode 100644 include/hw/misc/arm_integrator_debug.h ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [PULL 0/6] target-arm queue 2013-10-25 18:07 Peter Maydell @ 2013-10-31 14:02 ` Edgar E. Iglesias 2013-10-31 14:18 ` Andreas Färber 0 siblings, 1 reply; 36+ messages in thread From: Edgar E. Iglesias @ 2013-10-31 14:02 UTC (permalink / raw) To: Peter Maydell; +Cc: qemu-devel, Anthony Liguori On Fri, Oct 25, 2013 at 07:07:23PM +0100, Peter Maydell wrote: > The following changes since commit fc8ead74674b7129e8f31c2595c76658e5622197: > > Merge remote-tracking branch 'qemu-kvm/uq/master' into staging (2013-10-18 10:03:24 -0700) > > are available in the git repository at: > > > git://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20131025 > > for you to fetch changes up to 71c903cc3b78fc563122fe40c5cadd050068b91a: > > integrator: fix Linux boot failure by emulating dbg region (2013-10-25 18:27:07 +0100) Applied, thanks all. Cheers, Edgar > > ---------------------------------------------------------------- > target-arm queue: a couple of trivial features to improve support > for some guest emulation cases, notably running UEFI images: > * support VBAR (vector base address register) > * allow running without specifying a kernel (ie just running > an image from flash) > Plus some bugfixes. > > ---------------------------------------------------------------- > Alex Bennée (1): > integrator: fix Linux boot failure by emulating dbg region > > Alvise Rigo (2): > target-arm: sort TCG cpreg list by KVM-style 64 bit ID number > target-arm: fix sorting issue of KVM cpreg list > > Nathan Rossi (1): > target-arm: Add CP15 VBAR support > > Peter Maydell (2): > hw/arm/boot: Make user not specifying a kernel not an error > hw/arm: Tidy up conditional calls to arm_load_kernel > > default-configs/arm-softmmu.mak | 1 + > hw/arm/boot.c | 6 +- > hw/arm/integratorcp.c | 2 + > hw/arm/omap_sx1.c | 10 ++-- > hw/arm/palm.c | 10 ++-- > hw/arm/z2.c | 12 ++-- > hw/misc/Makefile.objs | 1 + > hw/misc/arm_integrator_debug.c | 99 ++++++++++++++++++++++++++++++++ > include/hw/misc/arm_integrator_debug.h | 18 ++++++ > target-arm/cpu.h | 1 + > target-arm/helper.c | 33 ++++++++++- > target-arm/kvm.c | 8 ++- > 12 files changed, 176 insertions(+), 25 deletions(-) > create mode 100644 hw/misc/arm_integrator_debug.c > create mode 100644 include/hw/misc/arm_integrator_debug.h > ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [PULL 0/6] target-arm queue 2013-10-31 14:02 ` Edgar E. Iglesias @ 2013-10-31 14:18 ` Andreas Färber 2013-10-31 14:21 ` Anthony Liguori ` (2 more replies) 0 siblings, 3 replies; 36+ messages in thread From: Andreas Färber @ 2013-10-31 14:18 UTC (permalink / raw) To: Edgar E. Iglesias, Peter Maydell; +Cc: qemu-devel, Anthony Liguori Hi, Am 31.10.2013 15:02, schrieb Edgar E. Iglesias: > On Fri, Oct 25, 2013 at 07:07:23PM +0100, Peter Maydell wrote: >> The following changes since commit fc8ead74674b7129e8f31c2595c76658e5622197: >> >> Merge remote-tracking branch 'qemu-kvm/uq/master' into staging (2013-10-18 10:03:24 -0700) >> >> are available in the git repository at: >> >> >> git://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20131025 >> >> for you to fetch changes up to 71c903cc3b78fc563122fe40c5cadd050068b91a: >> >> integrator: fix Linux boot failure by emulating dbg region (2013-10-25 18:27:07 +0100) > > > Applied, thanks all. Edgar, there is no merge commit in qemu.git despite this being a signed pull. Do you maybe need to upgrade your version of git? Peter, since I had picked up the first two patches into my still pending qom-next pull, as per the QEMU Summit discussion those patches should've gotten an Acked-by. Regards, Andreas -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [PULL 0/6] target-arm queue 2013-10-31 14:18 ` Andreas Färber @ 2013-10-31 14:21 ` Anthony Liguori 2013-10-31 14:31 ` Peter Maydell 2013-10-31 22:13 ` Edgar E. Iglesias 2 siblings, 0 replies; 36+ messages in thread From: Anthony Liguori @ 2013-10-31 14:21 UTC (permalink / raw) To: Andreas Färber Cc: Edgar E. Iglesias, qemu-devel, Anthony Liguori, Peter Maydell On Thu, Oct 31, 2013 at 3:18 PM, Andreas Färber <afaerber@suse.de> wrote: > Hi, > > Am 31.10.2013 15:02, schrieb Edgar E. Iglesias: >> On Fri, Oct 25, 2013 at 07:07:23PM +0100, Peter Maydell wrote: >>> The following changes since commit fc8ead74674b7129e8f31c2595c76658e5622197: >>> >>> Merge remote-tracking branch 'qemu-kvm/uq/master' into staging (2013-10-18 10:03:24 -0700) >>> >>> are available in the git repository at: >>> >>> >>> git://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20131025 >>> >>> for you to fetch changes up to 71c903cc3b78fc563122fe40c5cadd050068b91a: >>> >>> integrator: fix Linux boot failure by emulating dbg region (2013-10-25 18:27:07 +0100) >> >> >> Applied, thanks all. > > Edgar, there is no merge commit in qemu.git despite this being a signed > pull. Do you maybe need to upgrade your version of git? Need to add: [merge] ff = false To your git config to prevent fast forwards on merging. Regards, Anthony Liguori > Peter, since I had picked up the first two patches into my still pending > qom-next pull, as per the QEMU Summit discussion those patches should've > gotten an Acked-by. > > Regards, > Andreas > > -- > SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany > GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg > ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [PULL 0/6] target-arm queue 2013-10-31 14:18 ` Andreas Färber 2013-10-31 14:21 ` Anthony Liguori @ 2013-10-31 14:31 ` Peter Maydell 2013-10-31 14:36 ` Andreas Färber 2013-10-31 22:13 ` Edgar E. Iglesias 2 siblings, 1 reply; 36+ messages in thread From: Peter Maydell @ 2013-10-31 14:31 UTC (permalink / raw) To: Andreas Färber; +Cc: Edgar E. Iglesias, QEMU Developers, Anthony Liguori On 31 October 2013 14:18, Andreas Färber <afaerber@suse.de> wrote: > Peter, since I had picked up the first two patches into my still pending > qom-next pull, as per the QEMU Summit discussion those patches should've > gotten an Acked-by. Hmm? I don't recall this part of the discussion. If you want the patches to have an Acked-by from you you need to send mail to the list with an Acked-by line. thanks -- PMM ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [PULL 0/6] target-arm queue 2013-10-31 14:31 ` Peter Maydell @ 2013-10-31 14:36 ` Andreas Färber 2013-10-31 14:39 ` Anthony Liguori 2013-10-31 15:16 ` Peter Maydell 0 siblings, 2 replies; 36+ messages in thread From: Andreas Färber @ 2013-10-31 14:36 UTC (permalink / raw) To: Peter Maydell; +Cc: Edgar E. Iglesias, QEMU Developers, Anthony Liguori Am 31.10.2013 15:31, schrieb Peter Maydell: > On 31 October 2013 14:18, Andreas Färber <afaerber@suse.de> wrote: >> Peter, since I had picked up the first two patches into my still pending >> qom-next pull, as per the QEMU Summit discussion those patches should've >> gotten an Acked-by. > > Hmm? I don't recall this part of the discussion. If you want the > patches to have an Acked-by from you you need to send mail > to the list with an Acked-by line. No, I added a Signed-off-by. It was clearly stated that a Reviewed-by needs to be explicitly sent as reply but that "looks okay" should in exactly such a case where sender=submaintainer should be recorded as Acked-by, and Sob is certainly stronger than Acked-by. Cf. minutes. Andreas -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [PULL 0/6] target-arm queue 2013-10-31 14:36 ` Andreas Färber @ 2013-10-31 14:39 ` Anthony Liguori 2013-10-31 14:45 ` Andreas Färber 2013-10-31 15:16 ` Peter Maydell 1 sibling, 1 reply; 36+ messages in thread From: Anthony Liguori @ 2013-10-31 14:39 UTC (permalink / raw) To: Andreas Färber Cc: Peter Maydell, QEMU Developers, Anthony Liguori, Edgar E. Iglesias On Thu, Oct 31, 2013 at 3:36 PM, Andreas Färber <afaerber@suse.de> wrote: > Am 31.10.2013 15:31, schrieb Peter Maydell: >> On 31 October 2013 14:18, Andreas Färber <afaerber@suse.de> wrote: >>> Peter, since I had picked up the first two patches into my still pending >>> qom-next pull, as per the QEMU Summit discussion those patches should've >>> gotten an Acked-by. >> >> Hmm? I don't recall this part of the discussion. If you want the >> patches to have an Acked-by from you you need to send mail >> to the list with an Acked-by line. > > No, I added a Signed-off-by. It was clearly stated that a Reviewed-by > needs to be explicitly sent as reply but that "looks okay" should in > exactly such a case where sender=submaintainer should be recorded as > Acked-by, and Sob is certainly stronger than Acked-by. Cf. minutes. Nope. If you want there to be an Acked-by, say "Acked-by:". Don't make people infer your Acked-bys. And adding tags is a nice-to-have. There is no "rule" stating that you must include everyone that appears on the mailing list. But I expect that maintainers try to Regards, Anthony Liguori > Andreas > > -- > SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany > GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg > ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [PULL 0/6] target-arm queue 2013-10-31 14:39 ` Anthony Liguori @ 2013-10-31 14:45 ` Andreas Färber 2013-10-31 14:54 ` Anthony Liguori 2013-10-31 15:04 ` Anthony Liguori 0 siblings, 2 replies; 36+ messages in thread From: Andreas Färber @ 2013-10-31 14:45 UTC (permalink / raw) To: Anthony Liguori Cc: Peter Maydell, QEMU Developers, Anthony Liguori, Edgar E. Iglesias Am 31.10.2013 15:39, schrieb Anthony Liguori: > On Thu, Oct 31, 2013 at 3:36 PM, Andreas Färber <afaerber@suse.de> wrote: >> Am 31.10.2013 15:31, schrieb Peter Maydell: >>> On 31 October 2013 14:18, Andreas Färber <afaerber@suse.de> wrote: >>>> Peter, since I had picked up the first two patches into my still pending >>>> qom-next pull, as per the QEMU Summit discussion those patches should've >>>> gotten an Acked-by. >>> >>> Hmm? I don't recall this part of the discussion. If you want the >>> patches to have an Acked-by from you you need to send mail >>> to the list with an Acked-by line. >> >> No, I added a Signed-off-by. It was clearly stated that a Reviewed-by >> needs to be explicitly sent as reply but that "looks okay" should in >> exactly such a case where sender=submaintainer should be recorded as >> Acked-by, and Sob is certainly stronger than Acked-by. Cf. minutes. > > Nope. If you want there to be an Acked-by, say "Acked-by:". Don't > make people infer your Acked-bys. Yes, that's in the minutes. And yes, that's what I got as answer there. Please reply to the minutes if you think otherwise. I brought up exactly this situation where I am contributor to CPU and submaintainer of CPU and often not getting Reviewed-bys but if at all, such as from Paolo recently, some verbal "looks OK" for a series. I was told that that should be turned into an Acked-by on the patches to satisfy your criteria that contributors may not just send patches as pull without Reviewed-by. > And adding tags is a nice-to-have. There is no "rule" stating that > you must include everyone that appears on the mailing list. But I > expect that maintainers try to Again, at QEMU Summit you pushed for making Reviewed-by a must-have and we discussed whether a submaintainer must add a Reviewed-by then and what to do if author==submaintainer. If you dropped that thought, then fine with me. Regards, Andreas -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [PULL 0/6] target-arm queue 2013-10-31 14:45 ` Andreas Färber @ 2013-10-31 14:54 ` Anthony Liguori 2013-10-31 15:04 ` Anthony Liguori 1 sibling, 0 replies; 36+ messages in thread From: Anthony Liguori @ 2013-10-31 14:54 UTC (permalink / raw) To: Andreas Färber Cc: Peter Maydell, QEMU Developers, Anthony Liguori, Edgar E. Iglesias On Thu, Oct 31, 2013 at 3:45 PM, Andreas Färber <afaerber@suse.de> wrote: > Am 31.10.2013 15:39, schrieb Anthony Liguori: >> On Thu, Oct 31, 2013 at 3:36 PM, Andreas Färber <afaerber@suse.de> wrote: >>> Am 31.10.2013 15:31, schrieb Peter Maydell: >>>> On 31 October 2013 14:18, Andreas Färber <afaerber@suse.de> wrote: >>>>> Peter, since I had picked up the first two patches into my still pending >>>>> qom-next pull, as per the QEMU Summit discussion those patches should've >>>>> gotten an Acked-by. >>>> >>>> Hmm? I don't recall this part of the discussion. If you want the >>>> patches to have an Acked-by from you you need to send mail >>>> to the list with an Acked-by line. >>> >>> No, I added a Signed-off-by. It was clearly stated that a Reviewed-by >>> needs to be explicitly sent as reply but that "looks okay" should in >>> exactly such a case where sender=submaintainer should be recorded as >>> Acked-by, and Sob is certainly stronger than Acked-by. Cf. minutes. >> >> Nope. If you want there to be an Acked-by, say "Acked-by:". Don't >> make people infer your Acked-bys. > > Yes, that's in the minutes. And yes, that's what I got as answer there. > Please reply to the minutes if you think otherwise. I > I brought up exactly this situation where I am contributor to CPU and > submaintainer of CPU and often not getting Reviewed-bys but if at all, > such as from Paolo recently, some verbal "looks OK" for a series. I was > told that that should be turned into an Acked-by on the patches to > satisfy your criteria that contributors may not just send patches as > pull without Reviewed-by. > >> And adding tags is a nice-to-have. There is no "rule" stating that >> you must include everyone that appears on the mailing list. But I >> expect that maintainers try to > > Again, at QEMU Summit you pushed for making Reviewed-by a must-have and > we discussed whether a submaintainer must add a Reviewed-by then and > what to do if author==submaintainer. If you dropped that thought, then > fine with me. > > Regards, > Andreas > > -- > SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany > GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [PULL 0/6] target-arm queue 2013-10-31 14:45 ` Andreas Färber 2013-10-31 14:54 ` Anthony Liguori @ 2013-10-31 15:04 ` Anthony Liguori 2013-10-31 16:52 ` Andreas Färber 1 sibling, 1 reply; 36+ messages in thread From: Anthony Liguori @ 2013-10-31 15:04 UTC (permalink / raw) To: Andreas Färber Cc: Peter Maydell, QEMU Developers, Anthony Liguori, Edgar E. Iglesias On Thu, Oct 31, 2013 at 3:45 PM, Andreas Färber <afaerber@suse.de> wrote: > Am 31.10.2013 15:39, schrieb Anthony Liguori: >> On Thu, Oct 31, 2013 at 3:36 PM, Andreas Färber <afaerber@suse.de> wrote: >>> Am 31.10.2013 15:31, schrieb Peter Maydell: >>>> On 31 October 2013 14:18, Andreas Färber <afaerber@suse.de> wrote: >>>>> Peter, since I had picked up the first two patches into my still pending >>>>> qom-next pull, as per the QEMU Summit discussion those patches should've >>>>> gotten an Acked-by. >>>> >>>> Hmm? I don't recall this part of the discussion. If you want the >>>> patches to have an Acked-by from you you need to send mail >>>> to the list with an Acked-by line. >>> >>> No, I added a Signed-off-by. It was clearly stated that a Reviewed-by >>> needs to be explicitly sent as reply but that "looks okay" should in >>> exactly such a case where sender=submaintainer should be recorded as >>> Acked-by, and Sob is certainly stronger than Acked-by. Cf. minutes. >> >> Nope. If you want there to be an Acked-by, say "Acked-by:". Don't >> make people infer your Acked-bys. > > Yes, that's in the minutes. And yes, that's what I got as answer there. > Please reply to the minutes if you think otherwise. I explicitly said that Acked-bys are useless too. The minutes say that you said the kernel treats "Acked-bys" as "looks good". You did say that. At no point did a "rule" get made though. > I brought up exactly this situation where I am contributor to CPU and > submaintainer of CPU and often not getting Reviewed-bys but if at all, > such as from Paolo recently, some verbal "looks OK" for a series. I was > told that that should be turned into an Acked-by on the patches to > satisfy your criteria that contributors may not just send patches as > pull without Reviewed-by. I think you misunderstood. I don't care about Acked-bys. They are useless. A third of patches are being committed with Reviewed-bys. There are certainly many cases where patches are going in from submaintainers that have been reviewed which comes implicitly with Signed-off-by. But I worry that we're not reviewing enough on list and that there are patches from maintainers going in through maintainer trees that aren't getting outside review. There's no immediate action for this other than we should all try to review more patches on list to prevent the above situation. >> And adding tags is a nice-to-have. There is no "rule" stating that >> you must include everyone that appears on the mailing list. But I >> expect that maintainers try to > > Again, at QEMU Summit you pushed for making Reviewed-by a must-have and > we discussed whether a submaintainer must add a Reviewed-by then and > what to do if author==submaintainer. If you dropped that thought, then > fine with me. Yes, patches should get reviewed. I hope this is obvious to all of us :-) I also suggested that I have tooling that people can use to simplify adding collected Reviewed-bys on the list. But none of this has anything to do with inferred Acked-bys. I'll go a step further and say that I would be very unhappy if anyone every added any kind of tag to a patch with my name on it that I didn't send myself. Regards, Anthony Liguori > > Regards, > Andreas > > -- > SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany > GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [PULL 0/6] target-arm queue 2013-10-31 15:04 ` Anthony Liguori @ 2013-10-31 16:52 ` Andreas Färber 2013-10-31 16:54 ` Anthony Liguori ` (2 more replies) 0 siblings, 3 replies; 36+ messages in thread From: Andreas Färber @ 2013-10-31 16:52 UTC (permalink / raw) To: Anthony Liguori Cc: Peter Maydell, QEMU Developers, Anthony Liguori, Edgar E. Iglesias Am 31.10.2013 16:04, schrieb Anthony Liguori: > On Thu, Oct 31, 2013 at 3:45 PM, Andreas Färber <afaerber@suse.de> wrote: >> Am 31.10.2013 15:39, schrieb Anthony Liguori: >>> On Thu, Oct 31, 2013 at 3:36 PM, Andreas Färber <afaerber@suse.de> wrote: >>>> Am 31.10.2013 15:31, schrieb Peter Maydell: >>>>> On 31 October 2013 14:18, Andreas Färber <afaerber@suse.de> wrote: >>>>>> Peter, since I had picked up the first two patches into my still pending >>>>>> qom-next pull, as per the QEMU Summit discussion those patches should've >>>>>> gotten an Acked-by. >>>>> >>>>> Hmm? I don't recall this part of the discussion. If you want the >>>>> patches to have an Acked-by from you you need to send mail >>>>> to the list with an Acked-by line. >>>> >>>> No, I added a Signed-off-by. It was clearly stated that a Reviewed-by >>>> needs to be explicitly sent as reply but that "looks okay" should in >>>> exactly such a case where sender=submaintainer should be recorded as >>>> Acked-by, and Sob is certainly stronger than Acked-by. Cf. minutes. >>> >>> Nope. If you want there to be an Acked-by, say "Acked-by:". Don't >>> make people infer your Acked-bys. >> >> Yes, that's in the minutes. And yes, that's what I got as answer there. >> Please reply to the minutes if you think otherwise. > > I explicitly said that Acked-bys are useless too. > > The minutes say that you said the kernel treats "Acked-bys" as "looks > good". You did say that. I *asked* about what to do with my QEMU CPU patches that only get a "looks okay" and got only positive answers for whether that should be an Acked-by and no objection, including none from you. I certainly said nothing at all about the kernel. > At no point did a "rule" get made though. The new rule you made was: no patch without Reviewed-by. Peter sending that PULL and Edgar merging it both violate that rule. No objection against a particular patch function-wise. Point is, had Peter ping'ed me before sending out that pull, he would've actually gotten a Reviewed-by from me, thereby satisfying your rule! He didn't, ignoring that he himself had actually told me to queue the patches before his vacation, for which obviously I reviewed and tested them. Maybe there's no obligation for picking up tags, but then again you can't go ahead and do statistics over incompletely recorded tags. Regards, Andreas >> I brought up exactly this situation where I am contributor to CPU and >> submaintainer of CPU and often not getting Reviewed-bys but if at all, >> such as from Paolo recently, some verbal "looks OK" for a series. I was >> told that that should be turned into an Acked-by on the patches to >> satisfy your criteria that contributors may not just send patches as >> pull without Reviewed-by. > > I think you misunderstood. > > I don't care about Acked-bys. They are useless. > > A third of patches are being committed with Reviewed-bys. There are > certainly many cases where patches are going in from submaintainers > that have been reviewed which comes implicitly with Signed-off-by. > > But I worry that we're not reviewing enough on list and that there are > patches from maintainers going in through maintainer trees that aren't > getting outside review. > > There's no immediate action for this other than we should all try to > review more patches on list to prevent the above situation. > >>> And adding tags is a nice-to-have. There is no "rule" stating that >>> you must include everyone that appears on the mailing list. But I >>> expect that maintainers try to >> >> Again, at QEMU Summit you pushed for making Reviewed-by a must-have and >> we discussed whether a submaintainer must add a Reviewed-by then and >> what to do if author==submaintainer. If you dropped that thought, then >> fine with me. > > Yes, patches should get reviewed. I hope this is obvious to all of us :-) > > I also suggested that I have tooling that people can use to simplify > adding collected Reviewed-bys on the list. > > But none of this has anything to do with inferred Acked-bys. I'll go > a step further and say that I would be very unhappy if anyone every > added any kind of tag to a patch with my name on it that I didn't send > myself. > > Regards, > > Anthony Liguori > >> >> Regards, >> Andreas >> >> -- >> SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany >> GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [PULL 0/6] target-arm queue 2013-10-31 16:52 ` Andreas Färber @ 2013-10-31 16:54 ` Anthony Liguori 2013-10-31 17:10 ` Andreas Färber 2013-10-31 17:02 ` Peter Maydell 2013-10-31 18:55 ` Anthony Liguori 2 siblings, 1 reply; 36+ messages in thread From: Anthony Liguori @ 2013-10-31 16:54 UTC (permalink / raw) To: Andreas Färber Cc: Peter Maydell, QEMU Developers, Anthony Liguori, Edgar E. Iglesias On Thu, Oct 31, 2013 at 5:52 PM, Andreas Färber <afaerber@suse.de> wrote: > Am 31.10.2013 16:04, schrieb Anthony Liguori: >> On Thu, Oct 31, 2013 at 3:45 PM, Andreas Färber <afaerber@suse.de> wrote: >>> Am 31.10.2013 15:39, schrieb Anthony Liguori: >>>> On Thu, Oct 31, 2013 at 3:36 PM, Andreas Färber <afaerber@suse.de> wrote: >>>>> Am 31.10.2013 15:31, schrieb Peter Maydell: >>>>>> On 31 October 2013 14:18, Andreas Färber <afaerber@suse.de> wrote: >>>>>>> Peter, since I had picked up the first two patches into my still pending >>>>>>> qom-next pull, as per the QEMU Summit discussion those patches should've >>>>>>> gotten an Acked-by. >>>>>> >>>>>> Hmm? I don't recall this part of the discussion. If you want the >>>>>> patches to have an Acked-by from you you need to send mail >>>>>> to the list with an Acked-by line. >>>>> >>>>> No, I added a Signed-off-by. It was clearly stated that a Reviewed-by >>>>> needs to be explicitly sent as reply but that "looks okay" should in >>>>> exactly such a case where sender=submaintainer should be recorded as >>>>> Acked-by, and Sob is certainly stronger than Acked-by. Cf. minutes. >>>> >>>> Nope. If you want there to be an Acked-by, say "Acked-by:". Don't >>>> make people infer your Acked-bys. >>> >>> Yes, that's in the minutes. And yes, that's what I got as answer there. >>> Please reply to the minutes if you think otherwise. >> >> I explicitly said that Acked-bys are useless too. >> >> The minutes say that you said the kernel treats "Acked-bys" as "looks >> good". You did say that. > > I *asked* about what to do with my QEMU CPU patches that only get a > "looks okay" and got only positive answers for whether that should be an > Acked-by and no objection, including none from you. > I certainly said nothing at all about the kernel. > >> At no point did a "rule" get made though. > > The new rule you made was: no patch without Reviewed-by. > Peter sending that PULL and Edgar merging it both violate that rule. I never said anything like that. Regards, Anthony Liguori > No objection against a particular patch function-wise. > > Point is, had Peter ping'ed me before sending out that pull, he would've > actually gotten a Reviewed-by from me, thereby satisfying your rule! He > didn't, ignoring that he himself had actually told me to queue the > patches before his vacation, for which obviously I reviewed and tested them. > > Maybe there's no obligation for picking up tags, but then again you > can't go ahead and do statistics over incompletely recorded tags. > > Regards, > Andreas > >>> I brought up exactly this situation where I am contributor to CPU and >>> submaintainer of CPU and often not getting Reviewed-bys but if at all, >>> such as from Paolo recently, some verbal "looks OK" for a series. I was >>> told that that should be turned into an Acked-by on the patches to >>> satisfy your criteria that contributors may not just send patches as >>> pull without Reviewed-by. >> >> I think you misunderstood. >> >> I don't care about Acked-bys. They are useless. >> >> A third of patches are being committed with Reviewed-bys. There are >> certainly many cases where patches are going in from submaintainers >> that have been reviewed which comes implicitly with Signed-off-by. >> >> But I worry that we're not reviewing enough on list and that there are >> patches from maintainers going in through maintainer trees that aren't >> getting outside review. >> >> There's no immediate action for this other than we should all try to >> review more patches on list to prevent the above situation. >> >>>> And adding tags is a nice-to-have. There is no "rule" stating that >>>> you must include everyone that appears on the mailing list. But I >>>> expect that maintainers try to >>> >>> Again, at QEMU Summit you pushed for making Reviewed-by a must-have and >>> we discussed whether a submaintainer must add a Reviewed-by then and >>> what to do if author==submaintainer. If you dropped that thought, then >>> fine with me. >> >> Yes, patches should get reviewed. I hope this is obvious to all of us :-) >> >> I also suggested that I have tooling that people can use to simplify >> adding collected Reviewed-bys on the list. >> >> But none of this has anything to do with inferred Acked-bys. I'll go >> a step further and say that I would be very unhappy if anyone every >> added any kind of tag to a patch with my name on it that I didn't send >> myself. >> >> Regards, >> >> Anthony Liguori >> >>> >>> Regards, >>> Andreas >>> >>> -- >>> SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany >>> GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg > > > -- > SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany > GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [PULL 0/6] target-arm queue 2013-10-31 16:54 ` Anthony Liguori @ 2013-10-31 17:10 ` Andreas Färber 0 siblings, 0 replies; 36+ messages in thread From: Andreas Färber @ 2013-10-31 17:10 UTC (permalink / raw) To: Anthony Liguori Cc: Peter Maydell, QEMU Developers, Anthony Liguori, Edgar E. Iglesias Am 31.10.2013 17:54, schrieb Anthony Liguori: > On Thu, Oct 31, 2013 at 5:52 PM, Andreas Färber <afaerber@suse.de> wrote: >> The new rule you made was: no patch without Reviewed-by. >> Peter sending that PULL and Edgar merging it both violate that rule. > > I never said anything like that. I could've sworn you did and that prompted Peter(?) to ask whether submaintainers taking a patch from someone else should add a Reviewed-by, too... Then this whole discussion is moot and we just need to fix the minutes: http://www.mail-archive.com/qemu-devel@nongnu.org/msg199693.html Regards, Andreas -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [PULL 0/6] target-arm queue 2013-10-31 16:52 ` Andreas Färber 2013-10-31 16:54 ` Anthony Liguori @ 2013-10-31 17:02 ` Peter Maydell 2013-10-31 17:15 ` Peter Maydell 2013-10-31 18:55 ` Anthony Liguori 2 siblings, 1 reply; 36+ messages in thread From: Peter Maydell @ 2013-10-31 17:02 UTC (permalink / raw) To: Andreas Färber Cc: Edgar E. Iglesias, QEMU Developers, Anthony Liguori, Anthony Liguori On 31 October 2013 16:52, Andreas Färber <afaerber@suse.de> wrote: > I *asked* about what to do with my QEMU CPU patches that only get a > "looks okay" and got only positive answers for whether that should be an > Acked-by and no objection, including none from you. I agreed with that because IMHO you may treat a "looks ok" from a relevant subsystem maintainer like an acked-by. There is no *obligation* to do so -- it's merely that if you think it's worth noting and it will help get your patches upstream you can. > Point is, had Peter ping'ed me before sending out that pull, he would've > actually gotten a Reviewed-by from me, thereby satisfying your rule! He > didn't, ignoring that he himself had actually told me to queue the > patches before his vacation, for which obviously I reviewed and tested them. I told you to queue the patches because you needed them as prereqs and I was expecting the timing to work out such that you'd get a pullreq taken so they'd get upstream while I was away. Since it didn't and I wanted them in 1.7 I put them in my pullreq (which is technically the better place for them since they're ARM patches, not QOM ones). I don't see this as a big deal. thanks -- PMM ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [PULL 0/6] target-arm queue 2013-10-31 17:02 ` Peter Maydell @ 2013-10-31 17:15 ` Peter Maydell 0 siblings, 0 replies; 36+ messages in thread From: Peter Maydell @ 2013-10-31 17:15 UTC (permalink / raw) To: Andreas Färber Cc: Edgar E. Iglesias, QEMU Developers, Anthony Liguori, Anthony Liguori On 31 October 2013 17:02, Peter Maydell <peter.maydell@linaro.org> wrote: > I told you to queue the patches because you needed them as prereqs > and I was expecting the timing to work out such that you'd get a pullreq > taken so they'd get upstream while I was away. > Since it didn't and I wanted them in 1.7 I put them in my pullreq (which > is technically the better place for them since they're ARM patches, not > QOM ones). I don't see this as a big deal. ...also, to be honest, by the time I got back from holiday I'd pretty much forgotten about this and they were just another set of patches in my list of "this should go in and isn't in upstream yet". Sorry for any confusion. -- PMM ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [PULL 0/6] target-arm queue 2013-10-31 16:52 ` Andreas Färber 2013-10-31 16:54 ` Anthony Liguori 2013-10-31 17:02 ` Peter Maydell @ 2013-10-31 18:55 ` Anthony Liguori 2 siblings, 0 replies; 36+ messages in thread From: Anthony Liguori @ 2013-10-31 18:55 UTC (permalink / raw) To: Andreas Färber Cc: Peter Maydell, QEMU Developers, Anthony Liguori, Edgar E. Iglesias On Thu, Oct 31, 2013 at 5:52 PM, Andreas Färber <afaerber@suse.de> wrote: > Am 31.10.2013 16:04, schrieb Anthony Liguori: >> On Thu, Oct 31, 2013 at 3:45 PM, Andreas Färber <afaerber@suse.de> wrote: >>> Am 31.10.2013 15:39, schrieb Anthony Liguori: >>>> On Thu, Oct 31, 2013 at 3:36 PM, Andreas Färber <afaerber@suse.de> wrote: >>>>> Am 31.10.2013 15:31, schrieb Peter Maydell: >>>>>> On 31 October 2013 14:18, Andreas Färber <afaerber@suse.de> wrote: >>>>>>> Peter, since I had picked up the first two patches into my still pending >>>>>>> qom-next pull, as per the QEMU Summit discussion those patches should've >>>>>>> gotten an Acked-by. >>>>>> >>>>>> Hmm? I don't recall this part of the discussion. If you want the >>>>>> patches to have an Acked-by from you you need to send mail >>>>>> to the list with an Acked-by line. >>>>> >>>>> No, I added a Signed-off-by. It was clearly stated that a Reviewed-by >>>>> needs to be explicitly sent as reply but that "looks okay" should in >>>>> exactly such a case where sender=submaintainer should be recorded as >>>>> Acked-by, and Sob is certainly stronger than Acked-by. Cf. minutes. >>>> >>>> Nope. If you want there to be an Acked-by, say "Acked-by:". Don't >>>> make people infer your Acked-bys. >>> >>> Yes, that's in the minutes. And yes, that's what I got as answer there. >>> Please reply to the minutes if you think otherwise. >> >> I explicitly said that Acked-bys are useless too. >> >> The minutes say that you said the kernel treats "Acked-bys" as "looks >> good". You did say that. > > I *asked* about what to do with my QEMU CPU patches that only get a > "looks okay" and got only positive answers for whether that should be an > Acked-by and no objection, including none from you. > I certainly said nothing at all about the kernel. > >> At no point did a "rule" get made though. > > The new rule you made was: no patch without Reviewed-by. Andreas, I have no idea where you're getting this from. I think you misunderstood what was discussed at the QEMU Summit. Again, there are no new rules. I spoke about encouraging more reviews on list because it's something we need to focus on as a community. I think you need to step back a bit and give folks the benefit of the doubt. No one is doing anything malicious here. Regards, Anthony Liguori > Peter sending that PULL and Edgar merging it both violate that rule. > No objection against a particular patch function-wise. > > Point is, had Peter ping'ed me before sending out that pull, he would've > actually gotten a Reviewed-by from me, thereby satisfying your rule! He > didn't, ignoring that he himself had actually told me to queue the > patches before his vacation, for which obviously I reviewed and tested them. > > Maybe there's no obligation for picking up tags, but then again you > can't go ahead and do statistics over incompletely recorded tags. > > Regards, > Andreas > >>> I brought up exactly this situation where I am contributor to CPU and >>> submaintainer of CPU and often not getting Reviewed-bys but if at all, >>> such as from Paolo recently, some verbal "looks OK" for a series. I was >>> told that that should be turned into an Acked-by on the patches to >>> satisfy your criteria that contributors may not just send patches as >>> pull without Reviewed-by. >> >> I think you misunderstood. >> >> I don't care about Acked-bys. They are useless. >> >> A third of patches are being committed with Reviewed-bys. There are >> certainly many cases where patches are going in from submaintainers >> that have been reviewed which comes implicitly with Signed-off-by. >> >> But I worry that we're not reviewing enough on list and that there are >> patches from maintainers going in through maintainer trees that aren't >> getting outside review. >> >> There's no immediate action for this other than we should all try to >> review more patches on list to prevent the above situation. >> >>>> And adding tags is a nice-to-have. There is no "rule" stating that >>>> you must include everyone that appears on the mailing list. But I >>>> expect that maintainers try to >>> >>> Again, at QEMU Summit you pushed for making Reviewed-by a must-have and >>> we discussed whether a submaintainer must add a Reviewed-by then and >>> what to do if author==submaintainer. If you dropped that thought, then >>> fine with me. >> >> Yes, patches should get reviewed. I hope this is obvious to all of us :-) >> >> I also suggested that I have tooling that people can use to simplify >> adding collected Reviewed-bys on the list. >> >> But none of this has anything to do with inferred Acked-bys. I'll go >> a step further and say that I would be very unhappy if anyone every >> added any kind of tag to a patch with my name on it that I didn't send >> myself. >> >> Regards, >> >> Anthony Liguori >> >>> >>> Regards, >>> Andreas >>> >>> -- >>> SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany >>> GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg > > > -- > SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany > GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [PULL 0/6] target-arm queue 2013-10-31 14:36 ` Andreas Färber 2013-10-31 14:39 ` Anthony Liguori @ 2013-10-31 15:16 ` Peter Maydell 2013-10-31 17:14 ` Andreas Färber 1 sibling, 1 reply; 36+ messages in thread From: Peter Maydell @ 2013-10-31 15:16 UTC (permalink / raw) To: Andreas Färber; +Cc: Edgar E. Iglesias, QEMU Developers, Anthony Liguori On 31 October 2013 14:36, Andreas Färber <afaerber@suse.de> wrote: > Am 31.10.2013 15:31, schrieb Peter Maydell: >> On 31 October 2013 14:18, Andreas Färber <afaerber@suse.de> wrote: >>> Peter, since I had picked up the first two patches into my still pending >>> qom-next pull, as per the QEMU Summit discussion those patches should've >>> gotten an Acked-by. >> >> Hmm? I don't recall this part of the discussion. If you want the >> patches to have an Acked-by from you you need to send mail >> to the list with an Acked-by line. > > No, I added a Signed-off-by. I checked my mail and the only thing I can find in reply to those patches is a note from you saying you added them to your queue. > It was clearly stated that a Reviewed-by > needs to be explicitly sent as reply but that "looks okay" should in > exactly such a case where sender=submaintainer should be recorded as > Acked-by, and Sob is certainly stronger than Acked-by. Cf. minutes. ...but you're not the submaintainer here so I don't think this applies. The point about the kernel practice as I understood it was that the kernel folks treat acked-by at about the same level of review as "looks ok to me" (ie, very little), not that there's some obligation to treat any informal 'looks ok' note as an acked-by. I'm in full agreement with Anthony that if you want a tag to appear you should send it properly. -- PMM ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [PULL 0/6] target-arm queue 2013-10-31 15:16 ` Peter Maydell @ 2013-10-31 17:14 ` Andreas Färber 2013-10-31 17:18 ` Peter Maydell 2013-10-31 18:58 ` Anthony Liguori 0 siblings, 2 replies; 36+ messages in thread From: Andreas Färber @ 2013-10-31 17:14 UTC (permalink / raw) To: Peter Maydell; +Cc: Edgar E. Iglesias, QEMU Developers, Anthony Liguori Am 31.10.2013 16:16, schrieb Peter Maydell: > On 31 October 2013 14:36, Andreas Färber <afaerber@suse.de> wrote: >> Am 31.10.2013 15:31, schrieb Peter Maydell: >>> On 31 October 2013 14:18, Andreas Färber <afaerber@suse.de> wrote: >>>> Peter, since I had picked up the first two patches into my still pending >>>> qom-next pull, as per the QEMU Summit discussion those patches should've >>>> gotten an Acked-by. >>> >>> Hmm? I don't recall this part of the discussion. If you want the >>> patches to have an Acked-by from you you need to send mail >>> to the list with an Acked-by line. >> >> No, I added a Signed-off-by. > > I checked my mail and the only thing I can find in reply to those > patches is a note from you saying you added them to your queue. Right, and as such they got a Signed-off-by, which should've been visible in the link I usually add. Here's the pull messages you should've been cc'ed on: http://patchwork.ozlabs.org/patch/281630/ http://patchwork.ozlabs.org/patch/281575/ I don't see why I should reply with a Reviewed-by when I pick up patches - again, same discussion as at QEMU Summit. >> It was clearly stated that a Reviewed-by >> needs to be explicitly sent as reply but that "looks okay" should in >> exactly such a case where sender=submaintainer should be recorded as >> Acked-by, and Sob is certainly stronger than Acked-by. Cf. minutes. > > ...but you're not the submaintainer here so I don't think this applies. It does, because you are the patch author and the ARM submaintainer sending the pull. > The point about the kernel practice as I understood it was that > the kernel folks treat acked-by at about the same level of review as > "looks ok to me" (ie, very little), not that there's some obligation to > treat any informal 'looks ok' note as an acked-by. I'm in full agreement > with Anthony that if you want a tag to appear you should send it > properly. If Anthony had been and would be more responsive as to why he didn't pull the queue containing these patches with two different Sobs, we wouldn't be having this conversation in the first place. Or had you not gone on vacation or sent another pull before etc. etc. Andreas -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [PULL 0/6] target-arm queue 2013-10-31 17:14 ` Andreas Färber @ 2013-10-31 17:18 ` Peter Maydell 2013-10-31 17:27 ` Andreas Färber 2013-10-31 18:58 ` Anthony Liguori 1 sibling, 1 reply; 36+ messages in thread From: Peter Maydell @ 2013-10-31 17:18 UTC (permalink / raw) To: Andreas Färber; +Cc: Edgar E. Iglesias, QEMU Developers, Anthony Liguori On 31 October 2013 17:14, Andreas Färber <afaerber@suse.de> wrote: > Am 31.10.2013 16:16, schrieb Peter Maydell: >> On 31 October 2013 14:36, Andreas Färber <afaerber@suse.de> wrote: >>> It was clearly stated that a Reviewed-by >>> needs to be explicitly sent as reply but that "looks okay" should in >>> exactly such a case where sender=submaintainer should be recorded as >>> Acked-by, and Sob is certainly stronger than Acked-by. Cf. minutes. >> >> ...but you're not the submaintainer here so I don't think this applies. > > It does, because you are the patch author and the ARM submaintainer > sending the pull. Er, no, because they're ARM subsystem patches. If they'd gone through your queue and been written by somebody other than me and I'd given them an acked-by, that would be worth noting (maybe) because it tells the person applying your queue that I'm happy with these ARM related patches even though they're not coming through the ARM queue. Similarly if there were some QOM patches coming through my queue that might make an acked-by from you useful. But these aren't QOM patches, they're plain ARM patches, so the only person whose "ack" is important is mine. Basically an 'ack' says "I have some kind of veto over these patches and I'm not exercising it". -- PMM ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [PULL 0/6] target-arm queue 2013-10-31 17:18 ` Peter Maydell @ 2013-10-31 17:27 ` Andreas Färber 2013-10-31 17:51 ` Peter Maydell 0 siblings, 1 reply; 36+ messages in thread From: Andreas Färber @ 2013-10-31 17:27 UTC (permalink / raw) To: Peter Maydell; +Cc: Edgar E. Iglesias, QEMU Developers, Anthony Liguori Am 31.10.2013 18:18, schrieb Peter Maydell: > On 31 October 2013 17:14, Andreas Färber <afaerber@suse.de> wrote: >> Am 31.10.2013 16:16, schrieb Peter Maydell: >>> On 31 October 2013 14:36, Andreas Färber <afaerber@suse.de> wrote: >>>> It was clearly stated that a Reviewed-by >>>> needs to be explicitly sent as reply but that "looks okay" should in >>>> exactly such a case where sender=submaintainer should be recorded as >>>> Acked-by, and Sob is certainly stronger than Acked-by. Cf. minutes. >>> >>> ...but you're not the submaintainer here so I don't think this applies. >> >> It does, because you are the patch author and the ARM submaintainer >> sending the pull. > > Er, no, because they're ARM subsystem patches. You misunderstand. You sending an ARM patch in your ARM PULL with just your Sob is the same as me sending a CPU patch with just my Sob in my CPU PULL. That's what I was saying. It is NOT about whether someone can veto something, it's about getting external review and formally recognizing that review. If Anthony is apparently making a retreat on that front, then we don't necessarily need external review on our own subsystems, but if we want to evaluate which or how many patches have been reviewed by someone else then we need to record that in the commit message in *some* way. I don't care what -by it is as long as we have and respect a clear rule. Andreas -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [PULL 0/6] target-arm queue 2013-10-31 17:27 ` Andreas Färber @ 2013-10-31 17:51 ` Peter Maydell 0 siblings, 0 replies; 36+ messages in thread From: Peter Maydell @ 2013-10-31 17:51 UTC (permalink / raw) To: Andreas Färber; +Cc: Edgar E. Iglesias, QEMU Developers, Anthony Liguori On 31 October 2013 17:27, Andreas Färber <afaerber@suse.de> wrote: > Am 31.10.2013 18:18, schrieb Peter Maydell: >> On 31 October 2013 17:14, Andreas Färber <afaerber@suse.de> wrote: >>> Am 31.10.2013 16:16, schrieb Peter Maydell: >>>> On 31 October 2013 14:36, Andreas Färber <afaerber@suse.de> wrote: >>>>> It was clearly stated that a Reviewed-by >>>>> needs to be explicitly sent as reply but that "looks okay" should in >>>>> exactly such a case where sender=submaintainer should be recorded as >>>>> Acked-by, and Sob is certainly stronger than Acked-by. Cf. minutes. >>>> >>>> ...but you're not the submaintainer here so I don't think this applies. >>> >>> It does, because you are the patch author and the ARM submaintainer >>> sending the pull. >> >> Er, no, because they're ARM subsystem patches. > > You misunderstand. You sending an ARM patch in your ARM PULL with just > your Sob is the same as me sending a CPU patch with just my Sob in my > CPU PULL. I agree with this... > That's what I was saying. ...it's just not at all what you seemed to be saying. I think this is related to a disagreement about whether acked-by is at all meaningful for anybody who's not the relevant subsystem maintainer or otherwise an "authoritative person". > It is NOT about whether someone can veto something, it's about getting > external review and formally recognizing that review. No, that's what Reviewed-by is for. Acked-by is exactly a statement that "I think this looks OK and my opinion matters", which is implicitly making the statement that it's not a NAK, ie not a veto. It's a handy way to avoid somebody further upstream having to make an explicit query of that person about whether they'd seen this stuff and were happy with it, nothing more. So, to be clear: * I welcome external review * If I get review and people send emails to the list with reviewed-by: tags I'll do my best (and my workflow generally helps) to pick up and reflect those tags in the pull requests * I'm not going to attempt to infer reviewed-by tags from anything other than a specific reply to the list with a tag in the proper format * pragmatically speaking there are some patches for ARM which do not get any third-party review and where patches have been on list for a reasonable period of time I'm going to put them in pull requests, since we can't stop the world just because we don't have enough people willing to code review things * acked-by doesn't imply (to me) any kind of level of review beyond "I don't object to this", so it is irrelevant for the purposes of "try to make sure patches get review" (which is a goal I agree with) * nonetheless I'll generally reflect specifically sent acked-by tags where I get them, simply because my usual workflow tends to result in that * I think a general rule that all tags should be sent to the list explicitly and nobody should infer them will be simpler and less confusing for all concerned > If Anthony is apparently making a retreat on that front I don't recall Anthony ever saying that external review was going to be mandatory. I think it's certainly something we should try to do better with, but pragmatically speaking we're not going to get to 100% reviewed overnight. I'd definitely object to any proposal to enforce full code review by simply refusing to apply nonreviewed patches now (and I don't think anybody's proposed that). >, then we don't > necessarily need external review on our own subsystems, but if we want > to evaluate which or how many patches have been reviewed by someone else > then we need to record that in the commit message in *some* way. I don't > care what -by it is as long as we have and respect a clear rule. I don't think the rules have ever changed here; they've been broadly described in the kernel doc that our wiki page points to for at least a year. If you've reviewed a patch you mark that with Reviewed-by. -- PMM ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [PULL 0/6] target-arm queue 2013-10-31 17:14 ` Andreas Färber 2013-10-31 17:18 ` Peter Maydell @ 2013-10-31 18:58 ` Anthony Liguori 1 sibling, 0 replies; 36+ messages in thread From: Anthony Liguori @ 2013-10-31 18:58 UTC (permalink / raw) To: Andreas Färber Cc: Peter Maydell, QEMU Developers, Anthony Liguori, Edgar E. Iglesias On Thu, Oct 31, 2013 at 6:14 PM, Andreas Färber <afaerber@suse.de> wrote: > Am 31.10.2013 16:16, schrieb Peter Maydell: >> On 31 October 2013 14:36, Andreas Färber <afaerber@suse.de> wrote: >>> Am 31.10.2013 15:31, schrieb Peter Maydell: >>>> On 31 October 2013 14:18, Andreas Färber <afaerber@suse.de> wrote: >>>>> Peter, since I had picked up the first two patches into my still pending >>>>> qom-next pull, as per the QEMU Summit discussion those patches should've >>>>> gotten an Acked-by. >>>> >>>> Hmm? I don't recall this part of the discussion. If you want the >>>> patches to have an Acked-by from you you need to send mail >>>> to the list with an Acked-by line. >>> >>> No, I added a Signed-off-by. >> >> I checked my mail and the only thing I can find in reply to those >> patches is a note from you saying you added them to your queue. > > Right, and as such they got a Signed-off-by, which should've been > visible in the link I usually add. Here's the pull messages you > should've been cc'ed on: > > http://patchwork.ozlabs.org/patch/281630/ > http://patchwork.ozlabs.org/patch/281575/ > > I don't see why I should reply with a Reviewed-by when I pick up patches > - again, same discussion as at QEMU Summit. > >>> It was clearly stated that a Reviewed-by >>> needs to be explicitly sent as reply but that "looks okay" should in >>> exactly such a case where sender=submaintainer should be recorded as >>> Acked-by, and Sob is certainly stronger than Acked-by. Cf. minutes. >> >> ...but you're not the submaintainer here so I don't think this applies. > > It does, because you are the patch author and the ARM submaintainer > sending the pull. > >> The point about the kernel practice as I understood it was that >> the kernel folks treat acked-by at about the same level of review as >> "looks ok to me" (ie, very little), not that there's some obligation to >> treat any informal 'looks ok' note as an acked-by. I'm in full agreement >> with Anthony that if you want a tag to appear you should send it >> properly. > > If Anthony had been and would be more responsive as to why he didn't > pull the queue containing these patches with two different Sobs, we > wouldn't be having this conversation in the first place. Or had you not > gone on vacation or sent another pull before etc. etc. Your tree is broken. I gave you the errors that it produced. You were able to produce your own errors. It's your responsibility, as a subsystem maintainer, to test (and fix) your own tree. Regards, Anthony Liguori > Andreas > > -- > SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany > GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg > ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [PULL 0/6] target-arm queue 2013-10-31 14:18 ` Andreas Färber 2013-10-31 14:21 ` Anthony Liguori 2013-10-31 14:31 ` Peter Maydell @ 2013-10-31 22:13 ` Edgar E. Iglesias 2 siblings, 0 replies; 36+ messages in thread From: Edgar E. Iglesias @ 2013-10-31 22:13 UTC (permalink / raw) To: Andreas Färber; +Cc: Peter Maydell, qemu-devel, Anthony Liguori On Thu, Oct 31, 2013 at 03:18:41PM +0100, Andreas Färber wrote: > Hi, > > Am 31.10.2013 15:02, schrieb Edgar E. Iglesias: > > On Fri, Oct 25, 2013 at 07:07:23PM +0100, Peter Maydell wrote: > >> The following changes since commit fc8ead74674b7129e8f31c2595c76658e5622197: > >> > >> Merge remote-tracking branch 'qemu-kvm/uq/master' into staging (2013-10-18 10:03:24 -0700) > >> > >> are available in the git repository at: > >> > >> > >> git://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20131025 > >> > >> for you to fetch changes up to 71c903cc3b78fc563122fe40c5cadd050068b91a: > >> > >> integrator: fix Linux boot failure by emulating dbg region (2013-10-25 18:27:07 +0100) > > > > > > Applied, thanks all. > > Edgar, there is no merge commit in qemu.git despite this being a signed > pull. Do you maybe need to upgrade your version of git? Hi, thanks for letting me know, I'll make sure to keep the merge commit next time. Cheers, Edgar ^ permalink raw reply [flat|nested] 36+ messages in thread
end of thread, other threads:[~2018-10-29 15:35 UTC | newest] Thread overview: 36+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2016-07-07 13:48 [Qemu-devel] [PULL 0/6] target-arm queue Peter Maydell 2016-07-07 13:48 ` [Qemu-devel] [PULL 1/6] target-arm/arm-semi.c: In SYS_HEAPINFO use correct type for 'limit' Peter Maydell 2016-07-07 13:48 ` [Qemu-devel] [PULL 2/6] xlnx_dp: fix iffy xlnx_dp_aux_push_tx_fifo Peter Maydell 2016-07-07 13:48 ` [Qemu-devel] [PULL 3/6] aux: fix break that wanted to break two levels out Peter Maydell 2016-07-07 13:48 ` [Qemu-devel] [PULL 4/6] aux: Rename aux.[ch] to auxbus.[ch] for the benefit of Windows Peter Maydell 2016-07-07 13:48 ` [Qemu-devel] [PULL 5/6] hw/block/m25p80: fix resource leak Peter Maydell 2016-07-07 13:48 ` [Qemu-devel] [PULL 6/6] i.MX: split the GPT timer implementation into per SOC definitions Peter Maydell 2016-07-11 10:16 ` [Qemu-devel] [PULL 0/6] target-arm queue Peter Maydell -- strict thread matches above, loose matches on Subject: below -- 2018-10-29 15:34 Peter Maydell 2018-07-30 14:17 Peter Maydell 2018-07-30 18:11 ` Peter Maydell 2014-03-19 12:05 Peter Maydell 2014-03-19 13:33 ` Peter Maydell 2013-10-25 18:07 Peter Maydell 2013-10-31 14:02 ` Edgar E. Iglesias 2013-10-31 14:18 ` Andreas Färber 2013-10-31 14:21 ` Anthony Liguori 2013-10-31 14:31 ` Peter Maydell 2013-10-31 14:36 ` Andreas Färber 2013-10-31 14:39 ` Anthony Liguori 2013-10-31 14:45 ` Andreas Färber 2013-10-31 14:54 ` Anthony Liguori 2013-10-31 15:04 ` Anthony Liguori 2013-10-31 16:52 ` Andreas Färber 2013-10-31 16:54 ` Anthony Liguori 2013-10-31 17:10 ` Andreas Färber 2013-10-31 17:02 ` Peter Maydell 2013-10-31 17:15 ` Peter Maydell 2013-10-31 18:55 ` Anthony Liguori 2013-10-31 15:16 ` Peter Maydell 2013-10-31 17:14 ` Andreas Färber 2013-10-31 17:18 ` Peter Maydell 2013-10-31 17:27 ` Andreas Färber 2013-10-31 17:51 ` Peter Maydell 2013-10-31 18:58 ` Anthony Liguori 2013-10-31 22:13 ` Edgar E. Iglesias
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.