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
25struct 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};
41struct 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
67struct 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};
86struct 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"
116struct 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};
127struct 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};
140enum 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
151struct 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};
165struct 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};
176struct 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 */
189enum 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