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 b123cc08773d..ef8483673aa3 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h | |||
| @@ -342,11 +342,19 @@ struct acpi_table_ecdt { | |||
| 342 | 342 | ||
| 343 | /* PCI MMCONFIG */ | 343 | /* PCI MMCONFIG */ |
| 344 | 344 | ||
| 345 | /* Defined in PCI Firmware Specification 3.0 */ | ||
| 346 | struct acpi_table_mcfg_config { | ||
| 347 | u32 base_address; | ||
| 348 | u32 base_reserved; | ||
| 349 | u16 pci_segment_group_number; | ||
| 350 | u8 start_bus_number; | ||
| 351 | u8 end_bus_number; | ||
| 352 | u8 reserved[4]; | ||
| 353 | } __attribute__ ((packed)); | ||
| 345 | struct acpi_table_mcfg { | 354 | struct acpi_table_mcfg { |
| 346 | struct acpi_table_header header; | 355 | struct acpi_table_header header; |
| 347 | u8 reserved[8]; | 356 | u8 reserved[8]; |
| 348 | u32 base_address; | 357 | struct acpi_table_mcfg_config config[0]; |
| 349 | u32 base_reserved; | ||
| 350 | } __attribute__ ((packed)); | 358 | } __attribute__ ((packed)); |
| 351 | 359 | ||
| 352 | /* Table Handlers */ | 360 | /* Table Handlers */ |
| @@ -391,6 +399,7 @@ int acpi_table_parse (enum acpi_table_id id, acpi_table_handler handler); | |||
| 391 | int acpi_get_table_header_early (enum acpi_table_id id, struct acpi_table_header **header); | 399 | int acpi_get_table_header_early (enum acpi_table_id id, struct acpi_table_header **header); |
| 392 | int acpi_table_parse_madt (enum acpi_madt_entry_id id, acpi_madt_entry_handler handler, unsigned int max_entries); | 400 | int acpi_table_parse_madt (enum acpi_madt_entry_id id, acpi_madt_entry_handler handler, unsigned int max_entries); |
| 393 | int acpi_table_parse_srat (enum acpi_srat_entry_id id, acpi_madt_entry_handler handler, unsigned int max_entries); | 401 | int acpi_table_parse_srat (enum acpi_srat_entry_id id, acpi_madt_entry_handler handler, unsigned int max_entries); |
| 402 | int acpi_parse_mcfg (unsigned long phys_addr, unsigned long size); | ||
| 394 | void acpi_table_print (struct acpi_table_header *header, unsigned long phys_addr); | 403 | void acpi_table_print (struct acpi_table_header *header, unsigned long phys_addr); |
| 395 | void acpi_table_print_madt_entry (acpi_table_entry_header *madt); | 404 | void acpi_table_print_madt_entry (acpi_table_entry_header *madt); |
| 396 | void acpi_table_print_srat_entry (acpi_table_entry_header *srat); | 405 | void acpi_table_print_srat_entry (acpi_table_entry_header *srat); |
| @@ -407,9 +416,13 @@ int acpi_map_lsapic(acpi_handle handle, int *pcpu); | |||
| 407 | int acpi_unmap_lsapic(int cpu); | 416 | int acpi_unmap_lsapic(int cpu); |
| 408 | #endif /* CONFIG_ACPI_HOTPLUG_CPU */ | 417 | #endif /* CONFIG_ACPI_HOTPLUG_CPU */ |
| 409 | 418 | ||
| 419 | int acpi_register_ioapic(acpi_handle handle, u64 phys_addr, u32 gsi_base); | ||
| 420 | int acpi_unregister_ioapic(acpi_handle handle, u32 gsi_base); | ||
| 421 | |||
| 410 | extern int acpi_mp_config; | 422 | extern int acpi_mp_config; |
| 411 | 423 | ||
| 412 | extern u32 pci_mmcfg_base_addr; | 424 | extern struct acpi_table_mcfg_config *pci_mmcfg_config; |
| 425 | extern int pci_mmcfg_config_num; | ||
| 413 | 426 | ||
| 414 | extern int sbf_port ; | 427 | extern int sbf_port ; |
| 415 | 428 | ||
