From patchwork Thu Feb 25 08:55:56 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Sementsov-Ogievskiy X-Patchwork-Id: 8420761 Return-Path: X-Original-To: patchwork-qemu-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 6BDD29F372 for ; Thu, 25 Feb 2016 08:56:26 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 4D408202E6 for ; Thu, 25 Feb 2016 08:56:22 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 979B92028D for ; Thu, 25 Feb 2016 08:56:21 +0000 (UTC) Received: from localhost ([::1]:41313 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aYrif-0006DU-34 for patchwork-qemu-devel@patchwork.kernel.org; Thu, 25 Feb 2016 03:56:21 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46888) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aYriY-0006DP-L7 for qemu-devel@nongnu.org; Thu, 25 Feb 2016 03:56:15 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aYriT-0000EW-Hx for qemu-devel@nongnu.org; Thu, 25 Feb 2016 03:56:14 -0500 Received: from mx2.parallels.com ([199.115.105.18]:36016) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aYriT-0000Da-9M for qemu-devel@nongnu.org; Thu, 25 Feb 2016 03:56:09 -0500 Received: from [199.115.105.250] (helo=mail.odin.com) by mx2.parallels.com with esmtps (TLSv1.2:ECDHE-RSA-AES256-SHA384:256) (Exim 4.86) (envelope-from ) id 1aYriN-0002De-2V; Thu, 25 Feb 2016 00:56:03 -0800 Received: from [10.30.19.200] (10.30.19.200) by US-EXCH2.sw.swsoft.com (10.255.249.46) with Microsoft SMTP Server (TLS) id 15.0.1130.7; Thu, 25 Feb 2016 00:55:59 -0800 Message-ID: <56CEC19C.4020400@virtuozzo.com> Date: Thu, 25 Feb 2016 11:55:56 +0300 From: Vladimir Sementsov-Ogievskiy User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.8.0 MIME-Version: 1.0 To: "Michael S. Tsirkin" References: <1456343639-3471-1-git-send-email-mst@redhat.com> <1456343639-3471-6-git-send-email-mst@redhat.com> <56CEA6BE.60504@virtuozzo.com> <20160225102409-mutt-send-email-mst@redhat.com> In-Reply-To: <20160225102409-mutt-send-email-mst@redhat.com> X-ClientProxiedBy: US-EXCH2.sw.swsoft.com (10.255.249.46) To US-EXCH2.sw.swsoft.com (10.255.249.46) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 199.115.105.18 Cc: Peter Maydell , qemu-devel@nongnu.org, Igor Mammedov Subject: Re: [Qemu-devel] [PULL 05/23] pc-dimm: add pc_dimm_build_list() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP On 25.02.2016 11:39, Michael S. Tsirkin wrote: > On Thu, Feb 25, 2016 at 10:01:18AM +0300, Vladimir Sementsov-Ogievskiy wrote: >> Stop! > It builds fine here. Did you check out my tree? anyway, this file should be here, as it is added into Makefile: =========== git clone git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tmp cd tmp/ git checkout for_upstream ./configure --target-list=x86_64-softmmu make -j9 > make: *** No rule to make target `stubs/pc_dimm.o', needed by `libqemustub.a'. Stop > >> Hey, stubs/pc_dimm.c disappeared from this patch: >> =========== from [PATCH v7 0/5] don't use NVDIMM for balooning/[PATCH 3/5] >> pc-dimm: add pc_dimm_build_list() =================== >> >> diff --git a/stubs/pc_dimm.c b/stubs/pc_dimm.c >> new file mode 100644 >> index 0000000..5312f50 >> --- /dev/null >> +++ b/stubs/pc_dimm.c >> @@ -0,0 +1,12 @@ >> +#include "qom/object.h" >> +#include "hw/mem/pc-dimm.h" >> + >> +int qmp_pc_dimm_device_list(Object *obj, void *opaque) >> +{ >> + return 0; >> +} >> + >> +int pc_dimm_build_list(Object *obj, void *opaque) >> +{ >> + return 0; >> +} >> >> ================================================================ >> >> >> This will not compile!!! >> make: *** No rule to make target `stubs/pc_dimm.c', needed by >> `stubs/pc_dimm.o'. Stop. >> >> >> On 24.02.2016 23:35, Michael S. Tsirkin wrote: >>> From: Vladimir Sementsov-Ogievskiy >>> >>> Like pc_dimm_build_list_sorted but not sorted - for cases where sorting >>> is not necessary. Add stubbed version too - for targets without >>> CONFIG_MEM_HOTPLUG. >>> >>> Signed-off-by: Vladimir Sementsov-Ogievskiy >>> Reviewed-by: Michael S. Tsirkin >>> Signed-off-by: Michael S. Tsirkin >>> --- >>> include/hw/mem/pc-dimm.h | 3 +++ >>> hw/mem/pc-dimm.c | 15 +++++++++++++++ >>> stubs/qmp_pc_dimm_device_list.c | 8 -------- >>> stubs/Makefile.objs | 2 +- >>> 4 files changed, 19 insertions(+), 9 deletions(-) >>> delete mode 100644 stubs/qmp_pc_dimm_device_list.c >>> >>> diff --git a/include/hw/mem/pc-dimm.h b/include/hw/mem/pc-dimm.h >>> index 218dfb0..0f587a4 100644 >>> --- a/include/hw/mem/pc-dimm.h >>> +++ b/include/hw/mem/pc-dimm.h >>> @@ -94,4 +94,7 @@ void pc_dimm_memory_plug(DeviceState *dev, MemoryHotplugState *hpms, >>> MemoryRegion *mr, uint64_t align, Error **errp); >>> void pc_dimm_memory_unplug(DeviceState *dev, MemoryHotplugState *hpms, >>> MemoryRegion *mr); >>> + >>> +int pc_dimm_build_list(Object *obj, void *opaque); >>> + >>> #endif >>> diff --git a/hw/mem/pc-dimm.c b/hw/mem/pc-dimm.c >>> index 835179e..09e99ce 100644 >>> --- a/hw/mem/pc-dimm.c >>> +++ b/hw/mem/pc-dimm.c >>> @@ -267,6 +267,21 @@ static int pc_dimm_build_list_sorted(Object *obj, void *opaque) >>> return 0; >>> } >>> +int pc_dimm_build_list(Object *obj, void *opaque) >>> +{ >>> + GSList **list = opaque; >>> + >>> + if (object_dynamic_cast(obj, TYPE_PC_DIMM)) { >>> + DeviceState *dev = DEVICE(obj); >>> + if (dev->realized) { /* only realized DIMMs matter */ >>> + *list = g_slist_prepend(*list, dev); >>> + } >>> + } >>> + >>> + object_child_foreach(obj, pc_dimm_build_list, opaque); >>> + return 0; >>> +} >>> + >>> uint64_t pc_dimm_get_free_addr(uint64_t address_space_start, >>> uint64_t address_space_size, >>> uint64_t *hint, uint64_t align, uint64_t size, >>> diff --git a/stubs/qmp_pc_dimm_device_list.c b/stubs/qmp_pc_dimm_device_list.c >>> deleted file mode 100644 >>> index def2115..0000000 >>> --- a/stubs/qmp_pc_dimm_device_list.c >>> +++ /dev/null >>> @@ -1,8 +0,0 @@ >>> -#include "qemu/osdep.h" >>> -#include "qom/object.h" >>> -#include "hw/mem/pc-dimm.h" >>> - >>> -int qmp_pc_dimm_device_list(Object *obj, void *opaque) >>> -{ >>> - return 0; >>> -} >>> diff --git a/stubs/Makefile.objs b/stubs/Makefile.objs >>> index e922de9..fb247d4 100644 >>> --- a/stubs/Makefile.objs >>> +++ b/stubs/Makefile.objs >>> @@ -35,7 +35,7 @@ stub-obj-y += vmstate.o >>> stub-obj-$(CONFIG_WIN32) += fd-register.o >>> stub-obj-y += cpus.o >>> stub-obj-y += kvm.o >>> -stub-obj-y += qmp_pc_dimm_device_list.o >>> +stub-obj-y += pc_dimm.o >>> stub-obj-y += target-monitor-defs.o >>> stub-obj-y += target-get-monitor-def.o >>> stub-obj-y += vhost.o >> >> -- >> Best regards, >> Vladimir --- a/stubs/Makefile.objs +++ b/stubs/Makefile.objs @@ -35,7 +35,7 @@ stub-obj-y += vmstate.o stub-obj-$(CONFIG_WIN32) += fd-register.o stub-obj-y += cpus.o stub-obj-y += kvm.o -stub-obj-y += qmp_pc_dimm_device_list.o +stub-obj-y += pc_dimm.o stub-obj-y += target-monitor-defs.o stub-obj-y += target-get-monitor-def.o stub-obj-y += vhost.o