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 /include/acpi | |
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>
Diffstat (limited to 'include/acpi')
-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 | ||