From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51122) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fNeep-0007cF-Co for qemu-devel@nongnu.org; Tue, 29 May 2018 09:27:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fNeem-0001HF-7l for qemu-devel@nongnu.org; Tue, 29 May 2018 09:27:23 -0400 Date: Tue, 29 May 2018 15:27:14 +0200 From: Igor Mammedov Message-ID: <20180529152714.232f952c@redhat.com> In-Reply-To: <20180517081527.14410-2-david@redhat.com> References: <20180517081527.14410-1-david@redhat.com> <20180517081527.14410-2-david@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v4 01/14] memory-device: drop assert related to align and start of address space List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: David Hildenbrand Cc: qemu-devel@nongnu.org, qemu-s390x@nongnu.org, "Michael S . Tsirkin" , Marcel Apfelbaum , Paolo Bonzini , Richard Henderson , Eduardo Habkost , David Gibson , Markus Armbruster , qemu-ppc@nongnu.org, Pankaj Gupta , Alexander Graf , Cornelia Huck , Christian Borntraeger , Luiz Capitulino On Thu, 17 May 2018 10:15:14 +0200 David Hildenbrand wrote: > The start of the address space does not have to be aligned for the > search. Handle this case explicitly when starting the search for a new > address. That's true, but commit message doesn't explain why address_space_start should be allowed to be non aligned. At least with this assert we would notice early that board allocating misaligned address space. I'd keep the assert unless there is a good reason to drop it. > > Signed-off-by: David Hildenbrand > --- > hw/mem/memory-device.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/hw/mem/memory-device.c b/hw/mem/memory-device.c > index 3e04f3954e..361d38bfc5 100644 > --- a/hw/mem/memory-device.c > +++ b/hw/mem/memory-device.c > @@ -116,7 +116,6 @@ uint64_t memory_device_get_free_addr(MachineState *ms, const uint64_t *hint, > address_space_start = ms->device_memory->base; > address_space_end = address_space_start + > memory_region_size(&ms->device_memory->mr); > - g_assert(QEMU_ALIGN_UP(address_space_start, align) == address_space_start); > g_assert(address_space_end >= address_space_start); > > memory_device_check_addable(ms, size, errp); > @@ -149,7 +148,7 @@ uint64_t memory_device_get_free_addr(MachineState *ms, const uint64_t *hint, > return 0; > } > } else { > - new_addr = address_space_start; > + new_addr = QEMU_ALIGN_UP(address_space_start, align); > } > > /* find address range that will fit new memory device */