Skip to contentSkip to conversation

Firmware blob and git submodule for Sam460ex

PATCH Superseded BALATON Zoltan 6 participants 12 messages Feb 20, 2018 – Feb 22, 2018 Kbuild

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

cover Firmware blob and git submodule for Sam460ex

I've created a git repo for the Sam460ex u-boot sources and this adds that as a submodule and a separate patch to add the binary built from these sources. Feel free to keep this as two patches, squash them into one patch or take the git repo and commit the content under the QEMU repo and use that as a submodule as you see fit (or let me know if any changes are needed for these patches).

BALATON Zoltan (2):
roms: Added git submodule for u-boot-sam460 (firmware for sam460ex)
pc-bios: Added u-boot-sam460 firmware binary

 .gitmodules                        |   3 +++
 Makefile                           |   2 +-
 pc-bios/u-boot-sam460-20100605.bin | Bin 0 -> 524288 bytes
 3 files changed, 4 insertions(+), 1 deletion(-)
 create mode 100755 pc-bios/u-boot-sam460-20100605.bin
Signature · 1 line
2.7.6
#1 lore raw

PATCH 1/2 roms: Added git submodule for u-boot-sam460 (firmware for sam460ex)

---
 .gitmodules | 3 +++
 1 file changed, 3 insertions(+)
.gitmodules +3 -0
index 7a8282d..b76fb45 100644
@@ -43,3 +43,6 @@
 [submodule "roms/seabios-hppa"]
 	path = roms/seabios-hppa
 	url = git://github.com/hdeller/seabios-hppa.git
+[submodule "roms/u-boot-sam460ex"]
+	path = roms/u-boot-sam460ex
+	url = git://github.com/zbalaton/u-boot-sam460ex
Signature · 1 line
2.7.6
#2 lore raw

PATCH 2/2 pc-bios: Added u-boot-sam460 firmware binary

In reply to BALATON Zoltan
---
 Makefile                           |   2 +-
 pc-bios/u-boot-sam460-20100605.bin | Bin 0 -> 524288 bytes
 2 files changed, 1 insertion(+), 1 deletion(-)
 create mode 100755 pc-bios/u-boot-sam460-20100605.bin
Makefile +1 -1
index 6434d6c..b0c16b3 100644
@@ -661,7 +661,7 @@ multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin \
 s390-ccw.img s390-netboot.img \
 spapr-rtas.bin slof.bin skiboot.lid \
 palcode-clipper \
-u-boot.e500 \
+u-boot.e500 u-boot-sam460-20100605.bin \
 qemu_vga.ndrv \
 hppa-firmware.img
 else
pc-bios/u-boot-sam460-20100605.bin new file binary +0 -0
new file mode 100755
index 0000000000000000000000000000000000000000..99408f8e957b26e735e5befa98fa3d51a90d95f6
GIT binary patch
Signature · 1 line
2.7.6
#3 lore raw

Re: [Qemu-devel] [PATCH 2/2] pc-bios: Added u-boot-sam460 firmware binary

pc-bios/u-boot-sam460-20100605.bin

Quoted 22 lines · BALATON Zoltan
---
 Makefile                           |   2 +-
 pc-bios/u-boot-sam460-20100605.bin | Bin 0 -> 524288 bytes
 2 files changed, 1 insertion(+), 1 deletion(-)
 create mode 100755 pc-bios/u-boot-sam460-20100605.bin
Makefile +1 -1
index 6434d6c..b0c16b3 100644
@@ -661,7 +661,7 @@ multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin \
 s390-ccw.img s390-netboot.img \
 spapr-rtas.bin slof.bin skiboot.lid \
 palcode-clipper \
-u-boot.e500 \
+u-boot.e500 u-boot-sam460-20100605.bin \
 qemu_vga.ndrv \
 hppa-firmware.img
 else
pc-bios/u-boot-sam460-20100605.bin new file +0 -0
new file mode 100755

IIUC, you also need to provide glue in roms/Makefile to build the u-boot-sam460-20100605.bin from the submodule content. Presumably you can largely copy what's done for u-boot.e500 there.

Regards,
Daniel

Signature · 3 lines
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
#4 lore raw

Re: [Qemu-devel] [PATCH 2/2] pc-bios: Added u-boot-sam460 firmware binary

Quoted 19 lines · Daniel P. Berrangé
Quoted 18 lines · BALATON Zoltan
---
 Makefile                           |   2 +-
 pc-bios/u-boot-sam460-20100605.bin | Bin 0 -> 524288 bytes
 2 files changed, 1 insertion(+), 1 deletion(-)
 create mode 100755 pc-bios/u-boot-sam460-20100605.bin
Makefile +1 -1
index 6434d6c..b0c16b3 100644
@@ -661,7 +661,7 @@ multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin \
 s390-ccw.img s390-netboot.img \
 spapr-rtas.bin slof.bin skiboot.lid \
 palcode-clipper \
-u-boot.e500 \
+u-boot.e500 u-boot-sam460-20100605.bin \
 qemu_vga.ndrv \
Quoted 8 lines

pc-bios/u-boot-sam460-20100605.bin

Quoted 4 lines
Makefile +0 -0
 hppa-firmware.img
 else
pc-bios/u-boot-sam460-20100605.bin new file +0 -0
new file mode 100755

IIUC, you also need to provide glue in roms/Makefile to build the u-boot-sam460-20100605.bin from the submodule content. Presumably you can largely copy what's done for u-boot.e500 there.

Yes, it seems we can do the same (except stripping the result) and build the Sam460ex_config from the appropriate source that should generate the binary (but I'm not sure about the cross compiler setup in that Makefile, my cross compiler is called powerpc-elf-gcc and after briefly looking at it I'm not sure it will be found by that make magic).

Once the patch to add the sources is cleared I can send a v2 of this with the roms/Makefile changes to also add a new target for this binary.

Regards,
BALATON Zoltan

#5 lore raw
In reply to BALATON Zoltan
Quoted 10 lines · BALATON Zoltan

I've created a git repo for the Sam460ex u-boot sources and this adds that as a submodule and a separate patch to add the binary built from these sources. Feel free to keep this as two patches, squash them into one patch or take the git repo and commit the content under the QEMU repo and use that as a submodule as you see fit (or let me know if any changes are needed for these patches).

BALATON Zoltan (2):
roms: Added git submodule for u-boot-sam460 (firmware for sam460ex)
pc-bios: Added u-boot-sam460 firmware binary

We already have a submodule for u-boot. Is it not possible to build this bios blob from those upstream u-boot sources?

thanks
-- PMM

#6 lore raw
Quoted 8 lines · Peter Maydell
Quoted 7 lines · BALATON Zoltan

I've created a git repo for the Sam460ex u-boot sources and this adds that as a submodule and a separate patch to add the binary built from these sources. Feel free to keep this as two patches, squash them into one patch or take the git repo and commit the content under the QEMU repo and use that as a submodule as you see fit (or let me know if any changes are needed for these patches).

Quoted 6 lines
Quoted 3 lines

BALATON Zoltan (2):
roms: Added git submodule for u-boot-sam460 (firmware for sam460ex)
pc-bios: Added u-boot-sam460 firmware binary

We already have a submodule for u-boot. Is it not possible to build this bios blob from those upstream u-boot sources?

This is discussed in the following thread:
Re: [Qemu-ppc] [PATCH v3 2/2] ppc: Add aCube Sam460ex board
http://lists.gnu.org/archive/html/qemu-ppc/2018-02/msg00268.html

Emilio

#7 lore raw
Quoted 13 lines · Emilio G. Cota
Quoted 12 lines · Peter Maydell
Quoted 10 lines · BALATON Zoltan

I've created a git repo for the Sam460ex u-boot sources and this adds that as a submodule and a separate patch to add the binary built from these sources. Feel free to keep this as two patches, squash them into one patch or take the git repo and commit the content under the QEMU repo and use that as a submodule as you see fit (or let me know if any changes are needed for these patches).

BALATON Zoltan (2):
roms: Added git submodule for u-boot-sam460 (firmware for sam460ex)
pc-bios: Added u-boot-sam460 firmware binary

Quoted 6 lines
Quoted 2 lines

We already have a submodule for u-boot. Is it not possible to build this bios blob from those upstream u-boot sources?

This is discussed in the following thread:
Re: [Qemu-ppc] [PATCH v3 2/2] ppc: Add aCube Sam460ex board
http://lists.gnu.org/archive/html/qemu-ppc/2018-02/msg00268.html

If upstream u-boot have abandoned the board support I'm not very enthusiastic about our taking it on :-(

thanks
-- PMM

#8 lore raw
Quoted 17 lines · Peter Maydell
Quoted 16 lines · Emilio G. Cota
Quoted 14 lines · Peter Maydell
Quoted 10 lines · BALATON Zoltan

I've created a git repo for the Sam460ex u-boot sources and this adds that as a submodule and a separate patch to add the binary built from these sources. Feel free to keep this as two patches, squash them into one patch or take the git repo and commit the content under the QEMU repo and use that as a submodule as you see fit (or let me know if any changes are needed for these patches).

BALATON Zoltan (2):
roms: Added git submodule for u-boot-sam460 (firmware for sam460ex)
pc-bios: Added u-boot-sam460 firmware binary

We already have a submodule for u-boot. Is it not possible to build this bios blob from those upstream u-boot sources?

Quoted 6 lines
Quoted 3 lines

This is discussed in the following thread:
Re: [Qemu-ppc] [PATCH v3 2/2] ppc: Add aCube Sam460ex board
http://lists.gnu.org/archive/html/qemu-ppc/2018-02/msg00268.html

If upstream u-boot have abandoned the board support I'm not very enthusiastic about our taking it on :-(

It's not that upstream u-boot has abandoned board support (it only removed support for the PPC440 CPU it once had). The board itself never had support in upstream u-boot, it only exists in vendor's fork which is the reason we need a separate source and cannot use upstream u-boot source we already have.

In my opinion we don't aim to take on support for this board in u-boot, we only need to include the firmware binary for the emulation to be useful which then requires us to also include the source for the GPL it's licensed under. I've also found a few bugs in the firmware which I've fixed but apart from such occasional bug fixes when needed I don't expect to take over support for the board from the hardware vendor so this source is only so we can include the firmware binary which is needed for the board emulation. Does this answer your concerns?

Regards,
BALATON Zoltan

#9 lore raw
Quoted 6 lines · BALATON Zoltan

It's not that upstream u-boot has abandoned board support (it only removed support for the PPC440 CPU it once had). The board itself never had support in upstream u-boot, it only exists in vendor's fork which is the reason we need a separate source and cannot use upstream u-boot source we already have.

Quoted 8 lines

In my opinion we don't aim to take on support for this board in u-boot, we only need to include the firmware binary for the emulation to be useful which then requires us to also include the source for the GPL it's licensed under. I've also found a few bugs in the firmware which I've fixed but apart from such occasional bug fixes when needed I don't expect to take over support for the board from the hardware vendor so this source is only so we can include the firmware binary which is needed for the board emulation. Does this answer your concerns?

We have lots of boards we don't ship firmware blobs for and which we expect the users to provide the guest code for if they're going to use them. If we had a git submodule for every random dev board model that needs some hardware vendor's BSP and bootloader we'd probably have 50 submodules...

Which isn't to say I'm definitely against this -- I'm just trying to figure out where we should draw the line of "these bits of guest code we build for you and ship with QEMU" versus "we provide the model of the hardware for you to run whatever guest code you happen to have".

thanks
-- PMM

#10 lore raw
Quoted 22 lines · Peter Maydell
Quoted 6 lines · BALATON Zoltan

It's not that upstream u-boot has abandoned board support (it only removed support for the PPC440 CPU it once had). The board itself never had support in upstream u-boot, it only exists in vendor's fork which is the reason we need a separate source and cannot use upstream u-boot source we already have.

Quoted 8 lines

In my opinion we don't aim to take on support for this board in u-boot, we only need to include the firmware binary for the emulation to be useful which then requires us to also include the source for the GPL it's licensed under. I've also found a few bugs in the firmware which I've fixed but apart from such occasional bug fixes when needed I don't expect to take over support for the board from the hardware vendor so this source is only so we can include the firmware binary which is needed for the board emulation. Does this answer your concerns?

We have lots of boards we don't ship firmware blobs for and which we expect the users to provide the guest code for if they're going to use them. If we had a git submodule for every random dev board model that needs some hardware vendor's BSP and bootloader we'd probably have 50 submodules...

Quoted 5 lines

Which isn't to say I'm definitely against this -- I'm just trying to figure out where we should draw the line of "these bits of guest code we build for you and ship with QEMU" versus "we provide the model of the hardware for you to run whatever guest code you happen to have".

So, I encouraged Zoltan to attempt this because I thought boards without suitable firmware blobs were the exception. If they're common it's probably fine as is.

Signature · 4 lines
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
#11 lore raw
In reply to Peter Maydell
Quoted 16 lines · Peter Maydell
Quoted 6 lines · BALATON Zoltan

It's not that upstream u-boot has abandoned board support (it only removed support for the PPC440 CPU it once had). The board itself never had support in upstream u-boot, it only exists in vendor's fork which is the reason we need a separate source and cannot use upstream u-boot source we already have.

Quoted 8 lines

In my opinion we don't aim to take on support for this board in u-boot, we only need to include the firmware binary for the emulation to be useful which then requires us to also include the source for the GPL it's licensed under. I've also found a few bugs in the firmware which I've fixed but apart from such occasional bug fixes when needed I don't expect to take over support for the board from the hardware vendor so this source is only so we can include the firmware binary which is needed for the board emulation. Does this answer your concerns?

Quoted 3 lines

We have lots of boards we don't ship firmware blobs for and which we expect the users to provide the guest code for if they're going to use them.

... which is also somewhat unfortunate. Have you ever tried to run one of those boards to see whether you've broken something with your code changes or not? Hunting the firmware for such a board can be quite challenging. I'm not saying that we should now try to include way more firmware blobs in our repository (its size would explode, I guess), but maybe we should at least start a Wiki page with links to the various firmware images or so?

Thomas