It looks like these values in pci_dev.resources are filled in pci_read_bases function which is called in pci_setup_device function. So linux is reading the values set by the BIOS and setting them in its pci_dev struct. And the devices's driver is called after that. Chan Kim > -----Original Message----- > From: Chan Kim <ckim@xxxxxxxxxx> > Sent: Friday, May 20, 2022 10:50 AM > To: kernelnewbies@xxxxxxxxxxxxxxxxx > Subject: when is pci_dev->resource values are filled? > > Hi, all > > When initializing a PCI device, during the pci_driver's probe function, > pci_request_region is called. > Inside the pci_request_region, it is just calling request_region with the > values in pci_dev->resource[bar].start and end. > But when is this pci->dev->resource values filled? Is it done by the > BIOS(or UEFI) before linux boots? > Probably not because this pci_dev struct is from linux and should be > filled by linux code and I couldn't find where it's done. > > Chan Kim _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies