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>
25union 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};
37union 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};
50union 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};
60union 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 */
69enum 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};
81struct 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