hw/arm/exynos4210.c | 2 +- hw/sd/sdhci.c | 68 +++++++++++++++++++- include/hw/sd/sdhci.h | 2 + tests/acceptance/boot_linux_console.py | 88 ++++++++++++++++++++++++++ 4 files changed, 158 insertions(+), 2 deletions(-)
Hi all, Yesterday Peter Maydell asked on IRC if I had any working Exynos4 image. I looked at some old backuped notes and could boot Guenter initrd with BusyBox. I'll use this cover letter to share my notes, they might help to have this board fully usable again. This board is listed as "Odd Fixes". Since we have it covered, I thought it was worthwhile to have it covered by tests to avoid more regressions. Frédéric Basse used this board last year: https://fredericb.info/2018/03/emulating-exynos-4210-bootrom-in-qemu.html I'll have a look a these particular commits he added: - https://github.com/frederic/qemu-exynos-bootrom/commit/9be5c9f2253dbc04ee sd: add sd clock support to SDHC_CLKCON - https://github.com/frederic/qemu-exynos-bootrom/commit/6f045949ee2fdec624 sd: always reply to ACMD41 (SD_APP_OP_COND) Guenter also carries on this patch: - https://github.com/groeck/qemu/commit/0a80543cc910d hw/timer/exynos4210_mct: Initialize timer before starting it When booting a recent Linux kernel, the qemu message "Timer with period zero, disabling" is seen, apparently because a timer is started before being initialized. Fix the problem by initializing the offending timer before starting it. It might also be interesting to use Krzysztof's initramfs image: https://github.com/krzk/tools/blob/master/run-qemu.sh#L29 The 1st test added works fine, however the 2nd (SD card) is not reliable so it is disabled. We might need to adapt the ADMA patch Igor sent once: https://patchwork.ozlabs.org/patch/181854/ If you want to run the Avocado tests, you need these other patches pending review: - https://lists.gnu.org/archive/html/qemu-devel/2019-09/msg06439.html "tests/boot_linux_console: Extract the gunzip() helper" - https://lists.gnu.org/archive/html/qemu-devel/2019-09/msg06438.html "python/qemu/machine: Allow to use other serial consoles than default" (only for the 2nd disabled test) Regards, Phil. Based-on: 20190926173428.10713-16-f4bug@amsat.org Philippe Mathieu-Daudé (5): tests/boot_linux_console: Add initrd test for the Exynos4210 hw/sd/sdhci: Add a comment to distinct the i.MX eSDHC functions hw/sd/sdhci: Add dummy Samsung SDHCI controller hw/arm/exynos4210: Use the Samsung s3c SDHCI controller tests/boot_linux_console: Add sdcard test for the Exynos4210 hw/arm/exynos4210.c | 2 +- hw/sd/sdhci.c | 68 +++++++++++++++++++- include/hw/sd/sdhci.h | 2 + tests/acceptance/boot_linux_console.py | 88 ++++++++++++++++++++++++++ 4 files changed, 158 insertions(+), 2 deletions(-) -- 2.20.1
On Sat, Oct 05, 2019 at 05:47:43PM +0200, Philippe Mathieu-Daudé wrote: > Hi all, > > Yesterday Peter Maydell asked on IRC if I had any working Exynos4 > image. I looked at some old backuped notes and could boot Guenter > initrd with BusyBox. > I'll use this cover letter to share my notes, they might help to > have this board fully usable again. > > This board is listed as "Odd Fixes". Since we have it covered, I > thought it was worthwhile to have it covered by tests to avoid > more regressions. > > Frédéric Basse used this board last year: > https://fredericb.info/2018/03/emulating-exynos-4210-bootrom-in-qemu.html > > I'll have a look a these particular commits he added: > > - https://github.com/frederic/qemu-exynos-bootrom/commit/9be5c9f2253dbc04ee > > sd: add sd clock support to SDHC_CLKCON > > - https://github.com/frederic/qemu-exynos-bootrom/commit/6f045949ee2fdec624 > > sd: always reply to ACMD41 (SD_APP_OP_COND) > > Guenter also carries on this patch: > > - https://github.com/groeck/qemu/commit/0a80543cc910d > > hw/timer/exynos4210_mct: Initialize timer before starting it > > When booting a recent Linux kernel, the qemu message "Timer with period > zero, disabling" is seen, apparently because a timer is started before > being initialized. Fix the problem by initializing the offending timer > before starting it. > > It might also be interesting to use Krzysztof's initramfs image: > https://github.com/krzk/tools/blob/master/run-qemu.sh#L29 I haven't been working on QEMU since 2 years but I can try to find that initramfs image. The recent initramfs I create, is for testing kernel under my Buildbot. I take standard initramfs from Arch ARM and then I add some more stuff: Source/instruction is here: https://github.com/krzk/tools/tree/master/buildbot/initramfs and the script making it for each boot is here: https://github.com/krzk/tools/blob/master/buildbot/build-slave-deploy.sh#L50 https://github.com/krzk/tools/blob/master/pi/make-initramfs.sh Best regards, Krzysztof > > The 1st test added works fine, however the 2nd (SD card) is not > reliable so it is disabled. We might need to adapt the ADMA patch > Igor sent once: > https://patchwork.ozlabs.org/patch/181854/ > > If you want to run the Avocado tests, you need these other patches > pending review: > > - https://lists.gnu.org/archive/html/qemu-devel/2019-09/msg06439.html > "tests/boot_linux_console: Extract the gunzip() helper" > > - https://lists.gnu.org/archive/html/qemu-devel/2019-09/msg06438.html > "python/qemu/machine: Allow to use other serial consoles than default" > (only for the 2nd disabled test) > > Regards, > > Phil. > > Based-on: 20190926173428.10713-16-f4bug@amsat.org > > Philippe Mathieu-Daudé (5): > tests/boot_linux_console: Add initrd test for the Exynos4210 > hw/sd/sdhci: Add a comment to distinct the i.MX eSDHC functions > hw/sd/sdhci: Add dummy Samsung SDHCI controller > hw/arm/exynos4210: Use the Samsung s3c SDHCI controller > tests/boot_linux_console: Add sdcard test for the Exynos4210 > > hw/arm/exynos4210.c | 2 +- > hw/sd/sdhci.c | 68 +++++++++++++++++++- > include/hw/sd/sdhci.h | 2 + > tests/acceptance/boot_linux_console.py | 88 ++++++++++++++++++++++++++ > 4 files changed, 158 insertions(+), 2 deletions(-) > > -- > 2.20.1 >
On Mon, Oct 07, 2019 at 11:10:24AM +0200, Krzysztof Kozlowski wrote:
> On Sat, Oct 05, 2019 at 05:47:43PM +0200, Philippe Mathieu-Daudé wrote:
> > Hi all,
> >
> > Yesterday Peter Maydell asked on IRC if I had any working Exynos4
> > image. I looked at some old backuped notes and could boot Guenter
> > initrd with BusyBox.
> > I'll use this cover letter to share my notes, they might help to
> > have this board fully usable again.
> >
> > This board is listed as "Odd Fixes". Since we have it covered, I
> > thought it was worthwhile to have it covered by tests to avoid
> > more regressions.
> >
> > Frédéric Basse used this board last year:
> > https://fredericb.info/2018/03/emulating-exynos-4210-bootrom-in-qemu.html
> >
> > I'll have a look a these particular commits he added:
> >
> > - https://github.com/frederic/qemu-exynos-bootrom/commit/9be5c9f2253dbc04ee
> >
> > sd: add sd clock support to SDHC_CLKCON
> >
> > - https://github.com/frederic/qemu-exynos-bootrom/commit/6f045949ee2fdec624
> >
> > sd: always reply to ACMD41 (SD_APP_OP_COND)
> >
> > Guenter also carries on this patch:
> >
> > - https://github.com/groeck/qemu/commit/0a80543cc910d
> >
> > hw/timer/exynos4210_mct: Initialize timer before starting it
> >
> > When booting a recent Linux kernel, the qemu message "Timer with period
> > zero, disabling" is seen, apparently because a timer is started before
> > being initialized. Fix the problem by initializing the offending timer
> > before starting it.
> >
> > It might also be interesting to use Krzysztof's initramfs image:
> > https://github.com/krzk/tools/blob/master/run-qemu.sh#L29
>
> I haven't been working on QEMU since 2 years but I can try to find that
> initramfs image.
>
> The recent initramfs I create, is for testing kernel under my Buildbot.
> I take standard initramfs from Arch ARM and then I add some more stuff:
> Source/instruction is here:
> https://github.com/krzk/tools/tree/master/buildbot/initramfs
> and the script making it for each boot is here:
> https://github.com/krzk/tools/blob/master/buildbot/build-slave-deploy.sh#L50
> https://github.com/krzk/tools/blob/master/pi/make-initramfs.sh
>
I checked my initramfs. I created it simply from a running Arch ARM
instance with `fakeroot mkinitcpio -g file.cpio.gz`
You could automatize the process by:
1. Downloading and extracting
http://os.archlinuxarm.org/os/ArchLinuxARM-odroid-latest.tar.gz,
2. Running mkinitcpio or creating initramfs manually (e.g. my script
above).
Best regards,
Krzysztof
Hi Peter, On 10/5/19 5:47 PM, Philippe Mathieu-Daudé wrote: > Hi all, > > Yesterday Peter Maydell asked on IRC if I had any working Exynos4 > image. I looked at some old backuped notes and could boot Guenter > initrd with BusyBox. > I'll use this cover letter to share my notes, they might help to > have this board fully usable again. > > This board is listed as "Odd Fixes". Since we have it covered, I > thought it was worthwhile to have it covered by tests to avoid > more regressions. > > Frédéric Basse used this board last year: > https://fredericb.info/2018/03/emulating-exynos-4210-bootrom-in-qemu.html > > I'll have a look a these particular commits he added: > > - https://github.com/frederic/qemu-exynos-bootrom/commit/9be5c9f2253dbc04ee > > sd: add sd clock support to SDHC_CLKCON > > - https://github.com/frederic/qemu-exynos-bootrom/commit/6f045949ee2fdec624 > > sd: always reply to ACMD41 (SD_APP_OP_COND) > > Guenter also carries on this patch: > > - https://github.com/groeck/qemu/commit/0a80543cc910d > > hw/timer/exynos4210_mct: Initialize timer before starting it > > When booting a recent Linux kernel, the qemu message "Timer with period > zero, disabling" is seen, apparently because a timer is started before > being initialized. Fix the problem by initializing the offending timer > before starting it. > > It might also be interesting to use Krzysztof's initramfs image: > https://github.com/krzk/tools/blob/master/run-qemu.sh#L29 > > The 1st test added works fine, however the 2nd (SD card) is not > reliable so it is disabled. We might need to adapt the ADMA patch > Igor sent once: > https://patchwork.ozlabs.org/patch/181854/ > > If you want to run the Avocado tests, you need these other patches > pending review: > > - https://lists.gnu.org/archive/html/qemu-devel/2019-09/msg06439.html > "tests/boot_linux_console: Extract the gunzip() helper" > > - https://lists.gnu.org/archive/html/qemu-devel/2019-09/msg06438.html > "python/qemu/machine: Allow to use other serial consoles than default" > (only for the 2nd disabled test) > > Regards, > > Phil. > > Based-on: 20190926173428.10713-16-f4bug@amsat.org > > Philippe Mathieu-Daudé (5): > tests/boot_linux_console: Add initrd test for the Exynos4210 > hw/sd/sdhci: Add a comment to distinct the i.MX eSDHC functions > hw/sd/sdhci: Add dummy Samsung SDHCI controller > hw/arm/exynos4210: Use the Samsung s3c SDHCI controller > tests/boot_linux_console: Add sdcard test for the Exynos4210 Can you take patches 2-4 from this series? (C part, not Python). All these patches have been reviewed. Thanks, Phil.
On Fri, 18 Oct 2019 at 15:48, Philippe Mathieu-Daudé <philmd@redhat.com> wrote: > > Hi Peter, > > On 10/5/19 5:47 PM, Philippe Mathieu-Daudé wrote: > > Philippe Mathieu-Daudé (5): > > tests/boot_linux_console: Add initrd test for the Exynos4210 > > hw/sd/sdhci: Add a comment to distinct the i.MX eSDHC functions > > hw/sd/sdhci: Add dummy Samsung SDHCI controller > > hw/arm/exynos4210: Use the Samsung s3c SDHCI controller > > tests/boot_linux_console: Add sdcard test for the Exynos4210 > > Can you take patches 2-4 from this series? (C part, not Python). > All these patches have been reviewed. Sure, I've done that. I assume we'll get the test in via some other path. thanks -- PMM
© 2016 - 2025 Red Hat, Inc.