diff options
| author | Tomasz Nowicki <tomasz.nowicki@linaro.org> | 2014-07-30 00:21:50 -0400 |
|---|---|---|
| committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2014-07-30 18:50:24 -0400 |
| commit | d0c383e48d1b6cdc39cf9cc2f082bbb6f3c28b89 (patch) | |
| tree | f067e0030dddefc5204d44c16221ff8b6ea6c52b | |
| parent | 9eb1105babb8948c402ff785f5b43e35f79c0a0c (diff) | |
ACPICA/ARM: ACPI 5.1: Update for MADT changes.
New subtables and changes to other subtables. Tomasz Nowicki.
Signed-off-by: Tomasz Nowicki <tomasz.nowicki@linaro.org>
Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
| -rw-r--r-- | include/acpi/actbl1.h | 44 |
1 files changed, 41 insertions, 3 deletions
diff --git a/include/acpi/actbl1.h b/include/acpi/actbl1.h index 9613e8e97960..7626bfeac2cb 100644 --- a/include/acpi/actbl1.h +++ b/include/acpi/actbl1.h | |||
| @@ -671,7 +671,9 @@ enum acpi_madt_type { | |||
| 671 | ACPI_MADT_TYPE_LOCAL_X2APIC_NMI = 10, | 671 | ACPI_MADT_TYPE_LOCAL_X2APIC_NMI = 10, |
| 672 | ACPI_MADT_TYPE_GENERIC_INTERRUPT = 11, | 672 | ACPI_MADT_TYPE_GENERIC_INTERRUPT = 11, |
| 673 | ACPI_MADT_TYPE_GENERIC_DISTRIBUTOR = 12, | 673 | ACPI_MADT_TYPE_GENERIC_DISTRIBUTOR = 12, |
| 674 | ACPI_MADT_TYPE_RESERVED = 13 /* 13 and greater are reserved */ | 674 | ACPI_MADT_TYPE_GENERIC_MSI_FRAME = 13, |
| 675 | ACPI_MADT_TYPE_GENERIC_REDISTRIBUTOR = 14, | ||
| 676 | ACPI_MADT_TYPE_RESERVED = 15 /* 15 and greater are reserved */ | ||
| 675 | }; | 677 | }; |
| 676 | 678 | ||
| 677 | /* | 679 | /* |
| @@ -797,15 +799,26 @@ struct acpi_madt_local_x2apic_nmi { | |||
| 797 | struct acpi_madt_generic_interrupt { | 799 | struct acpi_madt_generic_interrupt { |
| 798 | struct acpi_subtable_header header; | 800 | struct acpi_subtable_header header; |
| 799 | u16 reserved; /* reserved - must be zero */ | 801 | u16 reserved; /* reserved - must be zero */ |
| 800 | u32 gic_id; | 802 | u32 cpu_interface_number; |
| 801 | u32 uid; | 803 | u32 uid; |
| 802 | u32 flags; | 804 | u32 flags; |
| 803 | u32 parking_version; | 805 | u32 parking_version; |
| 804 | u32 performance_interrupt; | 806 | u32 performance_interrupt; |
| 805 | u64 parked_address; | 807 | u64 parked_address; |
| 806 | u64 base_address; | 808 | u64 base_address; |
| 809 | u64 gicv_base_address; | ||
| 810 | u64 gich_base_address; | ||
| 811 | u32 vgic_interrupt; | ||
| 812 | u64 gicr_base_address; | ||
| 813 | u64 arm_mpidr; | ||
| 807 | }; | 814 | }; |
| 808 | 815 | ||
| 816 | /* Masks for Flags field above */ | ||
| 817 | |||
| 818 | /* ACPI_MADT_ENABLED (1) Processor is usable if set */ | ||
| 819 | #define ACPI_MADT_PERFORMANCE_IRQ_MODE (1<<1) /* 01: Performance Interrupt Mode */ | ||
| 820 | #define ACPI_MADT_VGIC_IRQ_MODE (1<<2) /* 02: VGIC Maintenance Interrupt mode */ | ||
| 821 | |||
| 809 | /* 12: Generic Distributor (ACPI 5.0) */ | 822 | /* 12: Generic Distributor (ACPI 5.0) */ |
| 810 | 823 | ||
| 811 | struct acpi_madt_generic_distributor { | 824 | struct acpi_madt_generic_distributor { |
| @@ -817,11 +830,36 @@ struct acpi_madt_generic_distributor { | |||
| 817 | u32 reserved2; /* reserved - must be zero */ | 830 | u32 reserved2; /* reserved - must be zero */ |
| 818 | }; | 831 | }; |
| 819 | 832 | ||
| 833 | /* 13: Generic MSI Frame (ACPI 5.1) */ | ||
| 834 | |||
| 835 | struct acpi_madt_generic_msi_frame { | ||
| 836 | struct acpi_subtable_header header; | ||
| 837 | u16 reserved; /* reserved - must be zero */ | ||
| 838 | u32 msi_frame_id; | ||
| 839 | u64 base_address; | ||
| 840 | u32 flags; | ||
| 841 | u16 spi_count; | ||
| 842 | u16 spi_base; | ||
| 843 | }; | ||
| 844 | |||
| 845 | /* Masks for Flags field above */ | ||
| 846 | |||
| 847 | #define ACPI_MADT_OVERRIDE_SPI_VALUES (1) | ||
| 848 | |||
| 849 | /* 14: Generic Redistributor (ACPI 5.1) */ | ||
| 850 | |||
| 851 | struct acpi_madt_generic_redistributor { | ||
| 852 | struct acpi_subtable_header header; | ||
| 853 | u16 reserved; /* reserved - must be zero */ | ||
| 854 | u64 base_address; | ||
| 855 | u32 length; | ||
| 856 | }; | ||
| 857 | |||
| 820 | /* | 858 | /* |
| 821 | * Common flags fields for MADT subtables | 859 | * Common flags fields for MADT subtables |
| 822 | */ | 860 | */ |
| 823 | 861 | ||
| 824 | /* MADT Local APIC flags (lapic_flags) and GIC flags */ | 862 | /* MADT Local APIC flags */ |
| 825 | 863 | ||
| 826 | #define ACPI_MADT_ENABLED (1) /* 00: Processor is usable if set */ | 864 | #define ACPI_MADT_ENABLED (1) /* 00: Processor is usable if set */ |
| 827 | 865 | ||
