• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_MPSPEC_DEF_H
20 #define __ASM_MPSPEC_DEF_H
21 #define SMP_MAGIC_IDENT (('_'<<24)|('P'<<16)|('M'<<8)|'_')
22 #define MAX_MPC_ENTRY 1024
23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24 #define MAX_APICS 256
25 struct intel_mp_floating
26 {
27  char mpf_signature[4];
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29  unsigned long mpf_physptr;
30  unsigned char mpf_length;
31  unsigned char mpf_specification;
32  unsigned char mpf_checksum;
33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34  unsigned char mpf_feature1;
35  unsigned char mpf_feature2;
36  unsigned char mpf_feature3;
37  unsigned char mpf_feature4;
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39  unsigned char mpf_feature5;
40 };
41 struct mp_config_table
42 {
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44  char mpc_signature[4];
45 #define MPC_SIGNATURE "PCMP"
46  unsigned short mpc_length;
47  char mpc_spec;
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49  char mpc_checksum;
50  char mpc_oem[8];
51  char mpc_productid[12];
52  unsigned long mpc_oemptr;
53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54  unsigned short mpc_oemsize;
55  unsigned short mpc_oemcount;
56  unsigned long mpc_lapic;
57  unsigned long reserved;
58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59 };
60 #define MP_PROCESSOR 0
61 #define MP_BUS 1
62 #define MP_IOAPIC 2
63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64 #define MP_INTSRC 3
65 #define MP_LINTSRC 4
66 #define MP_TRANSLATION 192
67 struct mpc_config_processor
68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69 {
70  unsigned char mpc_type;
71  unsigned char mpc_apicid;
72  unsigned char mpc_apicver;
73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74  unsigned char mpc_cpuflag;
75 #define CPU_ENABLED 1
76 #define CPU_BOOTPROCESSOR 2
77  unsigned long mpc_cpufeature;
78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79 #define CPU_STEPPING_MASK 0x0F
80 #define CPU_MODEL_MASK 0xF0
81 #define CPU_FAMILY_MASK 0xF00
82  unsigned long mpc_featureflag;
83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84  unsigned long mpc_reserved[2];
85 };
86 struct mpc_config_bus
87 {
88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89  unsigned char mpc_type;
90  unsigned char mpc_busid;
91  unsigned char mpc_bustype[6];
92 };
93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94 #define BUSTYPE_EISA "EISA"
95 #define BUSTYPE_ISA "ISA"
96 #define BUSTYPE_INTERN "INTERN"
97 #define BUSTYPE_MCA "MCA"
98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99 #define BUSTYPE_VL "VL"
100 #define BUSTYPE_PCI "PCI"
101 #define BUSTYPE_PCMCIA "PCMCIA"
102 #define BUSTYPE_CBUS "CBUS"
103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104 #define BUSTYPE_CBUSII "CBUSII"
105 #define BUSTYPE_FUTURE "FUTURE"
106 #define BUSTYPE_MBI "MBI"
107 #define BUSTYPE_MBII "MBII"
108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109 #define BUSTYPE_MPI "MPI"
110 #define BUSTYPE_MPSA "MPSA"
111 #define BUSTYPE_NUBUS "NUBUS"
112 #define BUSTYPE_TC "TC"
113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114 #define BUSTYPE_VME "VME"
115 #define BUSTYPE_XPRESS "XPRESS"
116 struct mpc_config_ioapic
117 {
118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119  unsigned char mpc_type;
120  unsigned char mpc_apicid;
121  unsigned char mpc_apicver;
122  unsigned char mpc_flags;
123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124 #define MPC_APIC_USABLE 0x01
125  unsigned long mpc_apicaddr;
126 };
127 struct mpc_config_intsrc
128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129 {
130  unsigned char mpc_type;
131  unsigned char mpc_irqtype;
132  unsigned short mpc_irqflag;
133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134  unsigned char mpc_srcbus;
135  unsigned char mpc_srcbusirq;
136  unsigned char mpc_dstapic;
137  unsigned char mpc_dstirq;
138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139 };
140 enum mp_irq_source_types {
141  mp_INT = 0,
142  mp_NMI = 1,
143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144  mp_SMI = 2,
145  mp_ExtINT = 3
146 };
147 #define MP_IRQDIR_DEFAULT 0
148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149 #define MP_IRQDIR_HIGH 1
150 #define MP_IRQDIR_LOW 3
151 struct mpc_config_lintsrc
152 {
153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154  unsigned char mpc_type;
155  unsigned char mpc_irqtype;
156  unsigned short mpc_irqflag;
157  unsigned char mpc_srcbusid;
158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159  unsigned char mpc_srcbusirq;
160  unsigned char mpc_destapic;
161 #define MP_APIC_ALL 0xFF
162  unsigned char mpc_destapiclint;
163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164 };
165 struct mp_config_oemtable
166 {
167  char oem_signature[4];
168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169 #define MPC_OEM_SIGNATURE "_OEM"
170  unsigned short oem_length;
171  char oem_rev;
172  char oem_checksum;
173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174  char mpc_oem[8];
175 };
176 struct mpc_config_translation
177 {
178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179  unsigned char mpc_type;
180  unsigned char trans_len;
181  unsigned char trans_type;
182  unsigned char trans_quad;
183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184  unsigned char trans_global;
185  unsigned char trans_local;
186  unsigned short trans_reserved;
187 };
188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189 enum mp_bustype {
190  MP_BUS_ISA = 1,
191  MP_BUS_EISA,
192  MP_BUS_PCI,
193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194  MP_BUS_MCA,
195 };
196 #endif
197