I've never tried it before. I'm not sure
wheter it will work or not. But perhaps, you'd better try it and tell us about the result here
. However, there are some peculiarities in mainboard/system BIOS handling of PCI ROM between different BIOS/mainboard.
Anyway, my primary purpose of placing my code in PCI expansion ROM is to make an embedded x86 kernel
as (perhaps) you've read from my article. So, to test the kernel I made only one code base but using certain makefile command
I'm able to make a "to be loaded from floppy" binary and I can test this version using the readily available x86 emulator, i.e. Bochs or other. The difference between generating PCI ROM version and floppy version binary is only on the kernel loader which is in the case of PCI ROM will be a valid PCI ROM whereas in floppy version will be a boot sector of the floppy.
Another consideration is, if the feature that you expect from x86 emulator is
hardware dependent feature. For example you want tol be able to initialize certain chipset register, then I think that's out-of-question. I mean the emulator will be very likely do not support such a feature.