On 19.10.2021 15:17, Roger Pau Monné wrote: > On Tue, Oct 19, 2021 at 02:39:17PM +0200, Jan Beulich wrote: >> On 19.10.2021 12:40, Bertrand Marquis wrote: >>> --- a/xen/drivers/vpci/vpci.c >>> +++ b/xen/drivers/vpci/vpci.c >>> @@ -54,7 +54,7 @@ void vpci_remove_device(struct pci_dev *pdev) >>> pdev->vpci = NULL; >>> } >>> >>> -int __hwdom_init vpci_add_handlers(struct pci_dev *pdev) >>> +int vpci_add_handlers(struct pci_dev *pdev) >> >> A fundamental requirement when altering section attributes is to >> also check that all referenced entities are appropriately placed. >> Afaict this is not the case for __start_vpci_array[], and you'll >> need to also adjust linker scripts to deal with that. > > Indeed, we need to just keep the CONFIG_LATE_HWDOM placement in > .rodata. > >> Further >> you'd have to check that all functions referenced by that array >> aren't __hwdom_init. In taking an example (init_msi()) I'm >> actually surprised to find it's not marked __hwdom_init. So >> maybe all is fine as far as these are concerned. > > My bad, I've forgot to mark the initializers used by > REGISTER_VPCI_INIT as __hwdom_init. I think there's no need for a > change there.
Not anymore, indeed. And less code churn now as a result. Jan