> ________________________________ > From: Qemu-arm <qemu-arm-bounces+vijayak=caviumnetworks....@nongnu.org> on > behalf of Peter Maydell <peter.mayd...@linaro.org> > Sent: Tuesday, June 21, 2016 10:39 PM > To: qemu-...@nongnu.org; qemu-devel@nongnu.org > Cc: Paolo Bonzini; Kumar, Vijaya; patc...@linaro.org > Subject: [Qemu-arm] [PATCH v2 2/6] exec.c: Remove static allocation of > sub_section of sub_page > > From: Vijaya Kumar K <vijaya.ku...@caviumnetworks.com> > > Allocate sub_section dynamically. Remove dependency > on TARGET_PAGE_SIZE to make run-time page size detection > for arm platforms. > > Signed-off-by: Vijaya Kumar K <vija...@cavium.com> > Message-id: 1465808915-4887-3-git-send-email-vija...@caviumnetworks.com > [PMM: use flexible array member rather than separate malloc > so we don't need an extra pointer deref when using it] > Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> > --- > exec.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/exec.c b/exec.c > index 0122ef7..8eaeb0c 100644 > --- a/exec.c > +++ b/exec.c > @@ -153,7 +153,7 @@ typedef struct subpage_t { > MemoryRegion iomem; > AddressSpace *as; > hwaddr base; > - uint16_t sub_section[TARGET_PAGE_SIZE]; > + uint16_t sub_section[]; NIT: Comment that this variable should be last member of this struct will be helpful.
> } subpage_t; > > #define PHYS_SECTION_UNASSIGNED 0 > @@ -2270,8 +2270,7 @@ static subpage_t *subpage_init(AddressSpace *as, > hwaddr base) > { > subpage_t *mmio; > > - mmio = g_malloc0(sizeof(subpage_t)); > - > + mmio = g_malloc0(sizeof(subpage_t) + TARGET_PAGE_SIZE * > sizeof(uint16_t)); NIT: sizeof(mmio->sub_section[0]) looks better than sizeof(uint16_t) > mmio->as = as; > mmio->base = base; > memory_region_init_io(&mmio->iomem, NULL, &subpage_ops, mmio, > -- > 1.9.1 > >