Lines Matching refs:desc

16 static inline void fill_ldt(struct desc_struct *desc, const struct user_desc *info)
18 desc->limit0 = info->limit & 0x0ffff;
20 desc->base0 = (info->base_addr & 0x0000ffff);
21 desc->base1 = (info->base_addr & 0x00ff0000) >> 16;
23 desc->type = (info->read_exec_only ^ 1) << 1;
24 desc->type |= info->contents << 2;
26 desc->type |= 1;
28 desc->s = 1;
29 desc->dpl = 0x3;
30 desc->p = info->seg_not_present ^ 1;
31 desc->limit1 = (info->limit & 0xf0000) >> 16;
32 desc->avl = info->useable;
33 desc->d = info->seg_32bit;
34 desc->g = info->limit_in_pages;
36 desc->base2 = (info->base_addr & 0xff000000) >> 24;
41 desc->l = 0;
103 const u32 *desc = ptr;
105 return !(desc[0] | desc[1]);
123 #define write_ldt_entry(dt, entry, desc) native_write_ldt_entry(dt, entry, desc)
124 #define write_gdt_entry(dt, entry, desc, type) native_write_gdt_entry(dt, entry, desc, type)
143 static inline void native_write_ldt_entry(struct desc_struct *ldt, int entry, const void *desc)
145 memcpy(&ldt[entry], desc, 8);
149 native_write_gdt_entry(struct desc_struct *gdt, int entry, const void *desc, int type)
159 memcpy(&gdt[entry], desc, size);
165 struct ldttss_desc *desc = d;
167 memset(desc, 0, sizeof(*desc));
169 desc->limit0 = (u16) size;
170 desc->base0 = (u16) addr;
171 desc->base1 = (addr >> 16) & 0xFF;
172 desc->type = type;
173 desc->p = 1;
174 desc->limit1 = (size >> 16) & 0xF;
175 desc->base2 = (addr >> 24) & 0xFF;
177 desc->base3 = (u32) (addr >> 32);
383 static inline unsigned long get_desc_base(const struct desc_struct *desc)
385 return (unsigned)(desc->base0 | ((desc->base1) << 16) | ((desc->base2) << 24));
388 static inline void set_desc_base(struct desc_struct *desc, unsigned long base)
390 desc->base0 = base & 0xffff;
391 desc->base1 = (base >> 16) & 0xff;
392 desc->base2 = (base >> 24) & 0xff;
395 static inline unsigned long get_desc_limit(const struct desc_struct *desc)
397 return desc->limit0 | (desc->limit1 << 16);
400 static inline void set_desc_limit(struct desc_struct *desc, unsigned long limit)
402 desc->limit0 = limit & 0xffff;
403 desc->limit1 = (limit >> 16) & 0xf;