1 /**************************************************************************** 2 **************************************************************************** 3 *** 4 *** This header was automatically generated from a Linux kernel header 5 *** of the same name, to make information necessary for userspace to 6 *** call into the kernel available to libc. It contains only constants, 7 *** structures, and macros generated from the original header, and thus, 8 *** contains no copyrightable information. 9 *** 10 *** To edit the content of this header, modify the corresponding 11 *** source file (e.g. under external/kernel-headers/original/) then 12 *** run bionic/libc/kernel/tools/update_all.py 13 *** 14 *** Any manual change here will be lost the next time this script will 15 *** be run. You've been warned! 16 *** 17 **************************************************************************** 18 ****************************************************************************/ 19 #ifndef __ASM_IO_APIC_H 20 #define __ASM_IO_APIC_H 21 #include <asm/types.h> 22 #include <asm/mpspec.h> 23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 24 #include <asm/apicdef.h> 25 union IO_APIC_reg_00 { 26 u32 raw; 27 struct { 28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 29 u32 __reserved_2 : 14, 30 LTS : 1, 31 delivery_type : 1, 32 __reserved_1 : 8, 33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 34 ID : 8; 35 } __attribute__ ((packed)) bits; 36 }; 37 union IO_APIC_reg_01 { 38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 39 u32 raw; 40 struct { 41 u32 version : 8, 42 __reserved_2 : 7, 43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 44 PRQ : 1, 45 entries : 8, 46 __reserved_1 : 8; 47 } __attribute__ ((packed)) bits; 48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 49 }; 50 union IO_APIC_reg_02 { 51 u32 raw; 52 struct { 53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 54 u32 __reserved_2 : 24, 55 arbitration : 4, 56 __reserved_1 : 4; 57 } __attribute__ ((packed)) bits; 58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 59 }; 60 union IO_APIC_reg_03 { 61 u32 raw; 62 struct { 63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 64 u32 boot_DT : 1, 65 __reserved_1 : 31; 66 } __attribute__ ((packed)) bits; 67 }; 68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 69 enum ioapic_irq_destination_types { 70 dest_Fixed = 0, 71 dest_LowestPrio = 1, 72 dest_SMI = 2, 73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 74 dest__reserved_1 = 3, 75 dest_NMI = 4, 76 dest_INIT = 5, 77 dest__reserved_2 = 6, 78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 79 dest_ExtINT = 7 80 }; 81 struct IO_APIC_route_entry { 82 __u32 vector : 8, 83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 84 delivery_mode : 3, 85 dest_mode : 1, 86 delivery_status : 1, 87 polarity : 1, 88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 89 irr : 1, 90 trigger : 1, 91 mask : 1, 92 __reserved_2 : 15; 93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 94 union { struct { __u32 95 __reserved_1 : 24, 96 physical_dest : 4, 97 __reserved_2 : 4; 98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 99 } physical; 100 struct { __u32 101 __reserved_1 : 24, 102 logical_dest : 8; 103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 104 } logical; 105 } dest; 106 } __attribute__ ((packed)); 107 #define io_apic_assign_pci_irqs 0 108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 109 #endif 110