The ACPI 6.3 specification introduces a 'SPE overflow Interrupt' field as part of the GICC structure. Update the MADT parser to decode this field and validate the interrupt ID used. References: - ACPI 6.3 Specification - January 2019 - Arm Generic Interrupt Controller Architecture Specification, GIC architecture version 3 and version 4, issue E - Arm Server Base System Architecture 5.0 Signed-off-by: Krzysztof Koch <krzysztof.koch@arm.com> Reviewed-by: Alexei Fedorov <Alexei.Fedorov@arm.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com> Reviewed-by: Zhichao Gao <zhichao.gao@intel.com>
		
			
				
	
	
		
			41 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /** @file
 | |
|   Header file for MADT table parser
 | |
| 
 | |
|   Copyright (c) 2019, ARM Limited. All rights reserved.
 | |
|   SPDX-License-Identifier: BSD-2-Clause-Patent
 | |
| 
 | |
|   @par Reference(s):
 | |
|     - Arm Generic Interrupt Controller Architecture Specification,
 | |
|       GIC architecture version 3 and version 4, issue E
 | |
|     - Arm Server Base System Architecture 5.0
 | |
| **/
 | |
| 
 | |
| #ifndef MADT_PARSER_H_
 | |
| #define MADT_PARSER_H_
 | |
| 
 | |
| ///
 | |
| /// Level 3 base server system Private Peripheral Inerrupt (PPI) ID assignments
 | |
| ///
 | |
| #define ARM_PPI_ID_OVERFLOW_INTERRUPT_FROM_CNTP       30
 | |
| #define ARM_PPI_ID_OVERFLOW_INTERRUPT_FROM_CNTPS      29
 | |
| #define ARM_PPI_ID_OVERFLOW_INTERRUPT_FROM_CNTHV      28
 | |
| #define ARM_PPI_ID_OVERFLOW_INTERRUPT_FROM_CNTV       27
 | |
| #define ARM_PPI_ID_OVERFLOW_INTERRUPT_FROM_CNTHP      26
 | |
| #define ARM_PPI_ID_GIC_MAINTENANCE_INTERRUPT          25
 | |
| #define ARM_PPI_ID_CTIIRQ                             24
 | |
| #define ARM_PPI_ID_PERFORMANCE_MONITORS_INTERRUPT     23
 | |
| #define ARM_PPI_ID_COMMIRQ                            22
 | |
| #define ARM_PPI_ID_PMBIRQ                             21
 | |
| #define ARM_PPI_ID_CNTHPS                             20
 | |
| #define ARM_PPI_ID_CNTHVS                             19
 | |
| 
 | |
| ///
 | |
| /// PPI ID allowed ranges
 | |
| ///
 | |
| #define ARM_PPI_ID_MAX              31
 | |
| #define ARM_PPI_ID_MIN              16
 | |
| #define ARM_PPI_ID_EXTENDED_MAX     1119
 | |
| #define ARM_PPI_ID_EXTENDED_MIN     1056
 | |
| 
 | |
| #endif // MADT_PARSER_H_
 |