blob: 32b46e1d4d3892fbc68b99d368c429a102d5e1b5 [file] [log] [blame]
Dan Albert287553d2017-02-16 10:47:51 -08001/****************************************************************************
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 __ARCH_DESC_DEFS_H
20#define __ARCH_DESC_DEFS_H
21#ifndef __ASSEMBLY__
22#include <linux/types.h>
23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24struct desc_struct {
25 u16 limit0;
26 u16 base0;
27 unsigned base1 : 8, type : 4, s : 1, dpl : 2, p : 1;
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 unsigned limit : 4, avl : 1, l : 1, d : 1, g : 1, base2 : 8;
30} __attribute__((packed));
31struct n_desc_struct {
32 unsigned int a,b;
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34};
35enum {
36 GATE_INTERRUPT = 0xE,
37 GATE_TRAP = 0xF,
38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39 GATE_CALL = 0xC,
40};
41struct gate_struct {
42 u16 offset_low;
43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44 u16 segment;
45 unsigned ist : 3, zero0 : 5, type : 5, dpl : 2, p : 1;
46 u16 offset_middle;
47 u32 offset_high;
48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49 u32 zero1;
50} __attribute__((packed));
51#define PTR_LOW(x) ((unsigned long)(x) & 0xFFFF)
52#define PTR_MIDDLE(x) (((unsigned long)(x) >> 16) & 0xFFFF)
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54#define PTR_HIGH(x) ((unsigned long)(x) >> 32)
55enum {
56 DESC_TSS = 0x9,
57 DESC_LDT = 0x2,
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59};
60struct ldttss_desc {
61 u16 limit0;
62 u16 base0;
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64 unsigned base1 : 8, type : 5, dpl : 2, p : 1;
65 unsigned limit1 : 4, zero0 : 3, g : 1, base2 : 8;
66 u32 base3;
67 u32 zero1;
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69} __attribute__((packed));
70struct desc_ptr {
71 unsigned short size;
72 unsigned long address;
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74} __attribute__((packed)) ;
75#endif
76#endif