From: Thomas Huth <thuth@redhat.com>
To: Jiaxun Yang <jiaxun.yang@flygoat.com>,
qemu-devel@nongnu.org, QEMU Trivial <qemu-trivial@nongnu.org>
Cc: "Kevin Wolf" <kwolf@redhat.com>, "Fam Zheng" <fam@euphon.net>,
kvm@vger.kernel.org,
"Viktor Prutyanov" <viktor.prutyanov@phystech.edu>,
"Laurent Vivier" <lvivier@redhat.com>,
"Philippe Mathieu-Daudé" <philmd@redhat.com>,
"Alistair Francis" <alistair@alistair23.me>,
"Greg Kurz" <groug@kaod.org>,
"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
"Max Reitz" <mreitz@redhat.com>,
qemu-ppc@nongnu.org, "Paolo Bonzini" <pbonzini@redhat.com>,
qemu-block@nongnu.org, "Alex Bennée" <alex.bennee@linaro.org>,
"David Gibson" <david@gibson.dropbear.id.au>
Subject: Re: [PATCH 6/9] hw/block/nand: Rename PAGE_SIZE to NAND_PAGE_SIZE
Date: Wed, 13 Jan 2021 08:16:25 +0100 [thread overview]
Message-ID: <72cf8a20-e379-53c4-de76-a31002746ac5@redhat.com> (raw)
In-Reply-To: <20201221005318.11866-7-jiaxun.yang@flygoat.com>
On 21/12/2020 01.53, Jiaxun Yang wrote:
> As per POSIX specification of limits.h [1], OS libc may define
> PAGE_SIZE in limits.h.
>
> To prevent collosion of definition, we rename PAGE_SIZE here.
>
> [1]: https://pubs.opengroup.org/onlinepubs/7908799/xsh/limits.h.html
>
> Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
> ---
> hw/block/nand.c | 40 ++++++++++++++++++++--------------------
> 1 file changed, 20 insertions(+), 20 deletions(-)
>
> diff --git a/hw/block/nand.c b/hw/block/nand.c
> index 1d7a48a2ec..17645667d8 100644
> --- a/hw/block/nand.c
> +++ b/hw/block/nand.c
> @@ -114,24 +114,24 @@ static void mem_and(uint8_t *dest, const uint8_t *src, size_t n)
> # define NAND_IO
>
> # define PAGE(addr) ((addr) >> ADDR_SHIFT)
> -# define PAGE_START(page) (PAGE(page) * (PAGE_SIZE + OOB_SIZE))
> +# define PAGE_START(page) (PAGE(page) * (NAND_PAGE_SIZE + OOB_SIZE))
> # define PAGE_MASK ((1 << ADDR_SHIFT) - 1)
> # define OOB_SHIFT (PAGE_SHIFT - 5)
> # define OOB_SIZE (1 << OOB_SHIFT)
> # define SECTOR(addr) ((addr) >> (9 + ADDR_SHIFT - PAGE_SHIFT))
> # define SECTOR_OFFSET(addr) ((addr) & ((511 >> PAGE_SHIFT) << 8))
>
> -# define PAGE_SIZE 256
> +# define NAND_PAGE_SIZE 256
> # define PAGE_SHIFT 8
> # define PAGE_SECTORS 1
> # define ADDR_SHIFT 8
> # include "nand.c"
> -# define PAGE_SIZE 512
> +# define NAND_PAGE_SIZE 512
> # define PAGE_SHIFT 9
> # define PAGE_SECTORS 1
> # define ADDR_SHIFT 8
> # include "nand.c"
> -# define PAGE_SIZE 2048
> +# define NAND_PAGE_SIZE 2048
> # define PAGE_SHIFT 11
> # define PAGE_SECTORS 4
> # define ADDR_SHIFT 16
> @@ -661,7 +661,7 @@ type_init(nand_register_types)
> #else
>
> /* Program a single page */
> -static void glue(nand_blk_write_, PAGE_SIZE)(NANDFlashState *s)
> +static void glue(nand_blk_write_, NAND_PAGE_SIZE)(NANDFlashState *s)
> {
> uint64_t off, page, sector, soff;
> uint8_t iobuf[(PAGE_SECTORS + 2) * 0x200];
> @@ -681,11 +681,11 @@ static void glue(nand_blk_write_, PAGE_SIZE)(NANDFlashState *s)
> return;
> }
>
> - mem_and(iobuf + (soff | off), s->io, MIN(s->iolen, PAGE_SIZE - off));
> - if (off + s->iolen > PAGE_SIZE) {
> + mem_and(iobuf + (soff | off), s->io, MIN(s->iolen, NAND_PAGE_SIZE - off));
> + if (off + s->iolen > NAND_PAGE_SIZE) {
> page = PAGE(s->addr);
> - mem_and(s->storage + (page << OOB_SHIFT), s->io + PAGE_SIZE - off,
> - MIN(OOB_SIZE, off + s->iolen - PAGE_SIZE));
> + mem_and(s->storage + (page << OOB_SHIFT), s->io + NAND_PAGE_SIZE - off,
> + MIN(OOB_SIZE, off + s->iolen - NAND_PAGE_SIZE));
> }
>
> if (blk_pwrite(s->blk, sector << BDRV_SECTOR_BITS, iobuf,
> @@ -713,7 +713,7 @@ static void glue(nand_blk_write_, PAGE_SIZE)(NANDFlashState *s)
> }
>
> /* Erase a single block */
> -static void glue(nand_blk_erase_, PAGE_SIZE)(NANDFlashState *s)
> +static void glue(nand_blk_erase_, NAND_PAGE_SIZE)(NANDFlashState *s)
> {
> uint64_t i, page, addr;
> uint8_t iobuf[0x200] = { [0 ... 0x1ff] = 0xff, };
> @@ -725,7 +725,7 @@ static void glue(nand_blk_erase_, PAGE_SIZE)(NANDFlashState *s)
>
> if (!s->blk) {
> memset(s->storage + PAGE_START(addr),
> - 0xff, (PAGE_SIZE + OOB_SIZE) << s->erase_shift);
> + 0xff, (NAND_PAGE_SIZE + OOB_SIZE) << s->erase_shift);
> } else if (s->mem_oob) {
> memset(s->storage + (PAGE(addr) << OOB_SHIFT),
> 0xff, OOB_SIZE << s->erase_shift);
> @@ -751,7 +751,7 @@ static void glue(nand_blk_erase_, PAGE_SIZE)(NANDFlashState *s)
>
> memset(iobuf, 0xff, 0x200);
> i = (addr & ~0x1ff) + 0x200;
> - for (addr += ((PAGE_SIZE + OOB_SIZE) << s->erase_shift) - 0x200;
> + for (addr += ((NAND_PAGE_SIZE + OOB_SIZE) << s->erase_shift) - 0x200;
> i < addr; i += 0x200) {
> if (blk_pwrite(s->blk, i, iobuf, BDRV_SECTOR_SIZE, 0) < 0) {
> printf("%s: write error in sector %" PRIu64 "\n",
> @@ -772,7 +772,7 @@ static void glue(nand_blk_erase_, PAGE_SIZE)(NANDFlashState *s)
> }
> }
>
> -static void glue(nand_blk_load_, PAGE_SIZE)(NANDFlashState *s,
> +static void glue(nand_blk_load_, NAND_PAGE_SIZE)(NANDFlashState *s,
> uint64_t addr, int offset)
> {
> if (PAGE(addr) >= s->pages) {
> @@ -786,7 +786,7 @@ static void glue(nand_blk_load_, PAGE_SIZE)(NANDFlashState *s,
> printf("%s: read error in sector %" PRIu64 "\n",
> __func__, SECTOR(addr));
> }
> - memcpy(s->io + SECTOR_OFFSET(s->addr) + PAGE_SIZE,
> + memcpy(s->io + SECTOR_OFFSET(s->addr) + NAND_PAGE_SIZE,
> s->storage + (PAGE(s->addr) << OOB_SHIFT),
> OOB_SIZE);
> s->ioaddr = s->io + SECTOR_OFFSET(s->addr) + offset;
> @@ -800,23 +800,23 @@ static void glue(nand_blk_load_, PAGE_SIZE)(NANDFlashState *s,
> }
> } else {
> memcpy(s->io, s->storage + PAGE_START(s->addr) +
> - offset, PAGE_SIZE + OOB_SIZE - offset);
> + offset, NAND_PAGE_SIZE + OOB_SIZE - offset);
> s->ioaddr = s->io;
> }
> }
>
> -static void glue(nand_init_, PAGE_SIZE)(NANDFlashState *s)
> +static void glue(nand_init_, NAND_PAGE_SIZE)(NANDFlashState *s)
> {
> s->oob_shift = PAGE_SHIFT - 5;
> s->pages = s->size >> PAGE_SHIFT;
> s->addr_shift = ADDR_SHIFT;
>
> - s->blk_erase = glue(nand_blk_erase_, PAGE_SIZE);
> - s->blk_write = glue(nand_blk_write_, PAGE_SIZE);
> - s->blk_load = glue(nand_blk_load_, PAGE_SIZE);
> + s->blk_erase = glue(nand_blk_erase_, NAND_PAGE_SIZE);
> + s->blk_write = glue(nand_blk_write_, NAND_PAGE_SIZE);
> + s->blk_load = glue(nand_blk_load_, NAND_PAGE_SIZE);
> }
>
> -# undef PAGE_SIZE
> +# undef NAND_PAGE_SIZE
> # undef PAGE_SHIFT
> # undef PAGE_SECTORS
> # undef ADDR_SHIFT
>
Reviewed-by: Thomas Huth <thuth@redhat.com>
next prev parent reply other threads:[~2021-01-13 7:18 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-21 0:53 [PATCH 0/9] Alpine Linux build fix and CI pipeline Jiaxun Yang
2020-12-21 0:53 ` [PATCH 1/9] tests/docker: Add dockerfile for Alpine Linux Jiaxun Yang
2020-12-22 18:37 ` Wainer dos Santos Moschetta
2020-12-21 0:53 ` [PATCH 2/9] configure: Add sys/timex.h to probe clk_adjtime Jiaxun Yang
2021-01-13 6:59 ` Thomas Huth
2020-12-21 0:53 ` [PATCH 3/9] configure/meson: Only check sys/signal.h on non-Linux Jiaxun Yang
2021-01-13 7:05 ` Thomas Huth
2021-01-13 11:36 ` Peter Maydell
2020-12-21 0:53 ` [PATCH 4/9] libvhost-user: Include poll.h instead of sys/poll.h Jiaxun Yang
2021-01-13 7:08 ` Thomas Huth
2020-12-21 0:53 ` [PATCH 5/9] elf2dmp: Rename PAGE_SIZE to ELF2DMP_PAGE_SIZE Jiaxun Yang
2021-01-13 7:14 ` Thomas Huth
2020-12-21 0:53 ` [PATCH 6/9] hw/block/nand: Rename PAGE_SIZE to NAND_PAGE_SIZE Jiaxun Yang
2021-01-13 7:16 ` Thomas Huth [this message]
2020-12-21 0:53 ` [PATCH 7/9] accel/kvm: avoid using predefined PAGE_SIZE Jiaxun Yang
2021-01-13 7:19 ` Thomas Huth
2021-01-13 9:07 ` Jiaxun Yang
2020-12-21 0:53 ` [PATCH 8/9] tests: Rename PAGE_SIZE definitions Jiaxun Yang
2021-01-13 7:21 ` Thomas Huth
2020-12-21 0:53 ` [PATCH 9/9] gitlab-ci: Add alpine to pipeline Jiaxun Yang
2020-12-21 1:06 ` [PATCH 0/9] Alpine Linux build fix and CI pipeline no-reply
2020-12-21 8:25 ` Jiaxun Yang
2020-12-22 18:41 ` Wainer dos Santos Moschetta
2020-12-23 0:54 ` Jiaxun Yang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=72cf8a20-e379-53c4-de76-a31002746ac5@redhat.com \
--to=thuth@redhat.com \
--cc=alex.bennee@linaro.org \
--cc=alistair@alistair23.me \
--cc=david@gibson.dropbear.id.au \
--cc=fam@euphon.net \
--cc=groug@kaod.org \
--cc=jiaxun.yang@flygoat.com \
--cc=kvm@vger.kernel.org \
--cc=kwolf@redhat.com \
--cc=lvivier@redhat.com \
--cc=mreitz@redhat.com \
--cc=pbonzini@redhat.com \
--cc=philmd@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=qemu-trivial@nongnu.org \
--cc=viktor.prutyanov@phystech.edu \
--cc=wainersm@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).