1. pci初始化
memory@memory-153:~$cat /boot/System.map-3.16.0 | grep pci | grep __initcall
ffffffff81e5bba0 t __initcall_pcibus_class_init2
ffffffff81e5bba8 t __initcall_pci_driver_init2
ffffffff81e5bc58 t __initcall_acpi_pci_init3
ffffffff81e5bc78 t __initcall_register_xen_pci_notifier3
ffffffff81e5bc98 t __initcall_pci_arch_init3
ffffffff81e5bde0 t __initcall_pci_slot_init4
ffffffff81e5bfe8 t __initcall_pci_subsys_init4
ffffffff81e5c1a8 t __initcall_pcibios_assign_resources5
ffffffff81e5c1d8 t __initcall_pci_apply_final_quirks5s
ffffffff81e5c1e8 t __initcall_pci_iommu_initrootfs
ffffffff81e5c650 t __initcall_pci_proc_init6
ffffffff81e5c658 t __initcall_pcie_portdrv_init6
ffffffff81e5c668 t __initcall_pcie_pme_service_init6
ffffffff81e5c678 t __initcall_pci_hotplug_init6
ffffffff81e5c680 t __initcall_pcied_init6
ffffffff81e5c730 t __initcall_virtio_pci_driver_init6
ffffffff81e5c760 t __initcall_platform_pci_module_init6
ffffffff81e5c7a0 t __initcall_serial_pci_driver_init6
ffffffff81e5c878 t __initcall_sis_pci_driver_init6
ffffffff81e5c880 t __initcall_ata_generic_pci_driver_init6
ffffffff81e5c958 t __initcall_ehci_pci_init6
ffffffff81e5c970 t __initcall_ohci_pci_init6
ffffffff81e5cb90 t __initcall_pci_resource_alignment_sysfs_init7
ffffffff81e5cb98 t __initcall_pci_sysfs_init7
ffffffff81e5cc08 t __initcall_pci_mmcfg_late_insert_resources7
2. pci hotplug流程
1) 通过acpi_install_notify_handler向acpi模块注册消息处理函数
消息处理函数为handle_hotplug_event
handle_hotplug_event-->hotplug_event_work-->hotplug_event-->acpiphp_rescan_slot-->pci_scan_slot
-->pci_scan_single_device-->pci_scan_device-->pci_setup_device
-->pci_device_add-->device_add