Home | History | Annotate | Download | only in asm
      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