qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: David Gibson <david@gibson.dropbear.id.au>
To: Markus Armbruster <armbru@redhat.com>
Cc: "Alex Bennée" <alex.bennee@linaro.org>,
	kwolf@redhat.com, qemu-block@nongnu.org, qemu-devel@nongnu.org,
	mreitz@redhat.com, qemu-ppc@nongnu.org, lersek@redhat.com
Subject: Re: [Qemu-devel] [PATCH 05/10] ppc405_boards: Don't size flash memory to match backing image
Date: Fri, 22 Feb 2019 09:18:51 +1100	[thread overview]
Message-ID: <20190221221851.GA8609@umbus.fritz.box> (raw)
In-Reply-To: <87sgwhxfvh.fsf@dusky.pond.sub.org>

[-- Attachment #1: Type: text/plain, Size: 4555 bytes --]

On Thu, Feb 21, 2019 at 05:31:30PM +0100, Markus Armbruster wrote:
> Alex Bennée <alex.bennee@linaro.org> writes:
> 
> > Markus Armbruster <armbru@redhat.com> writes:
> >
> >> Machine "ref405ep" maps its flash memory at address 2^32 - image size.
> >> Image size is rounded up to the next multiple of 64KiB.  Useless,
> >> because pflash_cfi02_realize() fails with "failed to read the initial
> >> flash content" unless the rounding is a no-op.
> >>
> >> If the image size exceeds 0x80000 Bytes, we overlap first SRAM, then
> >> other stuff.  No idea how that would play out, but a useful outcomes
> >> seem unlikely.
> >>
> >> Map the flash memory at fixed address 0xFFF80000 with size 512KiB,
> >> regardless of image size, to match the physical hardware.
> >>
> >> Machine "taihu" maps its boot flash memory similarly.  The code even
> >> has a comment /* XXX: should check that size is 2MB */, followed by
> >> disabled code to adjust the size to 2MiB regardless of image size.
> >>
> >> Its code to map its application flash memory looks the same, except
> >> there the XXX comment asks for 32MiB, and the code to adjust the size
> >> isn't disabled.  Note that pflash_cfi02_realize() fails with "failed
> >> to read the initial flash content" for images smaller than 32MiB.
> >>
> >> Map the boot flash memory at fixed address 0xFFE00000 with size 2MiB,
> >> to match the physical hardware.  Delete dead code from application
> >> flash mapping, and simplify some.
> >>
> >> Cc: David Gibson <david@gibson.dropbear.id.au>
> >> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> >> ---
> >>  hw/ppc/ppc405_boards.c | 53 +++++++++++++-----------------------------
> >>  1 file changed, 16 insertions(+), 37 deletions(-)
> >>
> >> diff --git a/hw/ppc/ppc405_boards.c b/hw/ppc/ppc405_boards.c
> >> index f47b15f10e..728154aebb 100644
> >> --- a/hw/ppc/ppc405_boards.c
> >> +++ b/hw/ppc/ppc405_boards.c
> >> @@ -158,7 +158,7 @@ static void ref405ep_init(MachineState *machine)
> >>      target_ulong kernel_base, initrd_base;
> >>      long kernel_size, initrd_size;
> >>      int linux_boot;
> >> -    int fl_idx, fl_sectors, len;
> >> +    int len;
> >>      DriveInfo *dinfo;
> >>      MemoryRegion *sysmem = get_system_memory();
> >>
> >> @@ -185,26 +185,19 @@ static void ref405ep_init(MachineState *machine)
> >>  #ifdef DEBUG_BOARD_INIT
> >>      printf("%s: register BIOS\n", __func__);
> >>  #endif
> >> -    fl_idx = 0;
> >>  #ifdef USE_FLASH_BIOS
> >> -    dinfo = drive_get(IF_PFLASH, 0, fl_idx);
> >> +    dinfo = drive_get(IF_PFLASH, 0, 0);
> >>      if (dinfo) {
> >> -        BlockBackend *blk = blk_by_legacy_dinfo(dinfo);
> >> -
> >> -        bios_size = blk_getlength(blk);
> >> -        fl_sectors = (bios_size + 65535) >> 16;
> >>  #ifdef DEBUG_BOARD_INIT
> >> -        printf("Register parallel flash %d size %lx"
> >> -               " at addr %lx '%s' %d\n",
> >> -               fl_idx, bios_size, -bios_size,
> >> -               blk_name(blk), fl_sectors);
> >> +        printf("Register parallel flash\n");
> >>  #endif
> >> -        pflash_cfi02_register((uint32_t)(-bios_size),
> >> +        bios_size = 0x80000;
> >
> >  bios_size = 8 * MiB?
> 
> The next line has base address 0xFFF80000.  I picked 0x80000 to make
> 0xFFF80000 + 0x80000 == 0 mod 2^32 more obvious.
> 
> If I change 0x80000 to 8 * MiB, the size is more obvious, but "at end of
> 32 bit address space" less so.
> 
> If I additionally change the base address back to ((uint32_t)-bios_size,
> "at end of 32 bit address space" is obvious again, but the actual base
> address less so.

I have a weak preference for ((uint32_t)-bios_size), with bios_size =
8 * MiB.

> 
> I don't really care myself.  David, you're the maintainer, do you have a
> preference?
> 
> >> +        pflash_cfi02_register(0xFFF80000,
> >>                                NULL, "ef405ep.bios", bios_size,
> >> -                              blk, 65536, fl_sectors, 1,
> >> +                              dinfo ? blk_by_legacy_dinfo(dinfo) : NULL,
> >> +                              65536, bios_size / 65536, 1,
> >
> > 64 * KiB?
> 
> David, same question (two additional instances below).

Here I think 64 * KiB would be nice in each of those places.  Again,
only a weak preference.

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2019-02-21 22:28 UTC|newest]

Thread overview: 97+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-18 12:56 [Qemu-devel] [PATCH 00/10] pflash: Fixes and cleanups Markus Armbruster
2019-02-18 12:56 ` [Qemu-devel] [PATCH 01/10] pflash: Rename pflash_t to PFlashCFI01, PFlashCFI02 Markus Armbruster
2019-02-18 16:40   ` Laszlo Ersek
2019-02-19 12:49   ` Philippe Mathieu-Daudé
2019-02-19 13:41     ` Markus Armbruster
2019-02-19 14:33       ` Philippe Mathieu-Daudé
2019-02-21  9:15         ` Markus Armbruster
2019-02-21 16:41           ` Philippe Mathieu-Daudé
2019-02-21 15:07   ` Alex Bennée
2019-02-18 12:56 ` [Qemu-devel] [PATCH 02/10] pflash: Macro PFLASH_BUG() is used just once, expand Markus Armbruster
2019-02-18 16:43   ` Laszlo Ersek
2019-02-18 17:35     ` Markus Armbruster
2019-02-19 12:40   ` Philippe Mathieu-Daudé
2019-02-19 13:11     ` Peter Maydell
2019-02-19 13:46       ` Markus Armbruster
2019-02-21  9:22         ` Markus Armbruster
2019-02-21  9:38           ` Peter Maydell
2019-02-21 12:07             ` Laszlo Ersek
2019-02-21 12:38               ` Peter Maydell
2019-02-21 12:46                 ` Laszlo Ersek
2019-02-21 16:39                   ` Philippe Mathieu-Daudé
2019-02-21 16:55                     ` Laszlo Ersek
2019-02-21 16:19             ` Philippe Mathieu-Daudé
2019-02-21 17:03               ` Markus Armbruster
2019-02-21 18:50                 ` Alex Bennée
2019-02-22  7:17               ` Markus Armbruster
2019-02-21 15:08           ` Alex Bennée
2019-02-18 12:56 ` [Qemu-devel] [PATCH 03/10] hw: Use CFI_PFLASH0{1, 2} and TYPE_CFI_PFLASH0{1, 2} Markus Armbruster
2019-02-18 16:45   ` Laszlo Ersek
2019-02-19 12:41   ` Philippe Mathieu-Daudé
2019-02-21 15:09   ` Alex Bennée
2019-02-18 12:56 ` [Qemu-devel] [PATCH 04/10] sam460ex: Don't size flash memory to match backing image Markus Armbruster
2019-02-18 16:36   ` [Qemu-devel] [Qemu-ppc] " BALATON Zoltan
2019-02-18 17:57     ` Markus Armbruster
2019-02-19  1:19       ` BALATON Zoltan
2019-02-19  5:43         ` Markus Armbruster
2019-02-19 11:34           ` BALATON Zoltan
2019-02-18 12:56 ` [Qemu-devel] [PATCH 05/10] ppc405_boards: " Markus Armbruster
2019-02-19  3:55   ` David Gibson
2019-02-19 15:28   ` [Qemu-devel] [Qemu-ppc] " BALATON Zoltan
2019-02-19 15:55     ` Markus Armbruster
2019-02-21 15:20   ` [Qemu-devel] " Alex Bennée
2019-02-21 16:31     ` Markus Armbruster
2019-02-21 22:18       ` David Gibson [this message]
2019-02-22  7:23         ` Markus Armbruster
2019-02-18 12:56 ` [Qemu-devel] [PATCH 06/10] r2d: Flash memory creation is confused about size, mark FIXME Markus Armbruster
2019-02-19 14:03   ` Peter Maydell
2019-02-19 15:45     ` Markus Armbruster
2019-02-19 15:53       ` Philippe Mathieu-Daudé
2019-02-19 17:30         ` Markus Armbruster
2019-03-04  4:57           ` Magnus Damm
2019-03-04  7:25             ` Markus Armbruster
2019-03-04 11:43               ` Philippe Mathieu-Daudé
2019-03-04 15:33                 ` Markus Armbruster
2019-03-05 17:21                   ` Philippe Mathieu-Daudé
2019-03-05 17:25                     ` Peter Maydell
2019-03-05 21:50                       ` Philippe Mathieu-Daudé
2019-03-06  6:03                         ` Markus Armbruster
2019-03-06 14:11                     ` Markus Armbruster
2019-02-19 16:02   ` Philippe Mathieu-Daudé
2019-02-19 16:21     ` Peter Maydell
2019-02-19 17:53       ` Markus Armbruster
2019-02-19 18:11         ` Peter Maydell
2019-02-18 12:56 ` [Qemu-devel] [PATCH 07/10] mips_malta: Clean up definition of flash memory size somewhat Markus Armbruster
2019-02-19 13:02   ` Philippe Mathieu-Daudé
2019-02-19 13:43     ` Markus Armbruster
2019-02-19 16:10       ` Philippe Mathieu-Daudé
2019-02-21 15:27   ` Alex Bennée
2019-02-18 12:56 ` [Qemu-devel] [PATCH 08/10] pflash: Clean up after commit 368a354f02b part 1 Markus Armbruster
2019-02-18 16:50   ` Laszlo Ersek
2019-02-19 16:12   ` Philippe Mathieu-Daudé
2019-02-21 15:57   ` Alex Bennée
2019-02-18 12:56 ` [Qemu-devel] [PATCH 09/10] pflash: Clean up after commit 368a354f02b part 2 Markus Armbruster
2019-02-18 17:01   ` Laszlo Ersek
2019-02-18 17:56     ` Laszlo Ersek
2019-02-19  5:44       ` Markus Armbruster
2019-02-21 16:51   ` Alex Bennée
2019-02-21 17:18     ` Markus Armbruster
2019-02-21 17:36       ` BALATON Zoltan
2019-02-21 18:18         ` Markus Armbruster
2019-02-18 12:56 ` [Qemu-devel] [PATCH 10/10] hw/arm hw/xtensa: De-duplicate pflash creation code some Markus Armbruster
2019-02-18 17:12   ` Laszlo Ersek
2019-02-19  8:43   ` Max Filippov
2019-02-19 13:01     ` Markus Armbruster
2019-02-19 14:13   ` Peter Maydell
2019-02-19 15:46     ` Markus Armbruster
2019-02-18 13:31 ` [Qemu-devel] [PATCH 00/10] pflash: Fixes and cleanups no-reply
2019-02-18 17:16 ` no-reply
2019-02-18 17:39 ` no-reply
2019-02-19  4:39 ` no-reply
2019-02-19  4:43 ` no-reply
2019-02-19 13:06 ` no-reply
2019-02-19 13:49 ` no-reply
2019-02-19 13:53 ` no-reply
2019-02-19 16:43 ` no-reply
2019-02-27 15:26 ` no-reply
2019-02-27 17:41 ` no-reply

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=20190221221851.GA8609@umbus.fritz.box \
    --to=david@gibson.dropbear.id.au \
    --cc=alex.bennee@linaro.org \
    --cc=armbru@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=lersek@redhat.com \
    --cc=mreitz@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    /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).