diff options
Diffstat (limited to 'include/linux/acpi.h')
-rw-r--r-- | include/linux/acpi.h | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/include/linux/acpi.h b/include/linux/acpi.h index bf96ae9d93a3..fd48db320f5b 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h | |||
@@ -345,11 +345,19 @@ struct acpi_table_ecdt { | |||
345 | 345 | ||
346 | /* PCI MMCONFIG */ | 346 | /* PCI MMCONFIG */ |
347 | 347 | ||
348 | /* Defined in PCI Firmware Specification 3.0 */ | ||
349 | struct acpi_table_mcfg_config { | ||
350 | u32 base_address; | ||
351 | u32 base_reserved; | ||
352 | u16 pci_segment_group_number; | ||
353 | u8 start_bus_number; | ||
354 | u8 end_bus_number; | ||
355 | u8 reserved[4]; | ||
356 | } __attribute__ ((packed)); | ||
348 | struct acpi_table_mcfg { | 357 | struct acpi_table_mcfg { |
349 | struct acpi_table_header header; | 358 | struct acpi_table_header header; |
350 | u8 reserved[8]; | 359 | u8 reserved[8]; |
351 | u32 base_address; | 360 | struct acpi_table_mcfg_config config[0]; |
352 | u32 base_reserved; | ||
353 | } __attribute__ ((packed)); | 361 | } __attribute__ ((packed)); |
354 | 362 | ||
355 | /* Table Handlers */ | 363 | /* Table Handlers */ |
@@ -394,6 +402,7 @@ int acpi_table_parse (enum acpi_table_id id, acpi_table_handler handler); | |||
394 | int acpi_get_table_header_early (enum acpi_table_id id, struct acpi_table_header **header); | 402 | int acpi_get_table_header_early (enum acpi_table_id id, struct acpi_table_header **header); |
395 | int acpi_table_parse_madt (enum acpi_madt_entry_id id, acpi_madt_entry_handler handler, unsigned int max_entries); | 403 | int acpi_table_parse_madt (enum acpi_madt_entry_id id, acpi_madt_entry_handler handler, unsigned int max_entries); |
396 | int acpi_table_parse_srat (enum acpi_srat_entry_id id, acpi_madt_entry_handler handler, unsigned int max_entries); | 404 | int acpi_table_parse_srat (enum acpi_srat_entry_id id, acpi_madt_entry_handler handler, unsigned int max_entries); |
405 | int acpi_parse_mcfg (unsigned long phys_addr, unsigned long size); | ||
397 | void acpi_table_print (struct acpi_table_header *header, unsigned long phys_addr); | 406 | void acpi_table_print (struct acpi_table_header *header, unsigned long phys_addr); |
398 | void acpi_table_print_madt_entry (acpi_table_entry_header *madt); | 407 | void acpi_table_print_madt_entry (acpi_table_entry_header *madt); |
399 | void acpi_table_print_srat_entry (acpi_table_entry_header *srat); | 408 | void acpi_table_print_srat_entry (acpi_table_entry_header *srat); |
@@ -410,9 +419,13 @@ int acpi_map_lsapic(acpi_handle handle, int *pcpu); | |||
410 | int acpi_unmap_lsapic(int cpu); | 419 | int acpi_unmap_lsapic(int cpu); |
411 | #endif /* CONFIG_ACPI_HOTPLUG_CPU */ | 420 | #endif /* CONFIG_ACPI_HOTPLUG_CPU */ |
412 | 421 | ||
422 | int acpi_register_ioapic(acpi_handle handle, u64 phys_addr, u32 gsi_base); | ||
423 | int acpi_unregister_ioapic(acpi_handle handle, u32 gsi_base); | ||
424 | |||
413 | extern int acpi_mp_config; | 425 | extern int acpi_mp_config; |
414 | 426 | ||
415 | extern u32 pci_mmcfg_base_addr; | 427 | extern struct acpi_table_mcfg_config *pci_mmcfg_config; |
428 | extern int pci_mmcfg_config_num; | ||
416 | 429 | ||
417 | extern int sbf_port ; | 430 | extern int sbf_port ; |
418 | 431 | ||