On 2/12/24 09:04, Philippe Mathieu-Daudé wrote:
> On 10/2/24 11:24, Akihiko Odaki wrote:
>> Use pci_rom_bar_explicitly_enabled() to determine if rombar is explicitly
>> enabled.
>>
>> Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
>> ---
>> hw/vfio/pci.c | 3 +--
>> 1 file changed, 1 insertion(+), 2 deletions(-)
>>
>> diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c
>> index d7fe06715c4b..44178ac9355f 100644
>> --- a/hw/vfio/pci.c
>> +++ b/hw/vfio/pci.c
>> @@ -1010,7 +1010,6 @@ static void vfio_pci_size_rom(VFIOPCIDevice *vdev)
>> {
>> uint32_t orig, size = cpu_to_le32((uint32_t)PCI_ROM_ADDRESS_MASK);
>> off_t offset = vdev->config_offset + PCI_ROM_ADDRESS;
>> - DeviceState *dev = DEVICE(vdev);
>> char *name;
>> int fd = vdev->vbasedev.fd;
>> @@ -1044,7 +1043,7 @@ static void vfio_pci_size_rom(VFIOPCIDevice *vdev)
>> }
>> if (vfio_opt_rom_in_denylist(vdev)) {
>> - if (dev->opts && qdict_haskey(dev->opts, "rombar")) {
>> + if (pci_rom_bar_explicitly_enabled(&vdev->pdev)) {
>
> "pdev" is considered internal field, please use the DEVICE() macro
> to access it.
Yes. I was just looking at vfio_pci_size_rom(). There is a test at
the beginning of this routine which should be changed to use DEVICE()
if (vdev->pdev.romfile || !vdev->pdev.rom_bar) {
/* Since pci handles romfile, just print a message and return */
if (vfio_opt_rom_in_denylist(vdev) && vdev->pdev.romfile) {
...
Thanks,
C.