search for: limit0

Displaying 8 results from an estimated 8 matches for "limit0".

Did you mean: limit
2007 Apr 18
3
[PATCH 12/21] i386 Deprecate descriptor asm
...t" \ - "movb %4,5(%2)\n\t" \ - "movb $0,6(%2)\n\t" \ - "movb %h1,7(%2)\n\t" \ - "rorl $16,%1" \ - : "=m"(*(n)) : "q" (addr), "r"(n), "ir"(limit), "i"(type)) +struct desc_internal_struct { + unsigned short limit0; + unsigned short base0; + unsigned char base1; + unsigned char type; + unsigned int limit1 : 4; + unsigned int flags : 4; + unsigned char base2; +} __attribute__((packed)); + +static inline struct desc_internal_struct *desc_internal(struct desc_struct *d) +{ + return (struct desc_internal_struct *...
2007 Apr 18
3
[PATCH 12/21] i386 Deprecate descriptor asm
...t" \ - "movb %4,5(%2)\n\t" \ - "movb $0,6(%2)\n\t" \ - "movb %h1,7(%2)\n\t" \ - "rorl $16,%1" \ - : "=m"(*(n)) : "q" (addr), "r"(n), "ir"(limit), "i"(type)) +struct desc_internal_struct { + unsigned short limit0; + unsigned short base0; + unsigned char base1; + unsigned char type; + unsigned int limit1 : 4; + unsigned int flags : 4; + unsigned char base2; +} __attribute__((packed)); + +static inline struct desc_internal_struct *desc_internal(struct desc_struct *d) +{ + return (struct desc_internal_struct *...
2007 Dec 13
2
[PATCH] avoid ifdefs in desc.h, getting rid of pack_ldt and pack_tss
...125,6 @@ static inline void native_write_gdt_entry(struct desc_struct *gdt, int entry, memcpy(&gdt[entry], desc, size); } -static inline void set_tssldt_descriptor(struct ldttss_desc64 *d, - unsigned long tss, unsigned type, - unsigned size) -{ - memset(d, 0, sizeof(*d)); - d->limit0 = size & 0xFFFF; - d->base0 = PTR_LOW(tss); - d->base1 = PTR_MIDDLE(tss) & 0xFF; - d->type = type; - d->p = 1; - d->limit1 = (size >> 16) & 0xF; - d->base2 = (PTR_MIDDLE(tss) >> 8) & 0xFF; - d->base3 = PTR_HIGH(tss); -} - static inline void pack_des...
2007 Dec 13
2
[PATCH] avoid ifdefs in desc.h, getting rid of pack_ldt and pack_tss
...125,6 @@ static inline void native_write_gdt_entry(struct desc_struct *gdt, int entry, memcpy(&gdt[entry], desc, size); } -static inline void set_tssldt_descriptor(struct ldttss_desc64 *d, - unsigned long tss, unsigned type, - unsigned size) -{ - memset(d, 0, sizeof(*d)); - d->limit0 = size & 0xFFFF; - d->base0 = PTR_LOW(tss); - d->base1 = PTR_MIDDLE(tss) & 0xFF; - d->type = type; - d->p = 1; - d->limit1 = (size >> 16) & 0xF; - d->base2 = (PTR_MIDDLE(tss) >> 8) & 0xFF; - d->base3 = PTR_HIGH(tss); -} - static inline void pack_des...
2007 Dec 06
51
[PATCH 0/19] desc_struct integration
Hi, this is a series of patches that unify the struct desc_struct and friends across x86_64 and i386. As usual, it provides paravirt capabilities as a side-effect for x86_64. I consider the main goal, namely, of unifying the desc_struct, an ongoing effort, being this the beginning. A lot of old code has to be touched to accomplish that. I don't consider this patch ready for inclusion.
2007 Dec 06
51
[PATCH 0/19] desc_struct integration
Hi, this is a series of patches that unify the struct desc_struct and friends across x86_64 and i386. As usual, it provides paravirt capabilities as a side-effect for x86_64. I consider the main goal, namely, of unifying the desc_struct, an ongoing effort, being this the beginning. A lot of old code has to be touched to accomplish that. I don't consider this patch ready for inclusion.
2007 Apr 18
1
[RFC/PATCH LGUEST X86_64 03/13] lguest64 core
...est_free_guest_pages(linfo); +} + +#if 0 +static void print_tss(struct ldttss_desc *tss) +{ + u64 base; + u64 limit; + int i; + u16 iobp = 0x64; + + base = (tss->base0) + ((u64)tss->base1 << 16) + + ((u64)tss->base2 << 24) + ((u64)tss->base3 << 32); + limit = (tss->limit0) + ((u64)tss->limit1 << 16); + if (tss->g) + limit <<= 12; + printk(" base: %016llx\n", base); + printk(" limit: %llx\n", limit); + printk(" type: %x\n", tss->type); + printk(" dpl: %d\n", tss->dpl); + printk("...
2007 Apr 18
1
[RFC/PATCH LGUEST X86_64 03/13] lguest64 core
...est_free_guest_pages(linfo); +} + +#if 0 +static void print_tss(struct ldttss_desc *tss) +{ + u64 base; + u64 limit; + int i; + u16 iobp = 0x64; + + base = (tss->base0) + ((u64)tss->base1 << 16) + + ((u64)tss->base2 << 24) + ((u64)tss->base3 << 32); + limit = (tss->limit0) + ((u64)tss->limit1 << 16); + if (tss->g) + limit <<= 12; + printk(" base: %016llx\n", base); + printk(" limit: %llx\n", limit); + printk(" type: %x\n", tss->type); + printk(" dpl: %d\n", tss->dpl); + printk("...