[PATCH 0/6] roms: fix compilation for {vof,optionrom,s390-ccw} blobs

Pierrick Bouvier posted 6 patches 1 week, 4 days ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260915002706.36318-1-pierrick.bouvier@oss.qualcomm.com
Maintainers: Richard Henderson <richard.henderson@linaro.org>, Ilya Leoshkevich <iii@linux.ibm.com>, David Hildenbrand <david@kernel.org>
pc-bios/optionrom/Makefile                  | 69 ---------------------
pc-bios/vof/Makefile                        | 31 ---------
roms/Makefile                               | 22 +++++++
roms/optionrom/Makefile                     | 56 +++++++++++++++++
{pc-bios => roms}/optionrom/flat.lds        |  0
{pc-bios => roms}/optionrom/kvmvapic.S      |  0
{pc-bios => roms}/optionrom/linuxboot_dma.c |  0
{pc-bios => roms}/optionrom/multiboot_dma.S |  0
{pc-bios => roms}/optionrom/optionrom.h     |  0
{pc-bios => roms}/optionrom/optrom.h        |  0
{pc-bios => roms}/optionrom/optrom_fw_cfg.h |  0
{pc-bios => roms}/optionrom/pvh.S           |  0
{pc-bios => roms}/optionrom/pvh_main.c      |  0
{pc-bios => roms}/s390-ccw/Makefile         | 67 ++++++++------------
{pc-bios => roms}/s390-ccw/bootmap.c        |  0
{pc-bios => roms}/s390-ccw/bootmap.h        |  0
{pc-bios => roms}/s390-ccw/bswap.h          |  0
{pc-bios => roms}/s390-ccw/cio.c            |  0
{pc-bios => roms}/s390-ccw/cio.h            |  0
{pc-bios => roms}/s390-ccw/clp.c            |  0
{pc-bios => roms}/s390-ccw/clp.h            |  0
{pc-bios => roms}/s390-ccw/dasd-ipl.c       |  0
{pc-bios => roms}/s390-ccw/dasd-ipl.h       |  0
{pc-bios => roms}/s390-ccw/helper.h         |  0
{pc-bios => roms}/s390-ccw/iplb.h           |  0
{pc-bios => roms}/s390-ccw/jump2ipl.c       |  0
{pc-bios => roms}/s390-ccw/main.c           |  0
{pc-bios => roms}/s390-ccw/menu.c           |  0
{pc-bios => roms}/s390-ccw/netmain.c        |  0
{pc-bios => roms}/s390-ccw/pci.c            |  0
{pc-bios => roms}/s390-ccw/pci.h            |  0
{pc-bios => roms}/s390-ccw/s390-arch.h      |  0
{pc-bios => roms}/s390-ccw/s390-ccw.h       |  0
{pc-bios => roms}/s390-ccw/s390-time.h      |  0
{pc-bios => roms}/s390-ccw/sclp.c           |  0
{pc-bios => roms}/s390-ccw/sclp.h           |  0
{pc-bios => roms}/s390-ccw/scsi.h           |  0
{pc-bios => roms}/s390-ccw/secure-ipl.c     |  0
{pc-bios => roms}/s390-ccw/secure-ipl.h     |  0
{pc-bios => roms}/s390-ccw/start.S          |  0
{pc-bios => roms}/s390-ccw/virtio-blkdev.c  |  0
{pc-bios => roms}/s390-ccw/virtio-ccw.c     |  0
{pc-bios => roms}/s390-ccw/virtio-ccw.h     |  0
{pc-bios => roms}/s390-ccw/virtio-net.c     |  0
{pc-bios => roms}/s390-ccw/virtio-pci.c     |  0
{pc-bios => roms}/s390-ccw/virtio-pci.h     |  0
{pc-bios => roms}/s390-ccw/virtio-scsi.c    |  0
{pc-bios => roms}/s390-ccw/virtio-scsi.h    |  0
{pc-bios => roms}/s390-ccw/virtio.c         |  0
{pc-bios => roms}/s390-ccw/virtio.h         |  0
roms/vof/Makefile                           | 26 ++++++++
{pc-bios => roms}/vof/bootmem.c             |  0
{pc-bios => roms}/vof/ci.c                  |  0
{pc-bios => roms}/vof/entry.S               |  0
{pc-bios => roms}/vof/libc.c                |  0
{pc-bios => roms}/vof/main.c                |  0
{pc-bios => roms}/vof/vof.h                 |  0
{pc-bios => roms}/vof/vof.lds               |  0
tests/tcg/s390x/console.c                   |  4 +-
tests/tcg/s390x/head64.S                    |  4 +-
60 files changed, 134 insertions(+), 145 deletions(-)
delete mode 100644 pc-bios/optionrom/Makefile
delete mode 100644 pc-bios/vof/Makefile
create mode 100644 roms/optionrom/Makefile
rename {pc-bios => roms}/optionrom/flat.lds (100%)
rename {pc-bios => roms}/optionrom/kvmvapic.S (100%)
rename {pc-bios => roms}/optionrom/linuxboot_dma.c (100%)
rename {pc-bios => roms}/optionrom/multiboot_dma.S (100%)
rename {pc-bios => roms}/optionrom/optionrom.h (100%)
rename {pc-bios => roms}/optionrom/optrom.h (100%)
rename {pc-bios => roms}/optionrom/optrom_fw_cfg.h (100%)
rename {pc-bios => roms}/optionrom/pvh.S (100%)
rename {pc-bios => roms}/optionrom/pvh_main.c (100%)
rename {pc-bios => roms}/s390-ccw/Makefile (59%)
rename {pc-bios => roms}/s390-ccw/bootmap.c (100%)
rename {pc-bios => roms}/s390-ccw/bootmap.h (100%)
rename {pc-bios => roms}/s390-ccw/bswap.h (100%)
rename {pc-bios => roms}/s390-ccw/cio.c (100%)
rename {pc-bios => roms}/s390-ccw/cio.h (100%)
rename {pc-bios => roms}/s390-ccw/clp.c (100%)
rename {pc-bios => roms}/s390-ccw/clp.h (100%)
rename {pc-bios => roms}/s390-ccw/dasd-ipl.c (100%)
rename {pc-bios => roms}/s390-ccw/dasd-ipl.h (100%)
rename {pc-bios => roms}/s390-ccw/helper.h (100%)
rename {pc-bios => roms}/s390-ccw/iplb.h (100%)
rename {pc-bios => roms}/s390-ccw/jump2ipl.c (100%)
rename {pc-bios => roms}/s390-ccw/main.c (100%)
rename {pc-bios => roms}/s390-ccw/menu.c (100%)
rename {pc-bios => roms}/s390-ccw/netmain.c (100%)
rename {pc-bios => roms}/s390-ccw/pci.c (100%)
rename {pc-bios => roms}/s390-ccw/pci.h (100%)
rename {pc-bios => roms}/s390-ccw/s390-arch.h (100%)
rename {pc-bios => roms}/s390-ccw/s390-ccw.h (100%)
rename {pc-bios => roms}/s390-ccw/s390-time.h (100%)
rename {pc-bios => roms}/s390-ccw/sclp.c (100%)
rename {pc-bios => roms}/s390-ccw/sclp.h (100%)
rename {pc-bios => roms}/s390-ccw/scsi.h (100%)
rename {pc-bios => roms}/s390-ccw/secure-ipl.c (100%)
rename {pc-bios => roms}/s390-ccw/secure-ipl.h (100%)
rename {pc-bios => roms}/s390-ccw/start.S (100%)
rename {pc-bios => roms}/s390-ccw/virtio-blkdev.c (100%)
rename {pc-bios => roms}/s390-ccw/virtio-ccw.c (100%)
rename {pc-bios => roms}/s390-ccw/virtio-ccw.h (100%)
rename {pc-bios => roms}/s390-ccw/virtio-net.c (100%)
rename {pc-bios => roms}/s390-ccw/virtio-pci.c (100%)
rename {pc-bios => roms}/s390-ccw/virtio-pci.h (100%)
rename {pc-bios => roms}/s390-ccw/virtio-scsi.c (100%)
rename {pc-bios => roms}/s390-ccw/virtio-scsi.h (100%)
rename {pc-bios => roms}/s390-ccw/virtio.c (100%)
rename {pc-bios => roms}/s390-ccw/virtio.h (100%)
create mode 100644 roms/vof/Makefile
rename {pc-bios => roms}/vof/bootmem.c (100%)
rename {pc-bios => roms}/vof/ci.c (100%)
rename {pc-bios => roms}/vof/entry.S (100%)
rename {pc-bios => roms}/vof/libc.c (100%)
rename {pc-bios => roms}/vof/main.c (100%)
rename {pc-bios => roms}/vof/vof.h (100%)
rename {pc-bios => roms}/vof/vof.lds (100%)
[PATCH 0/6] roms: fix compilation for {vof,optionrom,s390-ccw} blobs
Posted by Pierrick Bouvier 1 week, 4 days ago
Recent switch to tcg-tests removed a part of configure that was generating
config .mak files, that were reused in other places of the tree:
- linux-user vdso
- pc-bios

Taking a look closer, our roms sources are supposed to be in roms folder, and
there is a standalone Makefile to build associated blobs.
This series moves the remaining sources from pc-bios to roms, and adapt their
Makefile to work without depending of config.mak.
vdso build will be fixed in another series.

Pierrick Bouvier (6):
  roms: move vof from pc-bios
  roms/Makefile: add vofrom
  roms: move optionrom from pc-bios
  roms/Makefile: add optionrom-bin
  roms: move s390-ccw from pc-bios
  roms/Makefile: add s390-ccw-rom

 pc-bios/optionrom/Makefile                  | 69 ---------------------
 pc-bios/vof/Makefile                        | 31 ---------
 roms/Makefile                               | 22 +++++++
 roms/optionrom/Makefile                     | 56 +++++++++++++++++
 {pc-bios => roms}/optionrom/flat.lds        |  0
 {pc-bios => roms}/optionrom/kvmvapic.S      |  0
 {pc-bios => roms}/optionrom/linuxboot_dma.c |  0
 {pc-bios => roms}/optionrom/multiboot_dma.S |  0
 {pc-bios => roms}/optionrom/optionrom.h     |  0
 {pc-bios => roms}/optionrom/optrom.h        |  0
 {pc-bios => roms}/optionrom/optrom_fw_cfg.h |  0
 {pc-bios => roms}/optionrom/pvh.S           |  0
 {pc-bios => roms}/optionrom/pvh_main.c      |  0
 {pc-bios => roms}/s390-ccw/Makefile         | 67 ++++++++------------
 {pc-bios => roms}/s390-ccw/bootmap.c        |  0
 {pc-bios => roms}/s390-ccw/bootmap.h        |  0
 {pc-bios => roms}/s390-ccw/bswap.h          |  0
 {pc-bios => roms}/s390-ccw/cio.c            |  0
 {pc-bios => roms}/s390-ccw/cio.h            |  0
 {pc-bios => roms}/s390-ccw/clp.c            |  0
 {pc-bios => roms}/s390-ccw/clp.h            |  0
 {pc-bios => roms}/s390-ccw/dasd-ipl.c       |  0
 {pc-bios => roms}/s390-ccw/dasd-ipl.h       |  0
 {pc-bios => roms}/s390-ccw/helper.h         |  0
 {pc-bios => roms}/s390-ccw/iplb.h           |  0
 {pc-bios => roms}/s390-ccw/jump2ipl.c       |  0
 {pc-bios => roms}/s390-ccw/main.c           |  0
 {pc-bios => roms}/s390-ccw/menu.c           |  0
 {pc-bios => roms}/s390-ccw/netmain.c        |  0
 {pc-bios => roms}/s390-ccw/pci.c            |  0
 {pc-bios => roms}/s390-ccw/pci.h            |  0
 {pc-bios => roms}/s390-ccw/s390-arch.h      |  0
 {pc-bios => roms}/s390-ccw/s390-ccw.h       |  0
 {pc-bios => roms}/s390-ccw/s390-time.h      |  0
 {pc-bios => roms}/s390-ccw/sclp.c           |  0
 {pc-bios => roms}/s390-ccw/sclp.h           |  0
 {pc-bios => roms}/s390-ccw/scsi.h           |  0
 {pc-bios => roms}/s390-ccw/secure-ipl.c     |  0
 {pc-bios => roms}/s390-ccw/secure-ipl.h     |  0
 {pc-bios => roms}/s390-ccw/start.S          |  0
 {pc-bios => roms}/s390-ccw/virtio-blkdev.c  |  0
 {pc-bios => roms}/s390-ccw/virtio-ccw.c     |  0
 {pc-bios => roms}/s390-ccw/virtio-ccw.h     |  0
 {pc-bios => roms}/s390-ccw/virtio-net.c     |  0
 {pc-bios => roms}/s390-ccw/virtio-pci.c     |  0
 {pc-bios => roms}/s390-ccw/virtio-pci.h     |  0
 {pc-bios => roms}/s390-ccw/virtio-scsi.c    |  0
 {pc-bios => roms}/s390-ccw/virtio-scsi.h    |  0
 {pc-bios => roms}/s390-ccw/virtio.c         |  0
 {pc-bios => roms}/s390-ccw/virtio.h         |  0
 roms/vof/Makefile                           | 26 ++++++++
 {pc-bios => roms}/vof/bootmem.c             |  0
 {pc-bios => roms}/vof/ci.c                  |  0
 {pc-bios => roms}/vof/entry.S               |  0
 {pc-bios => roms}/vof/libc.c                |  0
 {pc-bios => roms}/vof/main.c                |  0
 {pc-bios => roms}/vof/vof.h                 |  0
 {pc-bios => roms}/vof/vof.lds               |  0
 tests/tcg/s390x/console.c                   |  4 +-
 tests/tcg/s390x/head64.S                    |  4 +-
 60 files changed, 134 insertions(+), 145 deletions(-)
 delete mode 100644 pc-bios/optionrom/Makefile
 delete mode 100644 pc-bios/vof/Makefile
 create mode 100644 roms/optionrom/Makefile
 rename {pc-bios => roms}/optionrom/flat.lds (100%)
 rename {pc-bios => roms}/optionrom/kvmvapic.S (100%)
 rename {pc-bios => roms}/optionrom/linuxboot_dma.c (100%)
 rename {pc-bios => roms}/optionrom/multiboot_dma.S (100%)
 rename {pc-bios => roms}/optionrom/optionrom.h (100%)
 rename {pc-bios => roms}/optionrom/optrom.h (100%)
 rename {pc-bios => roms}/optionrom/optrom_fw_cfg.h (100%)
 rename {pc-bios => roms}/optionrom/pvh.S (100%)
 rename {pc-bios => roms}/optionrom/pvh_main.c (100%)
 rename {pc-bios => roms}/s390-ccw/Makefile (59%)
 rename {pc-bios => roms}/s390-ccw/bootmap.c (100%)
 rename {pc-bios => roms}/s390-ccw/bootmap.h (100%)
 rename {pc-bios => roms}/s390-ccw/bswap.h (100%)
 rename {pc-bios => roms}/s390-ccw/cio.c (100%)
 rename {pc-bios => roms}/s390-ccw/cio.h (100%)
 rename {pc-bios => roms}/s390-ccw/clp.c (100%)
 rename {pc-bios => roms}/s390-ccw/clp.h (100%)
 rename {pc-bios => roms}/s390-ccw/dasd-ipl.c (100%)
 rename {pc-bios => roms}/s390-ccw/dasd-ipl.h (100%)
 rename {pc-bios => roms}/s390-ccw/helper.h (100%)
 rename {pc-bios => roms}/s390-ccw/iplb.h (100%)
 rename {pc-bios => roms}/s390-ccw/jump2ipl.c (100%)
 rename {pc-bios => roms}/s390-ccw/main.c (100%)
 rename {pc-bios => roms}/s390-ccw/menu.c (100%)
 rename {pc-bios => roms}/s390-ccw/netmain.c (100%)
 rename {pc-bios => roms}/s390-ccw/pci.c (100%)
 rename {pc-bios => roms}/s390-ccw/pci.h (100%)
 rename {pc-bios => roms}/s390-ccw/s390-arch.h (100%)
 rename {pc-bios => roms}/s390-ccw/s390-ccw.h (100%)
 rename {pc-bios => roms}/s390-ccw/s390-time.h (100%)
 rename {pc-bios => roms}/s390-ccw/sclp.c (100%)
 rename {pc-bios => roms}/s390-ccw/sclp.h (100%)
 rename {pc-bios => roms}/s390-ccw/scsi.h (100%)
 rename {pc-bios => roms}/s390-ccw/secure-ipl.c (100%)
 rename {pc-bios => roms}/s390-ccw/secure-ipl.h (100%)
 rename {pc-bios => roms}/s390-ccw/start.S (100%)
 rename {pc-bios => roms}/s390-ccw/virtio-blkdev.c (100%)
 rename {pc-bios => roms}/s390-ccw/virtio-ccw.c (100%)
 rename {pc-bios => roms}/s390-ccw/virtio-ccw.h (100%)
 rename {pc-bios => roms}/s390-ccw/virtio-net.c (100%)
 rename {pc-bios => roms}/s390-ccw/virtio-pci.c (100%)
 rename {pc-bios => roms}/s390-ccw/virtio-pci.h (100%)
 rename {pc-bios => roms}/s390-ccw/virtio-scsi.c (100%)
 rename {pc-bios => roms}/s390-ccw/virtio-scsi.h (100%)
 rename {pc-bios => roms}/s390-ccw/virtio.c (100%)
 rename {pc-bios => roms}/s390-ccw/virtio.h (100%)
 create mode 100644 roms/vof/Makefile
 rename {pc-bios => roms}/vof/bootmem.c (100%)
 rename {pc-bios => roms}/vof/ci.c (100%)
 rename {pc-bios => roms}/vof/entry.S (100%)
 rename {pc-bios => roms}/vof/libc.c (100%)
 rename {pc-bios => roms}/vof/main.c (100%)
 rename {pc-bios => roms}/vof/vof.h (100%)
 rename {pc-bios => roms}/vof/vof.lds (100%)

-- 
2.43.0
Re: [PATCH 0/6] roms: fix compilation for {vof,optionrom,s390-ccw} blobs
Posted by Paolo Bonzini 1 week, 4 days ago
On 9/15/26 02:27, Pierrick Bouvier wrote:
> Recent switch to tcg-tests removed a part of configure that was generating
> config .mak files, that were reused in other places of the tree:
> - linux-user vdso
> - pc-bios
> 
> Taking a look closer, our roms sources are supposed to be in roms folder

Says who?

You haven't even *tried* to look at the difference between pc-bios/ and 
roms/, i.e. that pc-bios/ tries to use the container-based cross 
compilers.  Because if you had, you would have mentioned it in the 
commit message.

NACK.

Paolo
Re: [PATCH 0/6] roms: fix compilation for {vof,optionrom,s390-ccw} blobs
Posted by Pierrick Bouvier 1 week, 4 days ago
On 9/14/26 10:04 PM, Paolo Bonzini wrote:
> On 9/15/26 02:27, Pierrick Bouvier wrote:
>> Recent switch to tcg-tests removed a part of configure that was generating
>> config .mak files, that were reused in other places of the tree:
>> - linux-user vdso
>> - pc-bios
>>
>> Taking a look closer, our roms sources are supposed to be in roms folder
> 
> Says who?
>

It was not said on an authoritative tone.

I can reformulate to be understood better:
Taking a look closer, it seems to me that our roms sources are mostly 
located in roms folder, to the exception of the one in this series, 
which are in pc-bios.

> You haven't even *tried* to look at the difference between pc-bios/ and
> roms/, i.e. that pc-bios/ tries to use the container-based cross
> compilers.  Because if you had, you would have mentioned it in the
> commit message.
>

I noticed this difference, and mentioned on original thread that I would 
not port the cross container part to avoid duplication. Those files are 
not built in CI, nor by default, so it was not obvious for me they have 
a special status vs the rest of roms/.

> NACK.
>

Without the move to roms/, does the change to Makefiles seem interesting 
to you, or do you prefer to keep configure as it was with no change?

> Paolo
> 

Regards,
Pierrick
Re: [PATCH 0/6] roms: fix compilation for {vof,optionrom,s390-ccw} blobs
Posted by Pierrick Bouvier 1 week, 4 days ago
On 9/14/2026 5:27 PM, Pierrick Bouvier wrote:
> Recent switch to tcg-tests removed a part of configure that was generating
> config .mak files, that were reused in other places of the tree:
> - linux-user vdso
> - pc-bios
> 
> Taking a look closer, our roms sources are supposed to be in roms folder, and
> there is a standalone Makefile to build associated blobs.
> This series moves the remaining sources from pc-bios to roms, and adapt their
> Makefile to work without depending of config.mak.
> vdso build will be fixed in another series.
> 
> Pierrick Bouvier (6):
>   roms: move vof from pc-bios
>   roms/Makefile: add vofrom
>   roms: move optionrom from pc-bios
>   roms/Makefile: add optionrom-bin
>   roms: move s390-ccw from pc-bios
>   roms/Makefile: add s390-ccw-rom
>

Forgot to update MAINTAINERS entries for those files, please see v2:
https://lore.kernel.org/qemu-devel/20260915004802.5749-1-pierrick.bouvier@oss.qualcomm.com/T/#

Regards,
Pierrick