For what it is worth, the "filename" and format seems a little odd to me. We've not used the "opt/org.seabios/" scheme prior. We can adopt that scheme going forward I guess.
In qemu places fw_cfg files for all firmwares in 'etc/'.
fw_cfg files which do not come from qemu but are just passed through because someone adds them to the qemu command line should go into 'opt/<reverse-dns>/<name>'. So edk2 uses 'opt/org.tianocore/...' for most options (there are some in 'opt/ovmf/...' for historical reasons). For seabios-specific options 'opt/org.seabios/...' would be the correct choice.
The "pci64" seems very generic to me - if I understand the capability, we're padding space between 64bit memory regions for busses, not enabling 64bit pci.
It does both.
If we want to support human readable values (eg, "on") perhaps it would be good to add a romfile_readbool() helper to romfile.c (or similar).
Makes sense indeed.
Also, any reason to put this in paravirt.c instead of directly in pciinit.c?
Looked reasonable to me because all fw_cfg access is there, but placing it directly in pciinit.c should work too.
take care, Gerd