qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Jan Lübbe" <jlu@pengutronix.de>
To: "Cédric Le Goater" <clg@kaod.org>,
	"Philippe Mathieu-Daudé" <philmd@linaro.org>,
	"Guenter Roeck" <linux@roeck-us.net>
Cc: qemu-arm@nongnu.org, qemu-devel@nongnu.org,
	Thomas Huth <thuth@redhat.com>,
	 Peter Maydell <peter.maydell@linaro.org>,
	Joel Stanley <joel@jms.id.au>
Subject: Re: [PATCH 0/2] arm: Add collie and sx functional tests
Date: Fri, 25 Oct 2024 11:57:57 +0200	[thread overview]
Message-ID: <600baa43c3dd3547338934717cfb57c5e12b0d23.camel@pengutronix.de> (raw)
In-Reply-To: <07664ec3-6b46-4b27-9d8c-9e2ff34c9dbe@kaod.org>

Hi,

On Fri, 2024-10-25 at 08:55 +0200, Cédric Le Goater wrote:
> On 10/24/24 19:59, Philippe Mathieu-Daudé wrote:
> > Cc'ing Jan.
> > 
> > On 22/10/24 12:04, Guenter Roeck wrote:
> > > On 10/21/24 21:09, Philippe Mathieu-Daudé wrote:
> > > > Hi Guenter,
> > > > 
> > > > On 21/10/24 11:02, Guenter Roeck wrote:
> > > > 
> > > > > Unrelated to this, but I found that the sd emulation in 9.1 is also broken
> > > > > for loongarch and sifive_u, and partially for ast2600-evb (it has two
> > > > > controllers, with one of them no longer working). That is too much for me
> > > > > to track down quickly, so this is just a heads-up.
> 
> It would greatly help if we could merge some of your testsuite under QEMU.
> 
> > > > Please Cc me with reproducer or assign Gitlab issues to me,
> > > > I'll have a look.
> > > > 
> > > 
> > > If it wasn't funny, it would be sad.
> > > 
> > > hw/sd/sd.c:sd_reset() calls sd_bootpart_offset() t determine the boot partition
> > > offset. That function needs to have sd->ext_csd[EXT_CSD_PART_CONFIG] configured.
> > > However, the value is only set later in sd_reset() with the call to sc->set_csd().
> > > One of the parameters of that function is the previously calculated size.
> > > 
> > > So in other words there is a circular dependency. The call to sd_bootpart_offset()
> > > returns 0 because sd->ext_csd[EXT_CSD_PART_CONFIG] isn't set, then
> > > the call to sc->set_csd() sets it ... too late. Subsequent calls to
> > > sd_bootpart_offset() will then return the expected offset.

> oh. I didn't realize that :/ I guess we only tested our own scenario when
> we were working on the ast2600 bringup.

Ah, I missed that early call to sd_bootpart_offset() as well.

As this function calculates the *runtime* offset which changes as the
guest switches between accessing the main user data area and the boot
partitions by writing to the EXT_CSD_PART_CONFIG_ACC_MASK bits, it
shouldn't be involved in the calculations in sd_reset() at all.

> I think the change in the reset handler should be :
> 
> -    size -= sd_bootpart_offset(sd);
> +    if (sd_is_emmc(sd)) {
> +        size -= sd->boot_part_size * 2;
> +    }

Yes, that seems correct.

> > > I have no idea how this is supposed to work, and I don't think it works
> > > as implemented. I'll revert commit e32ac563b83 in my local copy of qemu.
> > > Jan, can you have a look at this bug report please? Otherwise I'll
> > > have a look during soft freeze.

Guenter, just to make sure: In your case [1], you had "boot-emmc" (see
aspeed_machine_ast2600_class_emmc_init) enabled, right? Otherwise the
boot partition size would be 0, meaning that the eMMC has no boot
partitions.

In that configuration, your backing file needs to have space for the
boot partitions at the start (2*1MiB) and the rootfs starts at the 2
MiB offset.

Jan

[1]https://lore.kernel.org/qemu-devel/8f3536a0-2685-4aa4-b26d-f460e738d387@roeck-us.net/#t
-- 
Pengutronix e.K.                        |                             |
Steuerwalder Str. 21                    | https://www.pengutronix.de/ |
31137 Hildesheim, Germany               | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686        | Fax:   +49-5121-206917-5555 |




  reply	other threads:[~2024-10-25  9:59 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-17 16:32 [PATCH 0/2] arm: Add collie and sx functional tests Peter Maydell
2024-10-17 16:32 ` [PATCH 1/2] tests/functional: Add a functional test for the collie board Peter Maydell
2024-10-17 17:15   ` Thomas Huth
2024-10-22  4:11   ` Philippe Mathieu-Daudé
2024-10-22  7:09     ` Daniel P. Berrangé
2024-10-22  9:02       ` Peter Maydell
2024-10-22 21:45         ` Philippe Mathieu-Daudé
2024-10-17 16:32 ` [PATCH 2/2] tests/functional: Add a functional test for the sx1 board Peter Maydell
2024-10-17 17:18   ` Thomas Huth
2024-10-21  7:15 ` [PATCH 0/2] arm: Add collie and sx functional tests Thomas Huth
2024-10-21  8:01   ` Thomas Huth
2024-10-21  9:17     ` Peter Maydell
2024-10-21  9:40       ` Thomas Huth
2024-10-21 14:02       ` Guenter Roeck
2024-10-22  4:09         ` Philippe Mathieu-Daudé
2024-10-22  5:24           ` Guenter Roeck
2024-10-22 15:04           ` Guenter Roeck
2024-10-24 17:59             ` Philippe Mathieu-Daudé
2024-10-25  6:55               ` Cédric Le Goater
2024-10-25  9:57                 ` Jan Lübbe [this message]
2024-10-25 13:59                   ` Guenter Roeck
2024-10-25 15:25                     ` Jan Lübbe
2024-10-25 17:05                       ` Guenter Roeck
2024-10-26  4:47                       ` Philippe Mathieu-Daudé
2024-10-26  5:54                         ` Guenter Roeck
2024-10-26 10:02                           ` Cédric Le Goater
2024-10-26 15:32                             ` Guenter Roeck
2024-10-27 21:13                               ` Cédric Le Goater
2024-10-27 22:11                                 ` Guenter Roeck
2024-10-27 22:26                                   ` Cédric Le Goater
2024-10-28  3:32                                     ` Guenter Roeck
2024-10-28  8:41                                       ` Jan Lübbe
2024-10-29 14:40                                         ` Guenter Roeck
2024-11-01 14:14                                           ` backing storage for eMMC boot partitions Jan Lübbe
2024-11-18  9:14                                             ` Cédric Le Goater
2024-11-18 12:15                                               ` Jan Lübbe
2024-11-18 12:36                                                 ` Cédric Le Goater
2024-10-28 16:23                             ` [PATCH] hw/sd/sdcard: Fix calculation of size when using " Jan Luebbe
2024-10-29  8:31                               ` Cédric Le Goater
2024-11-02 15:06                               ` Cédric Le Goater
2024-11-04 10:33                                 ` Philippe Mathieu-Daudé
2024-11-05 16:13                               ` Michael Tokarev
2024-11-05 16:31                                 ` Cédric Le Goater

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=600baa43c3dd3547338934717cfb57c5e12b0d23.camel@pengutronix.de \
    --to=jlu@pengutronix.de \
    --cc=clg@kaod.org \
    --cc=joel@jms.id.au \
    --cc=linux@roeck-us.net \
    --cc=peter.maydell@linaro.org \
    --cc=philmd@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=thuth@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).